上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页
摘要: 题目 思路 (听说是原题??叫安慰奶牛) 最小生成树板子????直接把来回跑两遍话花费赋值为一条边权上 add(x,y,z*2+w[x]+w[y]); 然后跑Kruskal?? 记得把价值最小的节点作为跟节点再加上,输出就行了 代码 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2020-07-17 17:44 sodak 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-07-17 16:37 sodak 阅读(610) 评论(21) 推荐(5) 编辑
摘要: 题目 思路 对于一张图来说,我们将其分为链(包括带环链)和环 对于链,从链顶(入度为0)开始dfs记录链的个数及大小,注意,大小为1的单点也包括在其中了; 处理完链后,对于单个的环来说,所有的点的入度都不为0,所以在处理完链之后还没有处理的就是环了,再dfs一下就ok了; 显然,对于每一个链状结构( 阅读全文
posted @ 2020-07-17 16:12 sodak 阅读(209) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-16 21:29 sodak 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Descrption * 一个数字被称为好数字当他满足下列条件: * 它有 2∗n个数位,n 是正整数(允许有前导 0)。 * 构成它的每个数字都在给定的数字集合 S中。 * 它前 n位之和与后 n 位之和相等或者它奇数位之和与偶数位之和相等。 例如对于 n=2,S={1,2},合法的好数字有 11 阅读全文
posted @ 2020-07-16 21:12 sodak 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 定义差分数组记录为从第i层一直放水到第n层的花费,考虑第k层在某一层i开始放水时,到第k层必须强制放水,因为水从上向下传递的时候,肯定是越来越多的,所以一定存在一层i,从第i层开始放水,到第k层必须强制放水,然后c[i]+v[k],c[k+1]-v[k],进行区间修改,因为数据有点大,在 阅读全文
posted @ 2020-07-16 20:53 sodak 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 并查集,备份原数组,去掉所有应该去掉的边,记录操作 然后从q操作到1操作倒向加边,求解 代码 #include<bits/stdc++.h> using namespace std; const int maxn=3e5+5; int df[maxn],f[maxn]; int a[ma 阅读全文
posted @ 2020-07-16 20:43 sodak 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 很明显的差分约束板子 如果需要求的是两个变量差的最大值,那么需要将所有不等式转变成<=的形式,建图后求最短路; 如果需要求的是两个变量差的最小值,那么需要将所有不等式转化成>=,建图后求最长路。 本题需要建超级原点使图联通,判掉不合法情况 图中有负环不能到达 代码 #include<bi 阅读全文
posted @ 2020-07-16 20:39 sodak 阅读(121) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-15 21:31 sodak 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目 (懒) [NOI2008]假面舞会 思路 对于给出的图,存双向边,正向长度为1,反向长度为-1,我们可以将它处理为环和链 对于单个的环来说,其中k最大可能为环中的节点个数,其因数都为该环k的个数的可能情况—>可以推得多个环的最大可能为多个环的最大公因数(因为所有环都要满足),最小可能为最大公因 阅读全文
posted @ 2020-07-15 20:17 sodak 阅读(90) 评论(0) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页