
二分
文章平均质量分 74
谢符宝
业精于勤,荒于嬉行成于思,毁于随。
展开
-
nyist504
题意:给一个200行10列的整数矩阵(每个数0~1000),要求从每行选一个数,让最大数和最小数的差最小. 解法:由于每个数大小0~1000,二分答案,二分时枚举区间(判断n行是不是每行都有数在枚举的区间里)。还跟neko学了类似于追逐法的解法,应该是正解:先将每行都排序,开始取每行最小的数,算出一个ans,然后删除n个数中最小的,替换为那一行下一个,不断进行直到替换的是第m列为止。 以下代码原创 2014-02-23 23:35:13 · 544 阅读 · 0 评论 -
hdu4768 二分
解法:去年长春网赛的题目,当时博文巨异或暴力居然过了,正解是二分。因为奇数最多只有一个,如果是一个,那么前缀和是从偶数到奇数,就可以二分答案了。 代码:/**************************************************** * author:xiefubao ***************************************************原创 2014-03-05 22:53:05 · 693 阅读 · 0 评论 -
poj2785(折半枚举)
题意:给定各有n个整数的四个数列A,B,C,D。要从每个数列中各一个数,是的四个数的和为0.求出这样的组合的个数。 解法:折半,枚举A,B数列的两两组合,然后排序,再枚举C,D的两两组个,在A,B的组合中二分查找匹配数的个数。复杂度n^2logn. 代码:/**************************************************** * author原创 2014-03-16 10:39:20 · 733 阅读 · 0 评论 -
poj3104 二分
题意:有n件衣服,每件衣服含水量为num[i],自然条件下每分钟每件衣服含水量减1,如果使用烘干机烘干一件衣服,则该件衣服每分钟含水量减k(每次只能烘干一件衣服),求最少需要多久才能将每件衣服晾干(含水量为=0)。 解法:二分搜索;因为答案具有单调性,一定存在这样一个天数,大于等于此天数一定都可以,小于则都不可以。计算某一天数t满足时就贪心算每个衣服要在此天数内晾干至少需要烘干几天,然后原创 2014-03-05 18:25:46 · 642 阅读 · 0 评论 -
poj35798(组合中位数二分查找)
题意:给n个数,求出C(n,2)个|Ci-Cj|数中的的中位数。 解法:二分枚举结果。总复杂度NlogM,M为数的大小范围。 代码:/**************************************************** * author:xiefubao ****************************************************原创 2014-03-16 22:04:22 · 820 阅读 · 0 评论 -
Acdreamoj1116(Gao the string!)字符串hash+二分+矩阵快速幂
Problem Description give you a string, please output the result of the following function mod 1000000007 n is the length of the string f() is the function of fibonacci, f(0) = 0, f(1) = 1... a原创 2014-06-13 21:47:29 · 926 阅读 · 0 评论 -
BZOJ2440(完全平方数)二分+莫比乌斯容斥
题意:完全平方数是指含有平方数因子的数。求第ki个非完全平方数。 解法:比较明显的二分,getsum(int middle)求1-middle有多少个非完全平方数,然后二分。求1-middle的非完全平方数个数可以用总数减掉完全平方数个数。计算完全平方数的个数用容斥: 首先加上n/(2*2)+n/(3*3)+n/(5*5)+n/(7*7)...+...然后减掉出现两次的,然后加原创 2014-06-13 22:47:52 · 2197 阅读 · 0 评论 -
hdu5044(二分)
题意:一个树上建两个加油站,使得所有点到达其最近加油站的最大距离最小。 解法:二分答案。关键时二分时候,要最合理话布局两个点的位置,做法是处理出来树的直径,然后在直径两端分别向中间移动二分的x步的两个点布下加油站。贪心可以证明正确性; 代码:/****************************************************** * @author:xiefuba原创 2014-11-02 17:30:25 · 805 阅读 · 0 评论 -
poj1201(二分+线段树)或(差分约束系统)
题意:数轴上每个位置为0或是1,给n(1 个区间[ai, bi],每个区间内至少有 ci 个1.0 1 。问数轴上至少有多少个1可以满足要求。 解法1:现将区间按右端点排序,然后每个区间内的点尽量往右边放,这样子可以照顾到以后的。在找每个区间的放法时,线段树查询区间1的个数,二分查找要放的后缀位置,然后将整个区间后缀全部涂上1.总复杂度是nlognlogn。网上没找到有人这么做的,但原创 2014-11-16 15:46:28 · 1095 阅读 · 2 评论