二分
Joey丶sunk
古今成大事者 不惟有超世之才 亦必有坚忍不拔之志
展开
-
HDU - 1969 Pie 二分
练一下二分,发现 M_PI 竟然不能用 自己定义 π(PI) = 3.1415926 也过不了,,改成 acos(-1.0)才过了的#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<math.h>#include<set>#include<stack>#include<queue>原创 2017-08-14 13:55:45 · 216 阅读 · 0 评论 -
Yet Another Median Task Gym - 100741G 二分中位数
数据挺水直接排序复杂度有点高,可以二分中位数#include #include #include #include #include #include #include #include #include #include #include #include #include // cout << " === " << endl;using namespa原创 2017-08-22 22:06:09 · 253 阅读 · 0 评论 -
LightOJ - 1138 Trailing Zeroes (III) N!中包含因子x的个数
题意:问是否存在N,其阶乘结果尾是否恰好有n个0;思路:很容易想到,就是要找n的阶乘含有因子10的个数,也就是找因子 2, 5 的个数,又因为 2 的个数多于 5,我们只需要查找5的个数就好了这里包含了 求n的阶乘含有因子5的个数 的方法#include#include#include#include#include#include#include#inc原创 2017-11-15 21:51:46 · 186 阅读 · 0 评论 -
Codeforces Round #448 (Div. 2) B. XK Segments 排序+二分
题意:问某种 i-j 对的个数; i-j 对满足枚举 i j ,当 ai 思路:我们可以知道,朴素算法就是枚举 ij 这里明显超时,我们要注意到这里的限制条件: ai 排序后,对每个 a[i] ,我们就会想,另一个满足条件边界是啥? 然后解法就来了,我们根据 恰好k个 x的倍数,然后可以知道满足条件的右边界的大小范围这样的话 可用lower_bound (lo原创 2017-11-27 18:04:54 · 474 阅读 · 2 评论 -
CTU 2017 B - Pond Cascade 二分
题意:n个池塘,给定每个的容量,物理高度 从高到低排列,每个都有水龙头往里流水,某个池塘水满了会往下面的池塘留为最后一个池塘满了的最少的时间 和 所有池塘都满了的时间思路:对两种情况分别二分答案(符合题意的条件的时间),check的时候从左往右,溢出的水量加到num里,在求所有的都满了的时间的时候,如果某个不满,直接返回0,如果都满了,返回1在求最后一个满了的时间的时候,如...原创 2018-08-21 21:03:54 · 304 阅读 · 0 评论 -
Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot 二分+前后缀预处理
题意:给定长度为n的字符串,每个字符表示朝上下左右四个方向前进,给定一个目标位置,找一个最小的区间,使得改变这个区间的若干个字符,使得整个串的操作能到达目标位置只需要输出最小区间长度思路:首先暴力的想法就是枚举所有的区间,这样这个区间两边就会有一些操作不会改变,然后我们根据这些操作得到一个位置,跟目标位置比较,看看我们能否通过设置这个区间达到目标位置,显然复杂度很高;然后就可以想到...原创 2018-11-03 13:17:09 · 249 阅读 · 0 评论 -
Educational Codeforces Round 53 (Rated for Div. 2) D. Berland Fair 二分+树状数组 O(n*logn*logn) 思路
题意:给定n个店铺,每个店铺买的东西有个价格a_i,数量有无限个,然后主人公从1号开始走到n号,每走到一个店铺,只要他的钱大于价格,他就要买,然后重复上述过程,直到他不能购买,输出他能买的物品件数;思路:直接模拟的话,必然不可行,但是我们知道模拟时到达一个位置后买不起这里的东西就可以把这个店铺给踢了(好坏!),然后继续后面的过程,如果要是我的钱足够买完一轮的话,我会除一下,取下膜,这样...原创 2018-11-03 13:39:12 · 223 阅读 · 0 评论