
二分
霾まる
不为牌子, 只为锻炼自己, 创造美好回忆不后悔!
展开
-
atcoder abc217 D
那么需要实现这个思路可以用set来做, 在set中存入端点, 进行2操作的时候使用库函数二分搜索即可。按照这个思路来想, 那么存入每个被剪断的标点都可以作为一段绳子的两个端点, 得到端点即得到长度。首先要得到一段绳子的长度, 最先想到的是末端标点-起点标点。一条长为n的绳子, 每一个整数位置都有一个标点。2: 输出在标点x处的绳子长度。1: 在标点x处剪断这条绳子。可以进行以下两种操作。原创 2023-02-25 17:49:51 · 269 阅读 · 0 评论 -
23.2.18打卡 Educational Codeforces Round 143 C题两种做法
在优先队列内存入ai+前缀和[i-1], 每次搜索时将队头+前缀和[i-1]即为当前ai的剩余量。因此对于每个a[i]应该在前缀和数组中搜索a[i]+前缀和[i-1]找到他在什么时候会被喝完。首先就行b的前缀和处理, 对于每一个a[i]二分搜索到i处时的剩余量。剩余量i=a[j]+b的前缀和[j-1]-b的前缀和[i-1]将其与b进行对比后(若剩余量原创 2023-02-18 23:03:31 · 134 阅读 · 0 评论 -
22.11.21补卡 Codeforces Round #835 (Div. 4) A~F
这应该是个原题吧, 我总感觉我做过, 找到最大值和其余全部值比较, 最大值和第二大值比较。二分答案, 赛中太晚了迷迷糊糊的, 没想到r可能会大于d没注意到这个条件wa掉了。不能出现极大值, 极大值即"山谷", 用一个变量记录一下上升的状态就行了。比较不更改的逆序数, 修改第一个0的逆序数, 修改最后一个1的逆序数。寻找中位数, 直接一个sort搞定。找到最大的字母输出他的序号。G题懒得写, 就这样吧。原创 2022-11-22 15:22:12 · 380 阅读 · 0 评论 -
22.11.19打卡 CF1278B
让我们回归题目, 重新考虑加在a上的值(假设a比b大), 如果我们将一个值x不加在a上, 而是加在b上, 对于ant来说, 是不是就相当于ant-=x*2。首先预处理从1到1e9的数之和, 存储在arr数组中//cnt为arr数组的长度。如果为奇数: 由奇+奇=偶, 所以只要再多一次操作将奇数转化为偶数即可。ant为奇数, 当ant为奇数的时候, 我们就不能像情况1那样操作了。如果为偶数: 因为奇+偶=奇, 需要再多两次操作才能将奇数转化为偶数。所以对于ant来说, 只要为偶数就能消除为0。原创 2022-11-19 21:37:18 · 508 阅读 · 0 评论 -
22.11.9打卡 2022牛客寒假算法基础集训营5I题详解
虽然这题存在一个入睡时间k, 但和原做法也差别不了太多, 首先看t数组, 做差分, 得到叉同学发说说的间隔时间, 由题意得, 入睡需要k时间, 那么间隔时间原创 2022-11-09 21:26:14 · 489 阅读 · 0 评论 -
22.11.4打卡 POJ - 1631 最长非降子序列
因为只需要搜索第一个大于arr[i]的数组元素, 没必要用Oi的复杂度一个个找, 故使用二分优化。原创 2022-11-04 20:30:20 · 526 阅读 · 0 评论 -
22.10.27补卡 CF-279B
首先前缀和处理数组, 然后从1开始枚举1以后的前缀和是否满足小于等于m, 每次循环更新ans的值, 最后输出最大的答案。原创 2022-10-28 17:29:37 · 266 阅读 · 0 评论 -
22.10.26补卡 CF-1324D CF-479C
题目给的式子是ai+aj>bi+bj, 把他改变一下变成 ai-bi>-(aj-bj)结构体贪心排序...没啥好说的, 非常典型的贪心, 排序写错wa两发人麻了。定义一个新数组为c, ci=ai-bi然后排序二分找大于ci的-cj。原创 2022-10-27 19:29:30 · 417 阅读 · 0 评论 -
P1678 烦恼的高考志愿
题目链接:烦恼的高考志愿 - 洛谷贪心+二分答案要求每个同学匹配距离自己分数最近的学校, 先对学校进行排序, 然后二分学校的编号, 时刻更新mmin(最小差值)就好了注意边界问题!注意边界问题!注意边界问题!ac代码:...原创 2022-07-11 21:28:53 · 559 阅读 · 0 评论