
二分答案
文章平均质量分 75
空灰冰魂
=NULL
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【BZOJ1014】【JSOI2008】火星人prefix Splay处理区间,hash+dichotomy(二分)check出解
BZOJ1014,SPLAY区间查询,点修改,点插入,以及二分+hash进行check操作求解。原创 2014-10-03 10:59:05 · 1854 阅读 · 0 评论 -
【自用】POJ1064 Cable master 且来说说卡精度的心得
题意: 多组数据,n个小棒,分成m段,最长多长? 不能短于0.01,如果分不出来,输出”0.00” 题解: 满足单调性,来二分吧。 心得: 来,我们看着代码说话。 判无解的处理 首先最多能分多少段开了long long。 long long maxd,m; 然后处理的时候因为精度损失,所以加了eps maxd+=(int)(a[i]*100.0+eps); eps原创 2015-03-17 20:17:10 · 2624 阅读 · 0 评论 -
【BZOJ1816】【Cqoi2010】扑克牌 二分答案+贪心+构造(证明)
题解: 首先如果二分答案,它是满足单调性的。 但关键在于怎么check。 我们可以贪心地给二分出的mid分配min()原创 2015-03-24 18:44:30 · 1903 阅读 · 1 评论 -
【BZOJ2600】【IOI2011】ricehub 二分答案
题意 : 见题目。 题解: 二分答案,然后对于一个ans,它显然是取了连续的一段。 然后这个连续的一段显然一定是取中位数那个稻田作为粮仓。 然后显然可以区间快速转移。 然后显然这是一道水题,显然他需要开long long。 显然如果你还不懂的话可以留言问。 代码: #include #include #include #include #define N 1原创 2015-01-21 14:32:02 · 1737 阅读 · 0 评论 -
【BZOJ1189】【HNOI2007】紧急疏散evacuate 二分答案+最大流check
题解: 首先floyd或者bfs求出每个'.'到各个'D'的最短路 然后注意一个点不能经过一个门去另一个门,所以可以看到我的floyd略有一点点点点不同。。。 然后这个时间限制可以转化为对每个门的拆点,可以证明拆400个就够了。 然后分别对应每个时间可以出去一个人, 而这样在二分时重建图也是很方便的, 代码: #include #include #include原创 2015-02-09 07:59:23 · 1942 阅读 · 0 评论 -
【BZOJ1044】【HAOI2008】木棍分割 二分+动规
第一问裸二分,第二问乱搞。 f[i][j]表示用掉i次机会,到j时合法的方案数。 代码: #include #include #include #include #define N 50100 #define mod 10007 #define inf 0x3f3f3f3f using namespace std; int sk[N],sum[N],n,m; bool che原创 2015-01-20 17:41:36 · 2071 阅读 · 0 评论 -
【POJ3657】【USACO 2008 Jan Gold】 1.Haybale Guessing 二分答案,并查集check
题意: 输入n、m表示数列长度为n,有m条有序的限制{l,r,x}。 限制:l~r间所有数最小值为x。 问到第几条限制开始出现矛盾,都不出现输出"0"。 题解: 首先这题比较厉害,正常解有点难,不妨转化成二分答案。 我们二分“答案”,也就是第ans条出现矛盾。 考虑到若一条限制S所在区间被另一个限制Seg包含,且Seg这条限制的x又比S.x大, 那么也就是意为 ①原创 2014-12-23 17:46:34 · 2388 阅读 · 2 评论 -
【BZOJ1822】【JSOI2010】Frozen Nova 冷冻波
题解:二分答案,然后网络流check。 注意: 理论上来讲,因为如果有 ----------- / \ / \ 巫妖----小精灵----------------树桩-------原创 2014-12-22 17:19:28 · 1653 阅读 · 0 评论 -
【BZOJ1052】【HAOI2007】覆盖问题 二分+深搜check
题解:乱搞。 就是搜每个正方形的位置(一定在一个角,证明自己想想吧,很容易但是不算太好写) 代码: #include #include #include #include #define N 20100 #define inf 0x3f3f3f3f using namespace std; struct Point { int x,y; Point(int _x=0,原创 2015-01-11 08:25:27 · 1282 阅读 · 0 评论 -
【BZOJ1738】【POJ2391】【Usaco2005 mar】 Ombrophobic Bovines 发抖的牛 网络流
题意: 约翰的牛们非常害怕淋雨,那会使他们瑟瑟发抖.他们打算安装一个下雨报警器,并且安排了一个撤退计划.他们需要计算最少的让所有牛进入雨棚的时间. 牛们在农场的F(1≤F≤200)个田地上吃草.有P(1≤P≤1500)条双向路连接着这些田地.路很宽,无限量的牛可以通过.田地上有雨棚,雨棚有一定的容量,牛们可以瞬间从这块田地进入这块田地上的雨棚 请计算最少的时间,让每只牛都进入原创 2015-01-06 19:42:10 · 1709 阅读 · 0 评论 -
【BZOJ2464】【中山市选2009】小明的游戏 最短路水过
题解:最短路pqspfa200ms,一眼题, 另一种想出来没写的做法:二分答案,上界n+m 时间复杂度O(n*m*log(n+m)),二分+深搜看能不能找到t 最短路代码: #include #include #include #include #define N 505 #define NN 251000 #define inf 0x3f3f3f3f using原创 2014-11-25 10:19:34 · 1832 阅读 · 0 评论 -
【POJ1905】Expanding Rods 二分答案+推公式
题意: 给出L,n,c,通过公式可以得到L’。 然后L是弦长,L’是弧长,从圆心向该弦做垂线,若长为d,求半径-d。 题解: 二分答案。 首先弧长通过圆心角和半径是可以计算的,那么我们可以二分答案(r-d)。 然后有(r-mid)^2+(L/2)^2=r*r,通过这个可以O(1)算出r。 这样就可以通过 弧长=(圆心角/360°)*2π原创 2014-11-07 09:50:33 · 1215 阅读 · 0 评论 -
【POJ3258】River Hopscotch 二分答案,贪心check
题意:第一行knm,有n+2个石头在数轴上(k是第n+2个石头离第一个的距离),要删掉m个,使两两间距的最小值最大,并求这个值。 题解:排序一下,然后扫一遍贪心决定删哪些。 #include #include #include #define N 50500 #define inf 0x3f3f3f3f using namespace std; int dist[N],n,m; int原创 2014-11-06 20:54:28 · 1211 阅读 · 0 评论 -
【BZOJ1758】【Wc2010】重建计划 分数规划+树分治单调队列check
题解: 首先比较显然会想到分数规划模型。 不太好想,先放过。 我们树分治处理经过每个点的路径。 然后对于在[L,R][L,R]区间内的每个长度记录最长距离。 然后每棵子树跟之前记录的数组处理一下,算出当前这棵子树中点为一端点,经过根节点(重心)的最优答案,然后再更新记录最长距离的数组。 貌似很科学,但是这个更新答案的过程,实际上是O(n2)O(n^2)的,并不能接受。 所以就有了下述原创 2015-03-18 18:12:53 · 2878 阅读 · 1 评论