随笔分类 -  二分

摘要:题意:给一个长度为n+1的整数序列,其中的元素的范围在[1,n]之间,所以一定有重复的数字,假设只有一种重复的数字(但是重复可能不止一遍),求这个重复的数字,要求空间复杂度O(1),时间复杂度小于O(n2),不可以修改序列。 解法:二分。二分重复的数字,每次遍历一遍数组,记录cnt为有多少个元素小于 阅读全文
posted @ 2016-02-25 13:42 露儿大人 阅读(873) 评论(0) 推荐(0)
摘要:题意:给一个旋转过的升序序列,比如[0, 1, 2, 3, 4]可以旋转为[2, 3, 4, 0, 1],然后给一个目标数,求他在不在这个序列中。 解法:如果不旋转的话就是个普通的二分查找,但是旋转之后需要算index什么的好麻烦……旋转的偏移量也可用二分求,所以就是两次二分……对于我这个二分苦手来 阅读全文
posted @ 2016-02-18 12:28 露儿大人 阅读(275) 评论(0) 推荐(0)
摘要:题意:经典的最大值最小问题……给FJ在n天里每天花的钱数,问如果将n天分成m组,每组内的天数连续,最少每组给多少钱可以让每组的钱够花。解法:二分。现在看来是个挺简单的二分……然而我二分一向都是理论AC……写出来跟屎一样……QAQ……贴个代码当模板好了……代码:#include#include#inc... 阅读全文
posted @ 2015-11-09 20:19 露儿大人 阅读(162) 评论(0) 推荐(0)
摘要:题意:有n个底面是正方形的四棱锥,用一个水平截面将所有四棱锥分成两半,要求上一半体积的和等于下一半,求水平截面的高度,输出整数部分。解法:二分截面高度。比赛的时候二分写不明白了orz……代码:#include#include#include#include#include#include#inclu... 阅读全文
posted @ 2015-09-15 13:47 露儿大人 阅读(160) 评论(0) 推荐(0)
摘要:题意:在一个蛋糕上放n个蜡烛,摆成r个同心圆,中心可放可不放,对于第i个同心圆,放ki个蜡烛,问k*r最小时的k和r,如果k*r相同要求输出r小的。解法:因为k最小是2,根据等比数列通项公式算出r不超过40,所以只要枚举r,二分求出对应的k,找到最小的k*r就可以了。代码:看看以前的代码风格还真是丑... 阅读全文
posted @ 2015-08-05 11:57 露儿大人 阅读(152) 评论(0) 推荐(0)