摘要:https://vjudge.net/problem/POJ-3155 最大密度子图模板,在求max(|E|-g|V|)采用了Maxflow(n,n+m)的建图方法。 精度上,要求密度的精度高于最小割的精度。 1 #include<cstdio> 2 #include<cstring> 3 #inc 阅读全文
posted @ 2020-02-05 11:37 Blue233333 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/P4174 见https://wenku.baidu.com/view/87ecda38376baf1ffc4fad25.html第24-28页,有Maxflow(n,n+m)版的模型。 1 #include<cstdio> 2 #i 阅读全文
posted @ 2020-02-05 09:48 Blue233333 阅读(20) 评论(0) 推荐(0) 编辑
摘要:https://vjudge.net/problem/SPOJ-OPTM 每位分别考虑后,相当于给所有点分两类,不同类之间的边会产生花费。即求最小割,源点向所有已知的这位为0的点连无穷边,所有已知的这位为1的点向汇点连无穷边。为了使总和尽量小,跑完最小割后,从汇点开始dfs找出残留网络种能到达汇点的 阅读全文
posted @ 2020-02-05 09:11 Blue233333 阅读(16) 评论(0) 推荐(0) 编辑
摘要:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827366175 分数规划+最小割。 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<al 阅读全文
posted @ 2020-02-04 11:04 Blue233333 阅读(10) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/P3515 即计算最大的aj-ai+sqrt(|i-j|)。先考虑i>j的情况,此时可以验证有决策单调性:当决策点x,y和待计算点i,j满足x<y<i<j时,证明:若ax-ai+sqrt(|i-x|)<ay-ai+sqrt(|i-y| 阅读全文
posted @ 2020-01-31 11:50 Blue233333 阅读(12) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/1292/problem/C 注意到编号x的边对答案要有贡献,必须和0到x-1的边一起形成一条链,否则x及编号比x大的边都没有贡献。由此,对答案有贡献的边形成了一条链,且这条链的编号是个谷形,即中间编号小,往两边编号变大,编号最大的边在最外 阅读全文
posted @ 2020-01-30 11:01 Blue233333 阅读(24) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/1284/problem/D 把区间对的第二维放入以第一维为下标的数轴中(如1 2 3 4,就把区间[3,4]放入位置1和位置2),如此同个位置的所有区间必须两两相交,即检验第一维相交➡第二维相交。同理检验第二维相交➡第一维相交。“放入”可 阅读全文
posted @ 2020-01-28 10:55 Blue233333 阅读(24) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/1285/problem/D 从高位往低位看,如果某一位上全是一样的数字,则直接看下一位;如果某位上有0有1,表明这一位答案上一定有个1,但具体那个X是要取0还是取1,取决于后面的位数,由此可将数字按这一位的01分成两组,递归地解决问题。 阅读全文
posted @ 2020-01-15 18:04 Blue233333 阅读(33) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/1287/problem/E2 一个串的价值只有它对每个字符的cnt。一种思路如下:比较1...n和1...n-1的所有子串的cnt,可以发现除了n个后缀之外,其它的子串两者都有,由此得到每个后缀的cnt。然而这超过了询问上限。我们可以用这 阅读全文
posted @ 2020-01-12 22:15 Blue233333 阅读(30) 评论(0) 推荐(0) 编辑
摘要://#include #include #include #include #include //#include //#include //#include #include #include using namespace std; int n,m,lq; #define maxn 200011 struct Edge{int to,next; char v;}edge[maxn ss[... 阅读全文
posted @ 2019-10-16 06:28 Blue233333 阅读(50) 评论(0) 推荐(0) 编辑
摘要:$n \leq 100000$的字符串,多次问一个区间有多少位置不同的回文串。 先插空做一次manacher,得到每个字符往左右延伸的长度$f$数组。如ACAA变*A*C*A*A*,那么所有*的$f_k$实际对应的回文串数是$\frac{f_k}{2}$(一定整除),否则是$\frac{f_k+1} 阅读全文
posted @ 2018-07-12 15:52 Blue233333 阅读(100) 评论(1) 推荐(0) 编辑
摘要:$n \leq 1e5$个位运算操作,$m \le 2^{30}$,问$0-m$中谁进行完所有操作值最大,输出这个最大值。 cfA题难度?当送分题就不管了 and相当于几个位取0,or相当于几个位取1,有几个位是可以确定的;xor相当于翻转,确定的0变1,确定的1变0,不确定的就记一下哪几位被xor 阅读全文
posted @ 2018-07-12 11:21 Blue233333 阅读(84) 评论(0) 推荐(0) 编辑
摘要:圈套圈。该模板是uoj那道题的。 1 //#include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<time.h> 5 //#include<math.h> 6 //#include<set> 7 #include<qu 阅读全文
posted @ 2018-07-11 22:14 Blue233333 阅读(58) 评论(0) 推荐(0) 编辑
摘要:$n \leq 5e4$个平面上的点,从原点出发,能从当前点向左、右、上、左上或右上到达该方向最近的给定点。问三个问:一、最多经过多少点;二、前一问的方案;三、其所有方案种非左右走的边至少要开几辆挖掘机走完,挖掘机能从任意点出发,走路方式跟上面一样。 前两问: 纵坐标是增的可在不同层之间直接dp。同 阅读全文
posted @ 2018-07-10 18:37 Blue233333 阅读(151) 评论(0) 推荐(0) 编辑
摘要:$n \leq 100000$个数字,放进$k$叉树里,一个点只能放一个数,使所有数字乘以各自深度这个值之和最小的同时,最大深度的数字最小。 哈夫曼。这是我刚学OI那段时间看到的,感觉就是个很无聊的贪心,而且密码学我也不学深对哈夫曼的应用也了解不多,没想到出现在noi。 原来的哈夫曼只需要每次拿k个 阅读全文
posted @ 2018-07-10 11:34 Blue233333 阅读(68) 评论(0) 推荐(0) 编辑