
二分答案
zephyr_pro
人所有的愤怒全部来自自己的无知。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于C++二分查找
M--二分查找 Time Limit: 600MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 给出含有n个数的升序序列,保证序列中的数两两不相等,这n个数编号从1 到n。 然后给出q次询问,每次询问给出一个数x,若x存在于此序列中,则输出其编号,否则输出-1。 Input原创 2017-07-31 22:44:06 · 280 阅读 · 0 评论 -
B - K-th Number HDU - 6231[二分+尺取]
题意:给出n,m,k有n个数字,询问这个数组中所有区间第k大数字组成的数组中第m大的数字。(好绕啊,希望能懂OAO) 题解:尝试考虑一下我们如果已经知道一个数字之后,在数组中大于有m以及多余m个区间的第k大大于这个数字,那么这个数字一定不可能是答案,根据这个我们可以确定了一个单调的性质,所以我们可以二分答案。如何去检查有多少给个区间的第k大的数字大于当前数字的区间有多少个,这时候需要用一个尺取的...原创 2018-10-26 18:55:53 · 252 阅读 · 0 评论 -
I - Colonial Mansions Gym - 101962I[二分+线段树]
题意:给出一个有n个数字的数列,有两种操作 1 x H 将x位置的数字改为H 2 x H 从x出发在每次数字相差不超过H的条件下可以向左右拓展多少个 思路:可以维护一个差分序列,这里维护的是相邻两个数字的差值(为了条件2),然后通过线段树去维护这个差值,当更新的时候需要更新两个差值,i - 1和i,因为更改i位置的数字会影响它本身与后面的差值,同样会影响他前面数字与它的差值,所以每次更新需要...原创 2018-11-03 10:43:49 · 172 阅读 · 0 评论