合集-二分

摘要:原题链接 题解 最大值最小 二分可行性判断: 二分间断值 len  如果原序列 aiai1>len 双指针判断有没有 b+f 使得 ailen<=b+f<=ai1+len 由于只能使用一次,所以若使用两次 阅读全文
posted @ 2024-03-14 20:36 纯粹的 阅读(25) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 最大值最小化,想到了二分 而对于一个二分到的 maxlen 而言,如何判断是否存在一种分法使得最大值不大于它? 对于一个给定的二分值而言,要想成功有两个约束条件,一个是间断值不超过 maxlen ,一个是选中值之和不超过 \(\ 阅读全文
posted @ 2024-03-15 16:42 纯粹的 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 1.二分+dp code #include<bits/stdc++.h> using namespace std; string name[1000005],dp[1000005],st[1000005]; int main() { string s; cin>>s; int cnt 阅读全文
posted @ 2024-03-30 22:02 纯粹的 阅读(37) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 给定一个数组,你知道怎么计算最终答案吗? 设数组大小为 n,数组中的最小值为 x,大于最小值的个数为 pans=nx(n1)+pp[0,n1] 所以 x 越大,ans 越大 二分的前置条件有了 二分 \(x 阅读全文
posted @ 2024-05-14 19:16 纯粹的 阅读(15) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 1.由于一回合可以使用多次技能,所以直接二分回合数即可 2.回合数最多为 410 code #include<bits/stdc++.h> using namespace std; #define ll long long ll a[200005],c[200005]; 阅读全文
posted @ 2024-06-13 19:11 纯粹的 阅读(72) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 最大值,要么是原本就有,要么是一段向左加一的区间的左端点的值(经过操作之后) 因此,我们可以枚举每一个 ai 能达到的最大值(作为左端点),这样的最大值越大,所需要的 k 越大,因此我们可以二分该最大值,然后查看能否在给定的 k 内得到 code #incl 阅读全文
posted @ 2024-07-17 09:39 纯粹的 阅读(8) 评论(0) 推荐(0) 编辑
摘要:原题链接 获取题意 1.只能传送一次。 2.走树边没有限制。 3.只能传送至非相邻节点 4.路径一定是如下形式: SxT 其中要么 xT 传送要么 Sx 传送 SxyT 其中 xy 传送 \ 阅读全文
posted @ 2024-08-07 15:34 纯粹的 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示