二分
画船听雨
和梦想谈一次恋爱,也要疯狂,也要坚持
展开
-
POJ 1905 Expanding Rods
首先说一下题意:就是给你一个棒子,它会热胀冷缩。如果温度升高它会变长,但是他被卡在墙中只能变弯、、要求求出变弯后升高的高度。伸长的公式是:l` = l*(1+n*c),l是原长,n是温度变化的范围,c是变化的系数。主要是理解题意找到关系式,然后枚举高度。。。关系式有;1,s/2 = θ*r; 2, sinθ = L/(2*r); 3,r^2 = (r-h)^2+(L/2)^2;原创 2013-10-24 19:47:09 · 1015 阅读 · 0 评论 -
POJ 3258 River Hopscotch
先说一下题意:就是给你n个石头,牛在上面跳,然后去掉m个石头之后使得石头之间的距离达到最远,最后输出所有最远距离中最近的那一个、、、解释一下样例:25 5 221411211725 代表最后一块石头距离原点25,(第一块石头默认距离是0,第一块和最后一块石头是不可以移动的)。5代表除了第一块和最后一块之外还有5块石头,2代表需要移动2个石头。下面是五块石头分别距原创 2013-10-24 16:07:45 · 1280 阅读 · 0 评论 -
POJ 3122 Pie
首先还是说一下题意:就是“我”过生日,有很多的朋友来,我们一起分披萨,每个人分得的面积是一样的,并且只能是一块不能是很多快的面积的和。(如果一块切出来一部分后剩下的不能组成一块就当作是丢弃了、、、(浪费可耻啊!))解题思路很简单,二分枚举面积找到一个面积的大小可以使所有人分得的那一块的大小一样。PieTime Limit: 1000MS Memory L原创 2013-10-25 15:25:10 · 1062 阅读 · 0 评论 -
POJ 3273 Monthly Expense
题目的大意是:给你两个数n,m。m代表给你m个数字,n代表最多分成n组。求每组连续数字最小的和。一开始一般大家都会想到是dp但是这是不对的、、要不就不会放在计算方法的分类之中了啊、、disscuss中说是二分。后来看了一下果然是啊!就是把数列之中最大的数字和所有数字的和进行二分,求出最小的和。初始化时min = max(f[i]),max = sum(f[i]),然后再判断进行二分,如果分的组原创 2013-10-23 08:51:48 · 1891 阅读 · 2 评论 -
codeforces 279 B. Books
题意很简单,就是求最多可以连续读多少本书、、、一开始暴力的,O(n^2)的时间复杂度,所以就TLE了啊、、后来听鹏哥说可以用二分优化一下、、、B. Bookstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputou原创 2013-11-23 19:38:51 · 1065 阅读 · 0 评论 -
The 2013 ACM-ICPC Asia Changsha Regional Contest - A
题意就是:给出你打印东西在每个范围内的单价,求出打印东西最小的花费。O(n^2)的算法会超时,又用到了二分查找将复杂度降为了n*log(n)。Alice's Print ServiceTime Limit: 2 Seconds Memory Limit: 65536 KBAlice is providing print service, while原创 2013-11-24 19:14:05 · 1144 阅读 · 0 评论 -
HDU 2289 Cup 数学+二分
这道题的题意是:给你一个杯子,然后告诉你杯子的下顶面的半径,上顶面的半径,杯子总的高度,还有就是杯子中水的体积。(这里水的体积竟然可以比杯子还大啊!),然后输出现在杯中水的高度。注意这里的模型是一个圆台。圆台的面积公式是V = PI*(r1*r1+r1*r2+r2*r2)*h/3。主要是想到要把圆台补成圆锥,然后用相似三角形找到高度比与半径比的关系,之后可以用数学方法推算出比例,然后求出高原创 2014-02-15 14:43:17 · 1798 阅读 · 0 评论 -
POJ 2976 Dropping tests 01分数规划
先从ZP那里粘了点东西过来,再加入自己的理解。摘:题目大意就 给定n个二元组(a,b),扔掉k个二元组,使得剩下的a元素之和与b元素之和的比率最大 题目求的是 max(∑a[i] * x[i] / (b[i] * x[i])) 其中a,b都是一一对应的。 x[i]取0,1 并且 ∑x[i] = n - k; 转:那么可以转化一下。 令r = ∑a原创 2014-02-17 20:56:28 · 907 阅读 · 0 评论 -
HDU 4430 Yukari's Birthday(枚举+二分)
题目大意:给你你个n, 圆心放一个蜡烛,之后每一圈放k^i个,i = 1,2,3,4,5…….。求出来圈数r,第一圈的k的乘积最小,如果相同的时候求r最小。10000组数据暴力果断TLE,后来发现r很小,可以暴力枚举r然后二分k。Yukari's BirthdayTime Limit: 12000/6000 MS (Java/Others) Memory Limit: 3原创 2014-11-26 15:18:34 · 1021 阅读 · 0 评论