
其他---二分/三分
forezxl
水君一枚
展开
-
洛谷P2678 跳石头(NOIp2015)
贪心 二分原创 2017-10-21 10:25:35 · 930 阅读 · 0 评论 -
BZOJ1044: [HAOI2008]木棍分割(洛谷P2511)
二分 DPBZOJ题目传送门洛谷题目传送门第一问二分后贪心即可。第二问要DP。令f[i][j]f[i][j]f[i][j]表示前iii个分成jjj段的方案数。那么有f[i][j]=∑f[k][j−1](∑p=kp<ia[p]≤ans1)f[i][j]=\sum f[k][j-1](\sum_{p=k}^{p<i} a[p]\leq ans1)f[i][j]=∑f...原创 2018-10-15 21:04:48 · 235 阅读 · 0 评论 -
BZOJ3316: JC loves Mkk
二分 单调队列题目传送门套路断环为链。二分答案mid(用long double),记一个前缀和s[i]=s[i−1]+w[i]−mids[i]=s[i-1]+w[i]-mids[i]=s[i−1]+w[i]−mid,那么我们只要判断是否有一段长度为偶数且s[r]−s[l−1]≥0s[r]-s[l-1]\geq0s[r]−s[l−1]≥0即可。用单调队列维护s[i]s[i]s[i]的最小值。保...原创 2018-09-17 21:36:57 · 224 阅读 · 0 评论 -
codeforces 809 B Glad to see you!
二分 交互题题目传送门题目大意: 在[1,n][1,n][1,n]里有kkk个数,每次你给出两个数xxx和yyy,它会返回给你∣x−a∣≤∣y−b∣|x-a|\leq|y-b|∣x−a∣≤∣y−b∣是否成立。其中a,ba,ba,b分别为离x,yx,yx,y最近的kkk个数中的数。求kkk个数中的任意两个。你有60次机会。n≤2×105n\leq2\times10^5n≤2×105。二分,每次...原创 2018-09-17 21:26:36 · 236 阅读 · 0 评论 -
BZOJ1857 [Scoi2010]传送带(洛谷P2571)
三分BZOJ题目传送门 洛谷题目传送门对在AB上走的距离和在CD上走的距离进行三分,也就是三分套三分。画画图就会发现这两个都是单峰函数(当离开点逐渐远离A/C时,最终所花的时间先变少后变多)。代码:#include<cmath>#include<cctype>#include<cstdio>#include<cstring>...原创 2018-08-23 19:53:16 · 320 阅读 · 0 评论 -
BZOJ2654: tree
二分 最小生成树题目传送门这种二分貌似和WQS二分有点像。二分一个给白色边的边权xxx,当最后求得的生成树白色边≥need≥need\geq need时更新ans=sum−need∗xans=sum−need∗x ans=sum-need*x并上调边权使得下次选择白色边的数目减少,否则下调边权。正确性YY一下应该比较显然。代码:#include<cctype>...原创 2018-05-19 19:47:56 · 237 阅读 · 0 评论 -
BZOJ4552 [Tjoi2016&Heoi2016]排序(洛谷P2824)
线段树 二分BZOJ题目传送门 洛谷题目传送门一道有思维难度的线段树所以我就去看题解了先二分答案。设答案为x,那么把原序列转化一下,<x<x≥x≥x\geq x的为1。线段树维护区间内1的个数。那么排序的时候直接区间修改就行了,最后判断a[q]a[q]a[q]是不是1就好了。代码:#include<cctype>#include<cstdio&...原创 2018-04-19 15:33:08 · 260 阅读 · 0 评论 -
HDU4080 Stammering Aliens
后缀数组 二分题目传送门题目大意:给你一个数m和一个字符串s,求长度最大的子串ss满足它在s中的出现次数≥≥\geqm。输出ss的长度及最后出现的位置。首先二分答案,设长度为x,预处理出h数组后,统计连续一段h[i]≥h[i]≥h[i]\gex的i的个数。如果个数≥≥\gem就满足了,并记录最后一个sa[i]。还要特判一下m=1的情况。代码:#include<cs...原创 2018-03-05 17:55:42 · 373 阅读 · 0 评论 -
BZOJ2282: [Sdoi2011]消防(洛谷P2491)
树的直径 二分答案BZOJ题目传送门 洛谷题目传送门这道题和树网的核数据加强版很像啊首先,在不考虑路径长度的情况下,最优的路径就应该在树的直径上,答案就是离树的直径最远的点到直径的距离。 因此,YY一下,这道题的路径也应该造在直径上。(因为我太菜所以严格证明我并不会) 那么我们只要把直径找出来,再以离树的直径最远的点到直径的距离为l,树的直径的长度为r二分答案即可。具体实现见...原创 2018-02-25 10:34:31 · 498 阅读 · 0 评论 -
BZOJ1999: [Noip2007]Core树网的核(洛谷P1099)
树的直径 二分BZOJ题目传送门 洛谷题目传送门双倍经验。。。代码:#include<cctype>#include<cstdio>#include<cstring>#include<algorithm>#define N 500005#define F inlineusing namespace std;struct...原创 2018-02-28 15:09:47 · 254 阅读 · 0 评论 -
BZOJ1052: [HAOI2007]覆盖问题(洛谷P2218)
二分 贪心BZOJ题目传送门 洛谷题目传送门先二分答案,变成边长为LLL的三个正方形能否覆盖所有点。我们先求出目前未被覆盖的所有点组成的最小矩形。因为角上的点肯定要被覆盖,所以不妨贪心地枚举前两个正方形覆盖哪一个角,最后一个正方形直接判断。代码:#include<cctype>#include<cstdio>#include<cstring&...原创 2018-02-27 10:27:11 · 323 阅读 · 0 评论 -
洛谷P2680 运输计划(NOIp2015)(BZOJ4326)
二分答案 LCA 树上差分原创 2017-10-21 16:24:41 · 603 阅读 · 0 评论 -
codeforces 992E. Nastya and King-Shamans
树状数组 二分题目传送门题目大意: 维护一个数列,每次操作为先修改一个数,再询问是否存在一个位置iii满足w[i]=sum[i−1]w[i]=sum[i-1]w[i]=sum[i−1]并输出这个位置。妙蛙问题要求出满足 Ax=sumx−1A_x=sum_{x−1}Ax=sumx−1 的位置,这个可以转化为 sumx=2sumx−1sum_x=2sum_{x−1}sumx=2sumx...原创 2018-11-06 21:16:38 · 390 阅读 · 0 评论