二分
ijbuhv
这个作者很懒,什么都没留下…
展开
-
hdu5246超级赛亚ACMer 二分
//给一个序列,ACMer的初始值为0-m任意一个//每次和序列值ai相等就acmer的值就为ai+k//k的值是每次比较后减-//问acmer最后得到的值能否大于所有值//从小于m的最小的值开始,用二分找小于m+k最小的那一个,直到大于最大值#include#include#include#includeusing namespace std ;const原创 2015-05-30 22:49:45 · 630 阅读 · 0 评论 -
hdu5510 kmp+二分
//给出n个字符串,找出最大的i//使得在(1<=j<i)的范围内有字符串不是i的子串//从n-1开始往前推,如果字符串j是字符串str[n]的子串//那么字符串j是在字符串n的哪个区间范围内//存下前面所有字符串在字符串n的所有区间//然后可以用二分找到第一个不包含这个区间的前面的区间#include#include#include#includeusing namespac原创 2015-11-08 17:03:55 · 390 阅读 · 0 评论 -
hdu4750Count The Pairs 并查集
//给出n个点,m条边的无向图//对于一个给定的t//找出有多少对(s,t)使得从s到t的所有路线中//这些路线中权值最大得最小值小于等于t即可以//将边以权值从小到大排序//将询问以t从小到大排序//对于每一次加上一条边,如果将两个集合连接//那么可以将上的pair<s,t>为 (ss[fx]*ss[fy])*2个//再要询问值小于这个值的所有询问都加上(ss[fx]*ss[fy]原创 2015-10-07 18:36:09 · 333 阅读 · 0 评论 -
hdu5536Chip Factory dfs+二分
//给出n(n<=1000)//选出三个不同的数,使得(ai+aj)^ak最大//枚举ai,aj,的到的ai+aj=sum//从sum的二进制最高为开始,sum在该位为,则选择//二分优先原则这一位和其不同的区间的点#include#include#include#include#includeusing namespace std ;const int maxn = 101原创 2015-11-07 17:01:03 · 311 阅读 · 0 评论 -
hdu4768Flyer 二分
//给出n个社团,每个社团对于//可以对编号为ai , ai+ci , ai + 2ci + ...ai+kci(ai+k*ci<=bi<ai+k*ci+ci)//发传单,最多有一个编号的同学受到的个数为奇数,如果有,找出这个同学//对于每一个区间,可以o(n)找出在这个区间的所有数的和,可以用二分找出//长度为1的和为奇数的区间#include<cstdio>#include<cstr原创 2015-10-07 18:26:53 · 337 阅读 · 0 评论 -
hdu5493Queue 树状数组+二分
//在意个队中//每个人知道它的身高和在排在他前面或者后面的//人的身高的个数//问能否恢复原来的队列//如果有多种情况,输出字典序最小的//先将人以身高从小到大排序//然后从第一个人开始插入队列//对于第i个人k即为在其前面或者后面需要留几个位置在它前面或者后面//选择两种插入方式中位置小的一个//可以用树状数组记录空位 , 用二分找位置#include<cstdio>#in原创 2015-09-28 22:56:52 · 697 阅读 · 0 评论 -
hdu2363Cycling 二分+最短路
//一个无向图 ,每个点都有高度,//问从起点1到终点n的最高点减最低点的差值最小的前提下的最短路和这个差值//由于n<100所以可以先将这n个点按升序排,枚举这个最短路的左边最小mi,二分找最小的右边ma#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std ;原创 2015-08-02 16:52:13 · 568 阅读 · 0 评论 -
hdu2962Trucking 二分+最短路
//一个无向图,每一条路有限制载重和长度//问从起点到终点的最大载重,以及在最大载重的情况下的最短路是多少//二分最大栽重,对于每个载重,小于这个载重的路径不走#include<iostream>#include<cstring>#include<cstdio>using namespace std ;const int maxn = 1010 ;const int inf = 0x原创 2015-08-02 14:27:12 · 655 阅读 · 0 评论 -
hdu1839Delay Constrained Maximum Capacity Path 二分+最短路
//一个无向图,两点之间的流量为c,两点花的时间为t//问从起点到终点n之间时间小于等于T且只走一条路径能够运输的最大流量为多少//二分流量,小于这个流量的路径不走,求其时间是否小于等于T得到答案#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std ;const in原创 2015-08-01 13:38:53 · 621 阅读 · 0 评论 -
hdu3388Coprime 二分+容斥原理
//找第k个和n,m互质的数//由容斥原理可得//在[1,x]范围内且与n不互质的数的个数为://对于所有的n的素数因子:和一个素数因子不互质的个数-两个素数因子相乘的个数+三个素数因子相乘的个数-.....//对于x越大,在[1 , x]范围内的与n,m互质的数越多,所以存在单调性,可以用二分找到刚好有k个数和n,m互质#include#include#include原创 2015-06-02 20:19:05 · 896 阅读 · 0 评论 -
hdu5248 二分
//有一个序列A , 改变序列的元素使其成为单调递增的序列B//求最小的max(|Ai-Bi|)(1//枚举最大值x,用二分查找#include#include#includeusing namespace std ;const int maxn = 100010 ;int a[maxn] ;int b[maxn] ;int n ;int judge(i原创 2015-05-30 22:46:39 · 938 阅读 · 0 评论 -
bestcoder#65ZYB's Premutation 树状数组+二分
#include#include#includeusing namespace std ;const int maxn = 50010 ;int tree[maxn] ;int n ;int getsum(int x){ int sum = 0 ; while(x){ sum += tree[x] ; x -= x&(-x) ; }原创 2015-12-05 21:26:43 · 551 阅读 · 0 评论