随笔分类 -  二分

摘要:题目链接:https://codeforces.ml/problemset 题意:给定一些箱子的位置,以及一些特殊点,问怎么推箱子使得特殊点被占的最多,人从0开始思路:枚举每个特殊的位置, 把该位置前面的箱子的最后一个推到这个特殊的位置,取一个最大值即可 最大值一定会存在这些情况当中,因为特定位置肯 阅读全文
posted @ 2021-03-11 00:26 canwinfor 阅读(48) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/9984/B 思路:先枚举 si 有多少个能匹配得上, 然后再从i+1的位置开始 找 t 最多能匹配上s的前缀有多少个 字符串哈希后用二分 找最大的k即可 每次长度为k的每一个都能产生贡献,所以每次+k 1 #incl 阅读全文
posted @ 2021-02-24 21:56 canwinfor 阅读(316) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/problemset/problem/1486/C2 题意:交互题 每次查询一段区间 返回你次大值, n个不同的数中 在20次内找出 最大值 思路:第一次找1~n 找出 次大值 smx 然后 通过查询1~sm看最大值在左边还是右边,假设在右边 的 阅读全文
posted @ 2021-02-19 23:11 canwinfor 阅读(114) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/contest/1480/problem/C 题意:交互题, 不超过100次的询问下, 找出一个长度为n的排列中的谷底 0和n+1为正无穷 思路:100次以内很容易想到二分 , 不过这是无单调性的二分 每次check a mid 和a mid+1 阅读全文
posted @ 2021-02-10 12:10 canwinfor 阅读(153) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/6/4/practice/status 题意:给定一张有向图 问1到n 权值的平均值 最小的 路径是哪条 思路: 二分check 平均值 把每条边 减去平均值得到贡献 最终1~n 距离小于0的 即为合法 因 阅读全文
posted @ 2020-12-26 09:32 canwinfor 阅读(138) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/6/4/practice/contest/285069/problem/A 题意:求一段连续的长度不小于k的 且平均值最大的区间 思路:二分check平均值 然后让每个a[i]-mid 来获得他的贡献值 然 阅读全文
posted @ 2020-12-24 20:22 canwinfor 阅读(228) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/problem/15446 01分数规划问题 二分 check mid最大值 要使得 sum v / sum w >=mid 那么移项得 sum (v[i]-w[i]*mid)>=0 那么 把 v[i]-w[i]*mid 整体当一个数 阅读全文
posted @ 2020-12-24 20:21 canwinfor 阅读(116) 评论(0) 推荐(0)
摘要:题目链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370312 题意:每个植物有一个生长速度a[i] 有一个机器人开始在0的位置,机器人可以最多走m步 每到一个位置可以让植物的繁荣加上他的生长速度,问所有植物中的最小值 阅读全文
posted @ 2020-09-20 09:01 canwinfor 阅读(144) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/6/3/practice/contest/285083/problem/D 题意:给定有向图,每条边上有一个数 ,问在走过的步数不超过d的情况下 让所有边上的数的最大数最小是多少 思路:二分check mi 阅读全文
posted @ 2020-09-11 16:11 canwinfor 阅读(163) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/contest/1370/problem/D 题意:给一段序列 找一段长度为k不连续子序列 使得min(max(s1,s3,s5……),max(s2,s4,s6……)) 最小 思路:正面思考 没法确定何时最优 考虑复杂度和给定的长度k 不难想到二 阅读全文
posted @ 2020-06-23 08:48 canwinfor 阅读(260) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/problem/19916 刚开始想的是贪心 把joker 和最大的n-1个在一起减了 在和最小的那个 再取一次最小 这样贪心是错的 如3 10 2 2 2 贪心只能取2套 但最多可以组3套 思路:因为 满足x套 那么 少于x套的肯定 阅读全文
posted @ 2020-06-04 19:48 canwinfor 阅读(234) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/5505/C 思路:首先考虑枚举 然后看到数据范围想二分 然后尝试去找是否有单调性 首先根据唯一分解定理 把要求的p质因数分解 然后统计出他的各个素数幂 和要check的mid比较,如果要满足倍数关系的话, 那么p的每 阅读全文
posted @ 2020-06-02 13:31 canwinfor 阅读(207) 评论(0) 推荐(0)
摘要:题意:给一个杯子 可以倒热水h 和冷水c 必须热冷热冷这样倒,可以倒无限次 问至少倒多少次的时候 温度的总和/倒的次数 最接近给的温度t 题目链接:https://codeforces.ml/contest/1359/problem/C 思路:设出函数考虑单调性 再考虑二分 1 假设倒了x杯热水的时 阅读全文
posted @ 2020-05-31 10:32 canwinfor 阅读(120) 评论(0) 推荐(0)
摘要:题意:在给定的数组中找出所有区间的第k大的数 全部放入另一个数组中 然后求另一个数组中的第M大 题目链接:https://ac.nowcoder.com/acm/problem/14301 思路:用二分check mid来做 如何判断cehck的条件呢 假设当前的数为 mid 那么在一个区间中如果找 阅读全文
posted @ 2020-05-27 22:12 canwinfor 阅读(237) 评论(0) 推荐(0)