二分
文章平均质量分 79
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
hdu 2141 Can you find it? 二分
#include<stdio.h>#include<set>using namespace std;#define ll __int64int a[600];int c[600];int main(){ int i,l,m,r,flag,op,tem,j; set<int>my; int cas=1; while(scanf("%d%d%d",&l,&m,&r)!=EOF) { my.clear(); for(i=0;i<l;i++) { scanf("%d",&a原创 2014-09-04 14:36:16 · 890 阅读 · 0 评论 -
URAL 1822. Hugo II's War 树的结构+二分
题意:输入 n 个人,3是表示有多少时间让编号1 的人召集人马。然后按2到n 的编号 输入pi 和ti。分别是那个人直接 领主,和召集自己本部的人所需的时间。 编号1 是大领主 。 假设 每个领主都只能在 直属下属 有≥x% 的人召齐了人马才可以开始招自己的人。 问x最大是多少,可以让大领主在 t 的时间内 召齐自己的人出发打仗。做法:二分x,判断下这个x能否在所需时间内召齐人马。原创 2015-03-16 22:18:59 · 946 阅读 · 0 评论 -
cf 251 A Points on Line 二分
题意:找出三个,距离小于等于d的点,计算符合条件的三个点的所有组合数。做法:从开始的点,固定一个点,然后二分找后面最大的但是二者距离不超过d的点,计算这些点c(n,2)。原创 2015-07-07 20:45:01 · 1011 阅读 · 0 评论 -
hdu 5289 Assignment 二分+rmq
题意:问有多少区间段,最大小值差<k。做法: 枚举右端点,很明显 区间越大,最大小值差越大,所以有线性关系。所以可以二分。找到差值小于k的点,这个点到右端点之间所有点都可以做为左端点。线段树和树状数组都可能超时,离线最大小值计算最稳的就是RMQ了。原创 2015-07-21 21:32:36 · 1163 阅读 · 0 评论