
二分
Ceyo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【NOIP2018提高组D1T3】赛道修建
唉,这题考场想到了,就是细节搞爆了。。。主要是二分答案然后判一下,每次深搜(类似贪心)即可。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct node{int v,fr,l;}e[100010原创 2018-12-15 16:29:51 · 647 阅读 · 0 评论 -
【JSOI2016】最佳团队
这题,二分+树上背包即可。由于答案要最大(最值),所以我们可以二分。然后我们可以简化一下答案。那么每个点的贡献即为 p[i]-mid*s[i]。做树上背包,看一下f[0][K]是否大于0即可。上标:#include<cstdio>#include<cstring>#include<algorithm>#define db doubleusi...原创 2019-01-18 16:02:10 · 174 阅读 · 0 评论 -
【NOIP2015模拟10.20】平均数
这题不可贪心,只能二分+前缀和判。上标:#include<cstdio>#include<algorithm>#define N 300010#define db doubleusing namespace std;int n,K,a[N];db l,r,mid,mi,b[N];bool bz;inline int read(){ int x=0;...原创 2019-01-31 13:29:24 · 254 阅读 · 0 评论 -
3103. 【NOIP2012提高组】借教室
以前打的,放个标在这儿。二分答案+判断即可。code#include<cstdio>#include<cstring>using namespace std;int a[1000001],b[1000001][3],f[1000001];int n,m;bool pd(int x){ int num=0,i; memset(f,0,sizeof(f))...原创 2019-03-02 15:40:33 · 268 阅读 · 0 评论 -
jzoj 3104. 【NOIP2012提高组】疫情控制
这题题目全是图片,就不贴了。。。这题的思想很明显:就是二分+贪心判断但是细节很多,很坑的地方。我们对于一个二分出来的答案,算出以下几个东东:1.如果是能到达根节点的,那么求出它是从根节点的哪个儿子跳来的以及它还剩余的步数,存进can数组里。2.如果不能,就将它能跳到的最高的那个点打一个标记(贪心思想)而后,我们找出哪些根节点的儿子还没有被控制住,并存入na数组里。然后对于这两个数组...原创 2019-03-12 18:40:41 · 421 阅读 · 0 评论 -
jzoj 3188. 【GDOI2013模拟8】找数
Description找出第N个最小素因子是P的正整数。Input一行两个整数N和P(1<=N,P<=10^9),保证P是素数。Output如果结果超过10^9则输出0否则输出这个数。Sample Input输入1:1 2输入2:2 3输入3:1000 1000003Sample Output输出1:2输出2:9输出3:0Data Constra...原创 2019-03-30 15:46:07 · 260 阅读 · 0 评论 -
jzoj 4614. 【NOIP2016模拟7.12】字符串
QuestionSolution这题是道后缀数组的题目。对于原串,我们先搞一遍后缀数组并求出heightheightheight数组。由于我用的是线段树,所以我们应当把询问按照a从大到小排个序。线段树的叶子节点iii表示rank[i]rank[i]rank[i]的位置,对于非叶子节点则维护其区间的最小值。(初始值为无穷大)我们倒着枚举串中的位置,每到一个位置,便将它在线段树所在的位置...原创 2019-07-04 21:26:31 · 284 阅读 · 0 评论 -
jzoj 1287. 躲雨
Question给你nnn个点,mmm条边。每个点都有一个容量限制和当前存在的量,每条边都有一个所需时间。求当所有点的量都符合限制是的最少需要时间。Solution我们先用floydfloydfloyd求出两两点之间的最短时间。然后二分答案,对于时间<=mid<=mid<=mid的边就加,而后跑一遍网络流看看是否全都能流完即可。加边具体操作:设起始点...原创 2019-07-05 11:47:18 · 206 阅读 · 0 评论