上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: CodeForces - 1730B Meeting on the Line 题解:思维,找货舱位置/二分答案 首先直接来引理,假设现在一个数轴上有许多点,那么一个点到这些点距离最短之和的点肯定在数轴最左端点和最右端点的中间$(x_{max}+x_{min})/2$ 知道引理后我们直接来看题目,但是 阅读全文
posted @ 2023-01-08 13:09 Zeoy_kkk 阅读(29) 评论(0) 推荐(0) 编辑
摘要: CodeForces - 1760F Quests 题解:二分答案 首先我们来分析一题目,如果说K越大,我们在d天里很有可能得不到C个硬币,所以K的最大值一定在合法答案和不合法答案的临界点,并且这些答案是单调的,所以我们直接考虑二分答案; 1.考虑不可能的情况:当K=0时,那么我们D天每天都去做获得 阅读全文
posted @ 2023-01-08 11:23 Zeoy_kkk 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 二分 整数域上的二分 int l = 1, r = 1e9; while (l <= r) { int mid = l + r >> 1; if (check(mid)) l = mid + 1; //l始终代表合法答案的上一个 else r = mid - 1; //r始终代表不合法答案的下一个 阅读全文
posted @ 2023-01-08 09:54 Zeoy_kkk 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Radar Installation 题解:区间选点问题 为什么是区间选点呢?关键是我们反着来看,如果将岛屿看成圆心,我们以雷达照射范围d为半径,我们可以X轴上找到一段区间,这段区间都可以放雷达使得该岛屿能被照射到,所以一个个雷达就产生了一个个区间,让雷达数最少覆盖所有区间,不就是区间选点嘛 #in 阅读全文
posted @ 2023-01-07 00:55 Zeoy_kkk 阅读(21) 评论(0) 推荐(0) 编辑
摘要: Buy Low Sell High 题解:反悔贪心 买股票,一天要么买进,要么卖出,要么什么也不干,求最大利润,首先我们很显然知道了这是一道反悔贪心的题目,我们选择全部买入,但是关键点在于我们怎么反悔 9 10 5 4 7 9 12 6 2 10 比如说这个样例,明显从5买入,12卖出优于从5买入, 阅读全文
posted @ 2023-01-07 00:49 Zeoy_kkk 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Stas and the Queue at the Buffet 题解:贪心+思维 我们看到公式$ai⋅(j−1)+bi⋅(n−j)$,直接进行化简得到 $$ (a[i]-b[i])j+nb[i]-a[i] $$ 我们就知道$n*b[i]-a[i]$是个定值,所以我们把差值最大的放在前面,把最小的放 阅读全文
posted @ 2023-01-07 00:31 Zeoy_kkk 阅读(15) 评论(0) 推荐(0) 编辑
摘要: Crossing River 题解:贪心 经典过河问题:先对过河的人速度降序排序,我们要知道想要使时间最短,有两个地方可以贪心 1.去的时候减少时间浪费,就是说让两个速度慢的人一起过河 2.回来的时候减少时间浪费,就是说让速度最快的回来 然后我们直接模拟分析 当n==1时,直接过河 ans += a 阅读全文
posted @ 2023-01-07 00:23 Zeoy_kkk 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Bread 题解:哈夫曼树模型 该题目是给出根节点,求出其WPL,但是我们要仔细阅读,题目说面包是可以被剩余的,所以我们只要将剩余的面包当成子节点放进队列即可 #include <bits/stdc++.h> #define Zeoy std::ios::sync_with_stdio(false) 阅读全文
posted @ 2023-01-07 00:04 Zeoy_kkk 阅读(43) 评论(0) 推荐(0) 编辑
摘要: Destroyer Takahashi 题解:区间选点问题 这里面他又给出了D,D其实可以代表他从右端点还可以往外延申D-1 的长度,实际上每次的$now=a[i].r+D-1$ #include <bits/stdc++.h> #define Zeoy std::ios::sync_with_st 阅读全文
posted @ 2023-01-06 23:59 Zeoy_kkk 阅读(21) 评论(0) 推荐(0) 编辑
摘要: [Painting the Array I](贪心入门 - Virtual Judge (vjudge.net)) 题解: 要使得数组a分成的两个数组长度之和最长,我们设$a^{(0)}$数组末尾元素为$ed0$,$a^{(1)}$数组末尾元素为$ed1$,一开始两个数组都为空,所以ed0=ed1= 阅读全文
posted @ 2023-01-06 23:46 Zeoy_kkk 阅读(23) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页