二分
The___Flash
这个作者很懒,什么都没留下…
展开
-
Sub Matrix Sum(UCF Local Programming Contest 2019(Practice),二分单调栈)
一.题目链接\quadSub Matrix Sum二.题目大意\quad给出一个大小 R×CR \times CR×C 的矩阵,要求选出一个子矩阵,在子矩阵和不小于 SSS 的条件下,输出子矩阵的最小大小.\quad1≤R,C,R×C≤105,−109≤S,矩阵元素≤1091 \leq R,C,R \times C \leq 10^5, -10^9 \leq S,矩阵元素 \leq 10^91≤R,C,R×C≤105,−109≤S,矩阵元素≤109三.分析\quad由于矩阵元素可为负,因此尺取是原创 2020-07-24 18:15:20 · 390 阅读 · 0 评论 -
Telephone Lines (POJ - 3662,SPFA + DP || 二分 + SPFA || 分层图 + SPFA)
一.题目链接:POJ-3662二.题目大意:n 个点,p 条边的无向图.最多可将图中的 k 条路权值变为 0,并定义该图的权值为 1 到 n 的所有选择方案中最大权值路的最小值.求该图权值,如果 1 到 n 不存在路径,输出 -1.三.分析:① SPFA + DP设 dis[v][k] 为从 1 到 v的路径中选择了 k 条路权值为 0 的最短距离.每次有两种...原创 2019-10-21 21:42:58 · 252 阅读 · 0 评论 -
Fermat's Optimization Problem(UVALive - 8355,2017香港icpc A,java大数 + 枚举 + 二分)
一.题目链接:UVALive-8355题目 pdf 下载二.题目大意:定义T 组样例 (T < 10)每组样例给出 n (2 < n < 10)和 z (1 < z < 1e5)求 F 的最小值,以及任意一对满足该 F 的 x 和 y 的值.三.分析:这数据范围妥妥大数了.由于 z < 1e5,那我们只需要枚举 y...原创 2019-09-30 20:22:18 · 362 阅读 · 0 评论 -
后缀数组(算法竞赛进阶指南 P64,字符串 Hash + 二分答案)
一.题目链接:后缀数组二.题目大意:给字符串 s 的所有后缀按照字典序排序.输出排序后的编号 和 排序后后缀数组 i 与 i - 1 的最大前缀长度.三.分析:如果直接用 sort 对每一个后缀排序,时间复杂度为,需要优化.在 cmp 函数中,对于两个后缀 a,b 来讲,分别对应 s[a ~ n] 和 s[b ~ n].那不妨求出第一个位置,使得.这点可用字...原创 2019-08-05 20:54:24 · 209 阅读 · 0 评论 -
Palindrome (POJ - 3974 ,字符串 Hash + 二分 || Manacher)
一.题目链接POJ-3974二.题目大意:求 s 的最大回文子串长度.三.分析:此题可以用 字符串 Hash + 二分 或者是 Manacher 算法.(后者明显比前者块)由于这是 Manacher 的模板题,所以这里只讲第一种方法.O(N)扫描字符串 s,建立前缀与后缀 Hash 数组.之后枚举回文串的中心位置,二分答案即可.ps:要分别处理奇偶长度的回文串....原创 2019-08-05 19:50:15 · 154 阅读 · 0 评论 -
Inviting Friends (HDU - 3244,二分 + 完全背包)
一.题目链接:HDU-3244二.题目大意:有 n 种原料,每种原料有 6 个属性.x:每个人需要此原料的量y:已有的量s1:小包原料的数量p1:小包原料的价钱s2:大包原料的数量p2:大包原料的价钱现有 m 元,求最多的人数.三.分析:二分人数,check(mid) 函数里面对每种原料完全背包.其中背包容量应设为 mid * x - y + s...原创 2019-07-25 11:02:11 · 315 阅读 · 0 评论 -
Flyer (HDU - 4768,二分答案 + 思维)
一.题目链接:HDU-4768二.题目大意:有 n 个社团拉人.从编号为 a 的学生开始,到编号为 b 的学生结束,每隔 c 个人拉一个.保证学生被拉选奇数次的个数至多为一.若不存在被拉选奇数次的学生,则输出 "DC Qiang is unhappy."否则,输出被拉选奇数次的学生的编号 与其被拉选的次数.三.分析:因为保证学生被拉选奇数次的个数至多为一所...原创 2019-07-20 20:55:32 · 295 阅读 · 0 评论 -
Queue (HDU - 5493,树状数组 + 二分 || 线段树)
一.题目链接:HDU-5493二.题目大意:有 n 个人排队,身高各不相同.给出每个人的身高,以及队中他前面比他高或者后面比他高的人数.若此队伍存在,则输出最小字典序的队伍排列.否则,输出 "impossible".三.分析:因为是求最小字典序,所以先对身高排序,之后再向队中加人.假设第 i (1 ≤ i ≤ n) 个人的身高为 h,队中他前面比他高或者后面比他...原创 2019-07-24 19:06:30 · 197 阅读 · 0 评论 -
Plants vs. Zombies (ZOJ - 4062,二分答案 + 细节)
一.题目链接:ZOJ-4062二.题目大意:n 个植物排成一排.水壶只能移动 m 步.水壶一步移动一个单位长度,所到达的位置,该植物的防御值会相应增加.求浇水之后,所有植物防御值中最小值最大可以为多少.三.分析:二分答案即可.不过要加限制条件,在 check(mid) 函数中 cnt 可能会暴 long long.这是因为,假设n == 1e5,mid =...原创 2019-07-20 10:43:47 · 509 阅读 · 0 评论 -
Matrix (POJ - 3685,二分答案 + 二分)
一.题目链接:POJ-3685二.题目大意:给 n 和 m.表示有一个 n × n 的矩阵,求第 m 小的元素的值.矩阵元素的计算公式:三.分析:易得矩阵的元素在同一列上单增.第一层二分答案.因为是求第 m 小的数,所以必有 m 个数 ≤答案(数有重复).check(mid) 函数里先枚举列,对于每一列再二分有多少个数 ≤ mid即可.ps: 控制边界...原创 2019-07-19 19:41:08 · 364 阅读 · 0 评论 -
Read Time (CodeForces - 343C,二分 + 贪心)
一.题目链接:CodeForces-343C二.题目大意:有 n 个磁头,m 个需读取的位置.给出 n 个磁头的初始位置,m 个需读取的位置.每秒磁头可以向左或向右移动一个单位.求最少需要多长时间 m 个位置都被读取过.三.分析:很容易看出要二分答案,不过 check() 不好写.考虑一件事情,对于一个磁头来说,它需读取的位置区域在上一个磁头(左边界) 与 下一...原创 2019-07-19 17:21:00 · 204 阅读 · 0 评论 -
Best Cow Fences (POJ - 2018,实数域上二分答案)
一.题目链接:POJ-2018二.题目大意:农场主有 n 块连续的田地,第 i 块地上有 a[i] 头牛求在田地长度不小于 f 的情况下,子段的平均值的最大值.三.分析:实数域上二分答案.现假定二分到mid,则只需要检查是否存在长度 ≥ f,且平均值 >mid 的子段.欲求长度 ≥ f 的子段只需要枚举终止点,即 f ~ n.欲求平均值 >mid 的子段,需要...原创 2019-06-16 17:33:14 · 227 阅读 · 0 评论 -
Vases and Flowers (HDU - 4614,线段树 + 二分 + 思维)
一.题目链接:HDU-4614二.题目大意:有 N个花盆,起初都没有花.1 个花盆只能插 1 朵花.有 m 次 2 种操作.① 1 A F:从第 A 花盆开始插 F 朵花,多余的丢弃.若一朵花都无法插入,则输出 "Can not put any one."否则,输出插花的起点、终点.② 2 A B:将 A ~ B 花盆中的花丢弃,并输出所丢弃的花的个数.三...原创 2019-05-01 20:45:26 · 281 阅读 · 0 评论