自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 约数之和.

给定 nn 个正整数 aiai,请你输出这些数的乘积的约数之和,答案对 109+7109+7 取模。输出一个整数,表示所给正整数的乘积的约数之和,答案需对 109+7109+7 取模。约数的和=(p1^0+p1^2+p1^3...p1^t1)+(p2^0......t=t*p+1即可得出p^0+p^1+p^2+p^3......写成质约数相乘的形式 ai=p1^t1+p2^t2.....接下来 nn 行,每行包含一个整数 aiai。第一行包含整数 nn。

2022-11-06 17:22:05 149

原创 约数个数。

给定 nn 个正整数 aiai,请你输出这些数的乘积的约数个数,答案对 109+7109+7 取模。输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7109+7 取模。将每个数写成质因数相乘的形式:ai=p1^t1*p2^t2*p3^t3……约数的个数=质约数的指数+1相乘 (t1+1)*(t2+1)……接下来 nn 行,每行包含一个整数 aiai。第一行包含整数 nn。

2022-11-06 17:05:56 143

原创 背包问题求具体方案

如果f(1,m)=f(2,m)=f(2,m−v[1])+w[1]f(1,m)=f(2,m)=f(2,m−v[1])+w[1],说明选不选都可以得到最优解,但是为了考虑字典序最小,我们也需要选取该物品。如果f(1,m)=f(2,m−v[1])+w[1]f(1,m)=f(2,m−v[1])+w[1],说明选取了第1个物品可以得到最优解。如果f(1,m)=f(2,m)f(1,m)=f(2,m),说明不选取第一个物品才能得到最优解。第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。

2022-11-01 19:27:39 104

原创 最长公共上升子序列

小沐沐说,对于两个数列 AA 和 BB,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。f[i][j]:a序列前i个,b序列前j个且以b[j] 结尾的最大长度。第一行包含一个整数 NN,表示数列 A,BA,B 的长度。输出一个整数,表示最长公共上升子序列的长度。不过,只要告诉奶牛它的长度就可以了。

2022-11-01 19:23:43 108

原创 通信线路(spfa,二分)

农产主可以指定一条从 11 号基站到 NN 号基站的路径,并指定路径上不超过 KK 条电缆,由电话公司免费提供升级服务。第 2..P+12..P+1 行:第 i+1i+1 行包含三个整数 Ai,Bi,LiAi,Bi,Li。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。特别地,11 号基站是通信公司的总站,NN 号基站位于一座农场中。若 11 号基站与 NN 号基站之间不存在路径,则输出 −1−1。第 11 行:三个整数 N,P,KN,P,K。求至少用多少钱可以完成升级。

2022-10-22 15:09:56 126

原创 筛质数。。

i%peimes[j]==0//说明primes[j]一定是i的最小质因子或小于最小质因子。给定一个正整数 nn,请你求出 1∼n1∼n 中质数的个数。共一行,包含一个整数,表示 1∼n1∼n 中质数的个数。每个数只会被最小质因子筛掉。共一行,包含整数 nn。

2022-10-21 19:49:19 85

原创 礼物的最大价值

在一个 m×nm×n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 00)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请计算你最多能拿到多少价值的礼物?由于g数组每个数字只用一次 可以优化 将g数组成为f数组。f数组:表示到达每个位置的最大的价值。

2022-10-10 18:31:37 74

原创 滑雪(dp)

在给定矩阵中,最长的滑行轨迹为 25−24−23−…−3−2−125−24−23−…现在给定你一个二维矩阵表示滑雪场各区域的高度,请你找出在该滑雪场中能够完成的最长滑雪轨迹,并输出其长度(可经过最大区域数)。矩阵中第 ii 行第 jj 列的点表示滑雪场的第 ii 行第 jj 列区域的高度。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。在给定矩阵中,一条可行的滑行轨迹为 24−17−2−124−17−2−1。给定一个 RR 行 CC 列的矩阵,表示一个矩形网格滑雪场。

2022-10-10 17:13:12 113

原创 没有上司的舞会(dfs,dp)

在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。接下来 N−1N−1 行,每行输入一对整数 L,KL,K,表示 KK 是 LL 的直接上司。每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N1≤i≤N。接下来 NN 行,第 ii 行表示 ii 号职员的快乐指数 HiHi。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。第一行一个整数 NN。输出最大的快乐指数。

2022-10-10 16:42:33 118

原创 最短Hamilton路径

对于任意的 x,y,zx,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x]a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]a[x,y]+a[y,z]≥a[x,z]。给定一张 nn 个点的带权无向图,点从 0∼n−10∼n−1 标号,求起点 00 到终点 n−1n−1 的最短 Hamilton 路径。接下来 nn 行每行 nn 个整数,其中第 ii 行第 jj 个整数表示点 ii 到 jj 的距离(记为 a[i,j]a[i,j])。

2022-10-09 19:22:34 117

原创 蒙德里安的梦想

