二分答案
文章平均质量分 67
qingdaobaibai
这个作者很懒,什么都没留下…
展开
-
【bzoj4443】[Scoi2015]小凸玩矩阵 二分+二分图匹配
二分答案判断是否能取出N-K+1个小于等于ans的数但是能取出N-K+1个小于等于ans的数,不代表能取出K个大于等于ans的数呀注意,最后得到的ans是最小的存在N-K个比它小的数的数如果连最小的ans都取不到,那么更大的ans也取不到呀#include#include#include#include#include#include#define ma原创 2016-03-23 16:41:20 · 1797 阅读 · 0 评论 -
【bzoj4590】[Shoi2015]自动刷题机 二分
也许真的是自己弱吧,明明想到了D1T3的60~100分做法,为什么不去写?为什么要去攻一道毫无把握且处理起来比较复杂的网络流?真的对自己的代码能力没有那么自信吗?这个东西明显是单调的,n越小切的题越多,所以直接二分这个区间判断即可,就是二分满足切的题大于k的最大的n和小于k的最小的n#include#include#include#include#include#原创 2016-05-16 20:13:34 · 1226 阅读 · 0 评论 -
【bzoj1082】 SCOI2005 栅栏 二分+搜索
以前听lyp讲过这道题,现在发现自己的搜索还是不太熟练,加了两遍可行性剪枝,结果又WA又T,发现加剪枝和不加完全是两个速度。具体怎么搜的还是看代码吧。#include#include#include#include#include#include#define maxn 1010using namespace std;int a[maxn],b[maxn];int原创 2015-07-20 17:11:13 · 519 阅读 · 0 评论 -
【bzoj3130】 SDOI2013费用流 最大流
kac出的好题,第一问裸最大流肯定没有问题,第二问我们首先可以考虑一个结论这些费用一定是只放在一条边上的,那么对于一个最大流方案我们肯定会选择放到流量最大的那条边上,那么小A就会想办法让自己流量最大的那条边最小,于是我们就可以二分一下答案,把所有边的流量全部替换为二分的答案,如果最大流发生变化就说明一定存在流量比二分的答案大的边,于是问题就解决了。不过这道题需要实数二分,不能整数二分,为什么呢?原创 2015-07-28 15:24:59 · 716 阅读 · 1 评论 -
【bzoj2709】 迷宫花园 spfa
好傻逼呀,二分+spfa,没了。结果数据坑爹,有一行最后有一个空格,坑死了。#include#include#include#include#include#include#define maxn 210#define eps 1e-7#define inf 1000000000using namespace std;double dis[40010];i原创 2015-09-20 19:36:37 · 851 阅读 · 0 评论 -
【bzoj3316】 JC loves Mkk 单调队列+二分答案
从思路上来看比较水吧,二分完答案求最大连续子段和,细节处理比较多,要开long double,我的单调队列一开始又写错了,注意偶数长度就只需要开两个单调队列。#include#include#include#include#include#include#define maxn 200010#define inf 1000000000#define eps 1e-7原创 2015-10-03 20:47:14 · 482 阅读 · 0 评论 -
【bzoj1821】 JSOI2010Group 部落划分 二分+并查集
首先二分一下答案,然后距离小于答案的点对暴力连边,并查集判断即可。#include#include#include#include#include#include#define eps 1e-5#define maxn 1010using namespace std;int x[maxn],y[maxn];int f[maxn];bool vis[maxn];原创 2015-10-20 17:37:36 · 955 阅读 · 0 评论 -
【bzoj3796】Mushroom追妹纸 hash+二分答案
嗯,好久没写hash了。先处理出s3在s1和s2的位置,然后二分答案,看有没有s1和s2有没有公共子串不包含就可以了。#include#include#include#include#include#include#include#define maxn 50010#define mod 10007using namespace std;vector v[m原创 2015-11-17 18:57:52 · 744 阅读 · 0 评论 -
【bzoj1305】[CQOI2009]dance跳舞 最大流+二分答案
二分答案每个点拆成两个点x,x'每个男生x向x'连一条容量为k的边每个女生y'向y连一条容量为k的边源点S向每个男生连一条容量为ans的边每个女生向汇点T连一条容量为ans的边对于男生x和女生y,如果互相喜欢,则x向y连一条容量为1的边如果不互相喜欢,则x’向y'连一条容量为1的边若最大流为n*ans则可行,否则不可行点数4n+2边数(4n+n^2)原创 2016-02-21 21:24:33 · 512 阅读 · 0 评论 -
【bzoj3613】[Heoi2014]南园满地堆轻絮 二分答案
二分答案后,贪心做。每个数对应一个区间,每次取能取到的最小的数,如果取不到了,就无解。#include#include#include#include#include#include#define maxn 50001000using namespace std;int a[maxn];int n,mod,ans;long long sa,sb,sc,sd;原创 2016-02-24 13:30:05 · 770 阅读 · 0 评论 -
【bzoj2097】[Usaco2010 Dec]Exercise 奶牛健美操 二分答案+树形dp+贪心
二分答案把原来的树分成S+1棵树,每棵树的直径小于等于ans贪心树形dp,计算一下每个点向下的最长链如果加上这棵子树就大于ans了,那么就割掉对于每个节点,把所有的子节点的最长链长度拿出来排序每次如果最长和次长相加>ans,那么就删掉最长复杂度O(nlog^2n)#include#include#include#include#include#原创 2016-02-24 19:00:56 · 840 阅读 · 0 评论 -
【bzoj1738】[Usaco2005 mar]Ombrophobic Bovines 发抖的牛 二分答案+最大流
二分答案每个牛棚拆成两个点i和i'源点向每个牛棚i连一条容量为初始数量的边每个牛棚i向能走到(最短路小于二分的答案)的牛棚j'连一条容量为inf的边每个牛棚i'向汇点连一条容量为容量的边最大流#include#include#include#include#include#include#define maxn 210 #define maxm 1原创 2016-03-07 20:58:34 · 806 阅读 · 0 评论 -
【bzoj1758】[Wc2010]重建计划 二分答案+单调队列+点分治
首先二分答案ans,每条边权值减去ans,问题转化成整棵树中长度在[L,U]之间,权值和最大的路径是否大于0.点分治考虑如何求出经过根的所有路径对答案的影响,枚举根的每个儿子,g[i]表示当前子树中深度为i的节点的最大权值和f[i]表示之前的子树中深度为i的节点的最大权值和枚举i,查询f[L-i]~f[U-i]之间的最大值,这个可以用线段树来做,复杂度是O(∑size lo原创 2016-03-22 07:58:17 · 785 阅读 · 2 评论 -
【bzoj3533】[Sdoi2014]向量集 三分+线段树+凸包
考虑一个查询操作xz+yw=answ+x/y*z=ans/yw=-x/y*z+ans/yans/y表示过点(z,w)的斜率为-x/y的直线在y轴上的截距当y>0时,截距越大,ans越大,在上凸壳上找答案当y答案可以三分,也可以直接set维护斜率找斜率最接近的那个点问题来了,如何维护区间[L,R]的凸包线段树的每个节点建凸包是O(size log n)的原创 2016-03-22 18:33:05 · 874 阅读 · 0 评论 -
Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) 总结
重回赛场,第一场比赛,找一找状态A Unimodal Array题意:判断一个数列,是否是先递增,再相等,后递减题解:模拟判断。记录当前位置处于第几段。#include#include#include#include#include#include#define maxn 110using namespace std;int a[max原创 2017-07-15 09:55:03 · 594 阅读 · 1 评论