【模板】完全背包问题 有 N 件物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 件物品的体积是 **vi**,价值是 **wi**。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 vi, **wi**,用空格隔开,分别表示第 i 件物品的体积和价值。 输 2021-03-25 模板 #背包问题 | DP
【模板】01背包问题 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 *vi*,价值是 *wi*。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 vi, *wi*,用空格隔开,分别表示第 i 件物品的体积和价值。 输出格式输出一个 2021-03-24 模板 #背包问题 | DP
【模板】逆序对的数量 给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。 题解 输入格式第一行包含整数n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。 输出格式输出一个整数,表示逆序对的个数。 数据范围1≤n≤100000 输入样例:1262 3 4 2021-03-09 模板 #归并排序
【模板】筛质数 给定一个正整数n,请你求出1~n中质数的个数。 输入格式共一行,包含整数n。 输出格式共一行,包含一个整数,表示1~n中质数的个数。 数据范围1≤n≤106 输入样例:18 输出样例14 模板123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555 2021-03-07 模板 #数学知识 | 质数 | 线性筛法 | 筛法求素数
【模板】分解质因数 给定n个正整数ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。 输入格式第一行包含整数n。 接下来n行,每行包含一个正整数ai。 输出格式对于每个正整数ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。 每个正整数的质因数全部输出完毕后,输出一个空行。 数据范围1≤n≤100,1≤ai≤2∗109 输入样例:123268 输 2021-03-07 模板 #数学知识 | 分解质因数 | 试除法
【模板】试除法判定质数 给定n个正整数ai,判定每个数是否是质数。 输入格式第一行包含整数n。 接下来n行,每行包含一个正整数ai。 输出格式共n行,其中第 i 行输出第 i 个正整数ai是否为质数,是则输出“Yes”,否则输出“No”。 数据范围1 ≤ n ≤ 100,1 ≤ ai ≤ 231−1 输入样例:123226 输出样例12YesNo 模板123456789101112131415161718192021 2021-03-07 模板 #数学知识 | 试除法 | 质数
【模板】二分图的最大匹配 给定一个二分图,其中左半部包含n1个点(编号1 ~ n1)右半部包含n2个点(编号1 ~ n2),二分图共包含m条边。 数据保证任意一条边的两个端点都不可能在同一部分中。 请你求出二分图的最大匹配数。 二分图的匹配:给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。二分图的最大匹配:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配, 2021-03-07 模板 #匈牙利算法
【模板】染色法判定二分图 给定一个n个点m条边的无向图,图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式第一行包含两个整数n和m。 接下来m行,每行包含两个整数u和v,表示点u和点v之间存在一条边。 输出格式如果给定图是二分图,则输出“Yes”,否则输出“No”。 数据范围1≤n,m≤10^5 输入样例:123454 41 31 42 32 4 输出样例1Yes 模板12345678910111213 2021-03-06 模板 #二分图判定 | 染色法
【模板】Kruskal算法求最小生成树 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。 由V中的全部n个顶点和E中n-1条边构成的无向连通子图被称为G的一棵生成树,其中边的权值之和最小的生成树被称 2021-03-06 模板 #最小生成树 | Kruskal
【模板】Prim算法求最小生成树 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。 由V中的全部n个顶点和E中n-1条边构成的无向连通子图被称为G的一棵生成树,其中边的权值之和最小的生成树被称 2021-03-05 模板 #最小生成树 | Prim