例如当 N=2,M=4N=2,M=4 时,共有 55 种方案。当 N=2,M=3N=2,M=3 时,共有 33 种方案。求把 N×MN×M 的棋盘分割成若干个 1×21×2 的长方形,有多少种方案。当输入用例 N=0,M=0N=0,M=0 时,表示输入终止,且该用例无需处理。每组测试用例占一行,包含两个整数 NN 和 MM。遍历横放的可能再判断空着的位置是否都为连续的偶数。每个测试用例输出一个结果,每个结果占一行。上一行横放的不能与这一行横放的位置一样。输入包含多组测试用例。

2022-10-09 17:38:45 484

原创 找最短(KMP)

他用复制灯复制出了超级多的切糕,然后把它们粘在一起。哆啦A梦发现后,横刀夺爱,只给小tao留下来了其中的一截,留下来的这一截用字符串s进行表示。小tao一天偶然从哆啦A梦那里偷走了”复制灯”,小tao一直以来有一个伟大的愿望,就是有吃不完的切糕。我们将初始的切糕用字符串t进行表示。+t(足够长)的子序列,同时初始的切糕t是不确定的。所以,给你字符串s,请机智的你求出小tao初始切糕。第一行输入一个数字n(1≤n≤1000000),表示s的长度。接下来一行输入字符串s,保证s仅由小写字母组成。

2022-10-03 22:08:15 104

原创 KMP字符串

找出短字符串的每个位置前字符串的最长相同前后缀的长度;当字符不匹配时 ,只需要向后移动此字符对应的最长前后缀长度。给定一个字符串 SS,以及一个模式串 PP,所有字符串中只包含大小写英文字母以及阿拉伯数字。共一行,输出所有出现位置的起始下标(下标从 00 开始计数),整数之间用空格隔开。求出模式串 PP 在字符串 SS 中所有出现的位置的起始下标。模式串 PP 在字符串 SS 中多次作为子串出现。第一行输入整数 NN,表示字符串 PP 的长度。第三行输入整数 MM,表示字符串 SS 的长度。

2022-10-02 21:54:40 92

原创 别走泥坑。

判断正在搜索的点的上下左右四个方向的点是否符合要求,即 在图的范围中,且不是泥地,且没有被搜索过(让每个点的距离为第一次搜索到的距离,即可使其对应的距离最小),如果符合要求,即这个点的距离为正在搜索的点的距离加1,再将这个点放入队列中。

2022-09-26 17:52:32 99

原创 整数划分(动态规划)

一个正整数 nn 可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中 n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数 nn 的一种划分。现在给定一个正整数 nn,请你求出 nn 共有多少种不同的划分方法。输入格式共一行,包含一个整数 nn。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对 109+7109+7 取模。数据范围1≤n≤1000题解:完全背包f[i][j]: 从1到i中选,总

2022-09-24 17:12:14 174

原创 石子合并(动态规划问题)

每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。合并的过程 将两堆 合并为i,j一堆,则假设一个k为第一堆最后一个坐标,循环k找出k最小的位置。,最后一次合并代价为 1111,总代价为 4+7+11=224+7+11=22。设有 NN 堆石子排成一排,其编号为 1,2,3,…如果第二步是先合并 2,32,3 堆,则代价为 77,得到。, 又合并 1,21,2 堆,代价为 99,得到。

2022-09-24 15:10:47 299

原创 编辑距离。

对于每次询问,请你求出给定的 nn 个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。给定 nn 个长度不超过 1010 的字符串以及 mm 次询问,每次询问给出一个字符串和一个操作次数上限。输出共 mm 行,每行输出一个整数作为结果,表示一次询问中满足条件的字符串个数。再接下来 mm 行,每行包含一个字符串和一个整数,表示一次询问。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。接下来 nn 行,每行包含一个字符串,表示给定的字符串。题解:与最短编辑距离相同。

2022-09-22 09:26:54 76

原创 最短编辑距离

