
二分答案
stargazer.
夜を穿つの
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【洛谷 P3222】【HNOI2012】射箭(半平面交 / 二分答案)
传送门 列出限制是 li≤axi2+bxi≤ril_i\le ax_i^2+bx_i\le r_ili≤axi2+bxi≤ri 可以变成a,ba,ba,b之间的大于小于关系 另外有a>0,b<0a>0,b<0a>0,b<0 如果询问某关是否可行半平面交即可 由于单调性二分答案即可 可以先排序一次,这样复杂度就是O(nlogn)O(nlogn)O(nlog...原创 2020-04-01 18:54:27 · 219 阅读 · 0 评论 -
【洛谷 P6142】 【USACO20FEB】 Delegation P(二分答案 / 贪心)
传送门 和noip2018noip2018noip2018的那道有点像 先二分答案 反正是要最大化向上传的链 从最小的开始枚举找第一个加起来≥k\geq k≥k的匹配 还要考虑把不合法的往上传 用setsetset做 复杂度O(nlog2n)O(nlog^2n)O(nlog2n) 本人的分类讨论稍微有些复杂 #include<bits/stdc++.h> using namespace...原创 2020-03-11 18:37:53 · 436 阅读 · 0 评论 -
【LOJ #6066】「2017 山东一轮集训 Day3」第二题(二分答案 / 树哈希 / 括号序列)
传送门 首先显然二分答案 其实我第一眼想得长链剖分维护树哈希 实际上由于这个子树有先后顺序 于是可以看做括号序列 每个点的kkk子树就是若干区间 哈希判一下即可 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_back #define pi...原创 2020-02-14 19:46:51 · 264 阅读 · 0 评论 -
【LOJ #3161】「NOI2019」I 君的探险(随机化+整体二分)
传送门 首先是686868分对于树的做法(和正解没有关系) 点编号为1−n1-n1−n 考虑对于每一个二进制位ddd 把这编号位为1的点modifymodifymodify 然后对每个点queryqueryquery 如果颜色改变,那么sum+=1<<dsum+=1<<dsum+=1<<d 然后可以发现这样求出来每一个点相连点的编号异或和 然后考虑一个剥叶子的过...原创 2019-12-18 21:34:29 · 313 阅读 · 0 评论 -
【BZOJ5252】【洛谷P4383】【2018九省联考】—林克卡特树(二分+树形dp)
毒瘤BZOJ1s传送门 洛谷传送门 题意有点复杂,实际上就是在求n+1n+1n+1条链,使其长度和最大 考虑60分的dp f[i][j]f[i][j]f[i][j]表示iii的子树有jjj条链时的最大长度 发现这个几乎无法dp对吧 考虑到链上的点度数必然小于3 再加一维表示iii的度数 发现现在就很好维护了 分类讨论一下就可以了 但100分时k太大了 O(nk)O(nk)O(nk)无法承受 但如果...原创 2019-02-26 12:05:17 · 195 阅读 · 0 评论 -
【BZOJ4443】【SCOI2015】—小凸玩矩阵(二分+最大匹配)
传送门 简单题 考虑二分转化成判断性问题 既然总共能选且只能选nnn个 那也就变成了能否选出n−k+1n-k+1n−k+1个比他小的元素 dinicdinicdinic跑最大匹配就完了 #include<bits/stdc++.h> using namespace std; #define ll long long inline int read(){ char ch=getchar...原创 2019-03-26 18:50:38 · 183 阅读 · 0 评论 -
【BZOJ4310】—跳蚤(后缀数组+二分答案)
传送门 darkbzojdarkbzojdarkbzoj上题面有误,应该是最大的最小 考虑二分这个最小的串xxx的排名kkk 那么也就是说所有排名比这个大的一定要被切开 考虑一个后缀S[p,n]S[p,n]S[p,n] 如果lcp(S[p,n],x)=0lcp(S[p,n],x)=0lcp(S[p,n],x)=0那么显然不合法 否则考虑在lcplcplcp前切开 考虑从后往前考虑每个后缀 那么显然...原创 2019-09-26 22:04:10 · 209 阅读 · 0 评论 -
【BZOJ2806】【CTSC2012】—熟悉的文章(二分答案+广义后缀自动机+单调队列优化dp)
传送门 考虑二分这样一个LLL 现在问题变成是否存在一种切分使得满足熟悉的占909090以上 可以考虑dpdpdp 设f[i]f[i]f[i]表示前iii位最长的 则f[i]=maxj∈[i−match,i−l]f[j]+i−jf[i]=\max_{j\in[i-match,i-l]}{f[j]+i-j}f[i]=j∈[i−match,i−l]maxf[j]+i−j matchmatchmat...原创 2019-09-27 08:00:14 · 129 阅读 · 0 评论 -
【BZOJ4180】—字符串计数(二分答案+后缀自动机+矩阵快速幂)
传送门 定义f[i][j]f[i][j]f[i][j]为以iii开头jjj结尾的最短的不会被别的串表示出来的串 这个可以在SamSamSam上dpdpdp得到 考虑二分答案 于是只需要看midmidmid次拼出的串是否比nnn大即可 #include<bits/stdc++.h> using namespace std; const int RLEN=1<<20|1; in...原创 2019-09-27 17:59:56 · 184 阅读 · 0 评论