随笔分类 -  二分

摘要:题目链接 P11843 [USACO25FEB] The Best Subsequence G 题意简述 有一个长度为 n 的初始全为 0 的数列,现在有 m 次将 lr 区间内的所有数字都取反的操作。 有 q 次询问,每次询问形如 l r x,你 阅读全文
posted @ 2025-03-03 21:04 wangmarui 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 P11830 [省选联考 2025] 幸运数字 解题思路 40pts 考虑直接暴力 check 每个数字 x 是否能被取到。 有以下贪心方式: 如果根本不可能取到至少一个数字 x,则 x 不能被取到。 若对于一个可取数字区间有 l2xr2 阅读全文
posted @ 2025-03-03 18:20 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:更不好的阅读体验 题目链接 CF2069D(*1900) Palindrome Shuffle(luogu) CF2069D(*1900) Palindrome Shuffle(codeforces) 解题思路 本文 V 代表 26,即字符集大小。 这题是史,大家一起吃。 首先根据题 阅读全文
posted @ 2025-03-03 18:19 wangmarui 阅读(1) 评论(0) 推荐(0) 编辑
摘要:怎么没人写好写的 ST 表呢。 题目链接 CF601B Lipshitz Sequence (luogu) CF601B Lipshitz Sequence (codeforces) 解题思路 其实一眼可以发现选相邻的是最优的。 证明: 若这个区间中的数字为 [a,b,c],此时若选择 \( 阅读全文
posted @ 2025-01-28 16:01 wangmarui 阅读(3) 评论(0) 推荐(0) 编辑
摘要:哎哎,太毒瘤,哎哎,太深刻。 题目链接 AT_abc140_e [ABC140E] Second Sum 解题思路 考虑有以下基本性质: 在 1n 的数列上,包含 i(1in) 点的区间(端点为整数)个数为 \(i \times (n - i + 1 阅读全文
posted @ 2024-12-13 00:04 wangmarui 阅读(6) 评论(2) 推荐(0) 编辑
摘要:题目链接 CF1370F2 The Hidden Pair (Hard Version) (*2700) 题目描述 真的很难吗? 我们首先考虑找出第一个特殊点。 我们可以先求出这两个点路径中的任意一个点。发现询问 1n 就使我们需要的询问、 接下来以这个路径中的一个点为根来确定每 阅读全文
posted @ 2024-11-10 22:39 wangmarui 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 P11267 【MX-S5-T1】王国边缘 解题思路 先考虑对于 1n 中的每一个点往后跳 1 次会跳的距离。 那么为什么只用处理 1n 这些点而不去处理其余的点往后跳的距离呢? 我们可以发现,由于字符串是无线循环的,所以对于位置模 \(n\ 阅读全文
posted @ 2024-11-09 13:28 wangmarui 阅读(27) 评论(1) 推荐(0) 编辑
摘要:这题 *2400 纯唐吧,感觉 *1800 差不多。 题目链接 CF2036G Library of Magic(*2400) 解题思路 注: 表示异或运算。 首先我们想一个通解,就是先二分出第一个数和第三个数,然后第二个数就是所有数的异或和异或上这两个数,操作次数为 \(2 \ 阅读全文
posted @ 2024-11-04 00:02 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:怎么没有二分的题解啊,写一篇。 题目链接 CF1301C Ayoub's function 解题思路 发现我们可以将问题转化成将 nm1 分成 m 份,设第 i 份的数字之和为 sumi,则这样的分配方案的贡献为 \(\frac{n \times 阅读全文
posted @ 2024-09-06 18:27 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑
摘要:简单题。 题目链接 CF862D Mahmoud and Ehab and the binary string 解题思路 首先我们可以发现,字符串的第一个字母不是 1 就是 0,因此我们可以容易花费 2 次询问来找到数字 0 或数字 1 所在的一个位置。 然后 阅读全文
posted @ 2024-08-29 15:54 wangmarui 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1360H 解题思路 发现你可以十分高效的统计小于等于 x 的合法的数字数量。 并且你可以发现,当 x 递增时,合法的数字数量是不递减的,因此合法的数字数量是具有单调性的。 于是可以进行二分答案。 那么如何进行 check 呢?我们先将不可选用的二进制数字给转化成数字, 阅读全文
posted @ 2024-08-25 00:42 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1486C1 CF1486C2 解题思路 提供一个比较显然的思路。 我们发现我们可以先求出整体的最小值,然后设整体最小值所在的位置为 id,则我们可以通过 1 次询问 [1,id] 来求出最大值的位置是在 [1,id) 还是在 (id,n]。然后 阅读全文
posted @ 2024-08-07 21:36 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1996F 解题思路 考虑二分。 我们发现,我们肯定是拿此时的价值最大的物品。 因此,当所有的物品再拿一次后会小于等于 x 时拿走的物品数量,在 x 缩小时,答案是单调不减的。 因此,我们可以令二分当所有的物品再拿一次后会小于等于 x 时的物品总价值是多少,注意 阅读全文
posted @ 2024-07-27 01:29 wangmarui 阅读(23) 评论(1) 推荐(0) 编辑
摘要:题目链接 CF1454F Array Partition 解题思路 我们发现显然第一个和第三个区间的值区间随着长度的增大而增大。 于是我们就可以枚举第一个区间的右端点位置,然后现在问题就转化成了找到一个断点来确定第二,三个区间的长度,由于前文提到的第三个区间的值区间随着长度的增大而增大,于是我们就可 阅读全文
posted @ 2024-07-05 20:46 wangmarui 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题目链接 AT_abc360_d (luogu) AT_abc360_d (atcoder) 解题思路 一个性质是,往左边走的蚂蚁无论怎么样都追不到左边的蚂蚁,而往右边走的蚂蚁无论怎么样都追不上右边的蚂蚁。 因此我们考虑将蚂蚁分为往左往右走的两堆。 发现对于每个蚂蚁都能走过一段区间,因此直接二分将右 阅读全文
posted @ 2024-07-02 16:49 wangmarui 阅读(13) 评论(0) 推荐(0) 编辑
摘要:代码训练 2024.6.16. 二分并查集板子。 链接 直接上代码。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Pr 阅读全文
posted @ 2024-06-16 00:29 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:代码恢复训练 2024.6.13. 题目链接 CF1985F (CF) CF1985F (luogu) 解题思路 由于一个回合可以用所有无冷却的技能,因此我们对于技能肯定是能用就用的。 进而推出答案具有单调性。 直接二分答案即可,注意二分边界问题,这里我开了 __int128 来避免这个问题。 参考 阅读全文
posted @ 2024-06-13 23:22 wangmarui 阅读(21) 评论(0) 推荐(0) 编辑
摘要:代码恢复训练 2024.6.7. 题目链接 CF1979C (codeforces) CF1979C (luogu) 解题思路 我们发现,如果答案序列的和小于等于 x 时是合法的,那么容易得出答案序列的和小于等于 x+1 时也是合法的。 因此我们发现答案序列的和的合法性是具有单调 阅读全文
posted @ 2024-06-07 22:23 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1759F All Possible Digits(luogu) CF1759F All Possible Digits(codeforces) 题意简述 有一个长度为 np 进制数,你需要求出至少通过几次操作才可以让 0p1 这 \(p 阅读全文
posted @ 2024-05-23 15:13 wangmarui 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-05-14 16:58 wangmarui 阅读(0) 评论(0) 推荐(0) 编辑

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