
二分
geng4512
蛤蛤蛤蛤
展开
-
[NOIP2010]关押罪犯(二分+二分图染色)
传送门 大意:我们把图分为两部分,使得两部分中的内部边的最大权值最小。 思路:哎,拿到题的时候想了二分图染色,发现不好做,但我没有想到二分,只好最后去骗了一个30分。正确的思路是:首先我们要 去二分最大的冲突边的是哪一条(按照权值二分),因为当二分的边权增大时,连的边也就越少,连通块的数目就越多,冲突就越少,所以边权是可以二分的,在二分过后用二分图判定,如果可以染成二分图即为可行的解。代码:#i原创 2015-08-17 08:33:24 · 1892 阅读 · 0 评论 -
ZOJ3279 ants
传送门 题目大意: 有一群蚂蚁,每只蚂蚁有一个能力值,现在对这些蚂蚁分类,分为N组,最高的A1个为第一组,接着的A2个为第二组,依次类推。有一群蚂蚁,每只蚂蚁有一个能力值,现在对这些蚂蚁分类,分为N组,最高的A1个为第一组,接着的A2个为第二组,依次类推。 现在有两种操作: (1)修改操作:C i a,表示将Ai修改为a,也就是说第i组的蚂蚁数变成a; (2)询问操作:q x,询问能力值排原创 2015-08-15 21:51:34 · 788 阅读 · 0 评论 -
Codeforces 578C Weakness and Poorness(二分 + 最大(小)子段和)
网上很多人写这道题目是三分+最大(小)子段和,但是这道题目是可以二分的,看我的二分内容//我们的目的是让最小字段和和最大字段和相等bool Calc(double x){//MN、MX分别是最小最大子段和 if(MN > eps) return 1; //当最小子段和比0大时减小(-x)(ps:我是写的a[i] = a[i]+x) if(MX < eps) return原创 2015-09-28 22:47:18 · 828 阅读 · 0 评论 -
【NOIP2015】跳石头 (二分+贪心判定)
传送门 据说是一道USACO的原题,但我没做过…… 还好考场写出来了。思路十分简单,二分答案,过后直接判定就行了。 代码(考场上写的很丑……我甚至开了一个栈去保存有哪些节点……实际上只要保存最后一个就行了):#include<cstdio>const int MAXN = 50005;int n, a[MAXN], L, M, stk[MAXN], tp;bool check(int m原创 2015-11-15 13:58:25 · 3872 阅读 · 0 评论 -
NOIP2015 运输计划
传送门题目描述公元 2044 年,人类进入了宇宙纪元。 L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球。 小 P 掌管一家物流公司, 该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道是需要时间的,对于航道 j,任意飞船驶过它所花费的时间原创 2015-11-20 10:59:25 · 3196 阅读 · 0 评论 -
最长回文子串的查找
刚刚学习了manacher算法,感觉还是很优秀的,思路也很简单。具体介绍可以去http://www.felix021.com/blog/read.php?2040看。时间复杂度为O(n)O(n) 然后后缀数组的做法,在罗穗骞大神的论文里也写得很清楚了,即把原串反着放回到前一个的后面(中间用一个特殊符号分割)(同样的,用特殊符号处理成长度为奇数的串)。然后再依次询问suffix(i) 与 suffi原创 2015-12-19 14:34:51 · 684 阅读 · 0 评论