f[i][j]的结果只有三种情况i-1,j加一个字符;i,j-1减一个字符;i,j改一个字符(如果i==j则不用增加步骤数量;设f[i][j]为可以使a数组前i个和b数组前j个匹配时的最短步骤。现在请你求出,将 AA 变为 BB 至少需要进行多少次操作。第一行包含整数 nn,表示字符串 AA 的长度。第三行包含整数 mm,表示字符串 BB 的长度。第二行包含一个长度为 nn 的字符串 AA。第四行包含一个长度为 mm 的字符串 BB。输出一个整数,表示最少操作次数。字符串中均只包含大小写字母。

2022-09-22 09:02:00 320

原创 二分图的最大匹配

二分图的匹配:给定一个二分图 GG,在 GG 的一个子图 MM 中,MM 的边集 {E}{E} 中的任意两条边都不依附于同一个顶点,则称 MM 是一个匹配。给定一个二分图,其中左半部包含 n1n1 个点(编号 1∼n11∼n1),右半部包含 n2n2 个点(编号 1∼n21∼n2),二分图共包含 mm 条边。二分图的最大匹配:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配,其边数即为最大匹配数。输出一个整数,表示二分图的最大匹配数。请你求出二分图的最大匹配数。

2022-09-21 20:40:55 205

原创 色法判定二分图

接下来 mm 行,每行包含两个整数 uu 和 vv,表示点 uu 和点 vv 之间存在一条边。染色法:将每个点染色为1或2,其过程中不存在相邻的点染为相同颜色,则说明次图为二分图。二分图:将每个点放入两个集合中,二分图的所有边都在集合之间,集合内部没有边。给定一个 nn 个点 mm 条边的无向图,图中可能存在重边和自环。第一行包含两个整数 nn 和 mm。即 不存在奇数边的环。请你判断这个图是否是二分图。如果给定图是二分图,则输出。

2022-09-21 18:20:07 134

原创 Prim算法求最小生成树

由 VV 中的全部 nn 个顶点和 EE 中 n−1n−1 条边构成的无向连通子图被称为 GG 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 GG 的最小生成树。图的最小生成树,就是在这些边中选择N-1条出来,连接所有的N个点。给定一张边带权的无向图 G=(V,E)G=(V,E),其中 VV 表示图中点的集合,EE 表示图中边的集合,n=|V|n=|V|,m=|E|m=|E|。共一行,若存在最小生成树,则输出一个整数,表示最小生成树的树边权重之和,如果最小生成树不存在则输出。

2022-09-19 20:16:15 222 1

原创 Floyd求最短路

再给定 kk 个询问,每个询问包含两个整数 xx 和 yy,表示查询从点 xx 到点 yy 的最短距离,如果路径不存在,则输出。接下来 mm 行,每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。接下来 kk 行,每行包含两个整数 x,yx,y,表示询问点 xx 到点 yy 的最短距离。给定一个 nn 个点 mm 条边的有向图,图中可能存在重边和自环,边权可能为负数。共 kk 行,每行输出一个整数,表示询问的结果,若询问两点间不存在路径,则输出。

2022-09-13 20:44:27 60

原创 spfa判断负环

接下来 mm 行每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。给定一个 nn 个点 mm 条边的有向图,图中可能存在重边和自环,spfa算法:只有被更新距离的点 才会更新其他点的距离。因为不一定负环是从一可以到达的 所以先将所有点加入队列。图中涉及边长绝对值均不超过 1000010000。判断负环:最短路中有大于等于n条边的 则说明有负环。第一行包含整数 nn 和 mm。请你判断图中是否存在负权回路。

2022-09-13 18:39:15 153

原创 spfa求最短路

接下来 mm 行每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。请你求出 11 号点到 nn 号点的最短距离,如果无法从 11 号点走到 nn 号点,则输出。将更新距离的点存入队列中 (只有被更新距离的点,才会更新其他点的距离)给定一个 nn 个点 mm 条边的有向图,图中可能存在重边和自环,再遍历与这点相连的边,查找是否存在可以被这个点更新距离的边了。输出一个整数,表示 11 号点到 nn 号点的最短距离。如果路径不存在,则输出。

2022-09-02 18:18:41 76

原创 有边数限制的最短路

接下来 mm 行,每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。请你求出从 11 号点到 nn 号点的最多经过 kk 条边的最短距离,如果无法从 11 号点走到 nn 号点,输出。输出一个整数,表示从 11 号点到 nn 号点的最多经过 kk 条边的最短距离。给定一个 nn 个点 mm 条边的有向图,图中可能存在重边和自环,last数组:防止在同一循环中已经被尝试过的边影响后面的边的结果。在每一次循环中再循环每一条边:找到每点的最短路情况。

2022-09-02 16:44:46 171

原创 Dijkstra求最短路 I

2 dijkstra算法:从未确定距1最短距离的点中找到距离1最近的点,则这个点到1的距离确定 并将与这个点相连的点的距离更新使得其与1的距离最短,以此类推n-1遍,便可将所有点的距离确定(n-1个点的距离确定后第n个点的距离也不会再发生变化,所以不需要找第n次)接下来 mm 行每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。请你求出 11 号点到 nn 号点的最短距离,如果无法从 11 号点走到 nn 号点,则输出 −1−1。...

2022-08-29 19:28:29 56

原创 有向图的拓扑序列(建立邻接表,拓扑排列)

若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y)(x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。接下来 mm 行,每行包含两个整数 x 和 y,表示存在一条从点 x 到点y 的有向边 (x,y)(x,y)。给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1。共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。第一行包含两个整数 n 和 m。...

2022-08-15 22:46:24 601

原创 图中点的层次(bfs)

接下来 m 行,每行包含两个整数 a 和 b,表示存在一条从 a 走到 b 的长度为 1 的边。请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。输出一个整数,表示 1 号点到 n 号点的最短距离。所有边的长度都是 1,点的编号为 1∼n。第一行包含两个整数 n 和 m。...

2022-08-15 21:09:17 113

原创 树的重心(建立邻接表、dfs)

题目:给定一颗树,树中包含nn个结点(编号1∼n1∼n)和n−1n−1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数nn,表示树的结点数。接下来n−1n−1行,每行包含两个整数aa和bb,表示点aa和点bb之间存在一条边。输出格式输出一个整数mm,表示将重心删除后,剩余各个连通...

2022-08-15 20:22:03 146 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除