随笔分类 -  构造

摘要:题目链接 CF109D Lucky Sorting 2000 (1800) 解题思路 我们考虑现将原序列离散化成排列,此时约束条件严格强于原题目,然后只找一个可以交换的数字,此时约束条件依然强于原题目。 那么此时我们考虑如何操作,设可以操作的数字为 id: 如果此时数字 i 所在的位 阅读全文
posted @ 2025-02-18 10:54 wangmarui 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1738F Connectivity Addicts 解题思路 我们发现取度数大的点可以建的图显然最优秀,具体原因下面会讲,并且同一个连通块内的节点染成一种颜色一定合法。那么此时我们将所有节点从大到小排序,然后直接暴力建图即可,我们每次询问会存在两种情况,我们设询问到的节点为 \(x\ 阅读全文
posted @ 2025-02-13 23:02 wangmarui 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF2040D Non Prime Tree 解题思路 挺好的题啊,赛时 10min 胡了个正解,但是 ans 数组打成 a 虚空调试 15min,怎么回事呢。 解法一 赛时做法。 可以看出当前无论怎么填,只要状态合法,那么一定有至少一种方案可以将整棵树都被填满,但是我不会 阅读全文
posted @ 2024-12-10 23:49 wangmarui 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1370F2 The Hidden Pair (Hard Version) (*2700) 题目描述 真的很难吗? 我们首先考虑找出第一个特殊点。 我们可以先求出这两个点路径中的任意一个点。发现询问 1n 就使我们需要的询问、 接下来以这个路径中的一个点为根来确定每 阅读全文
posted @ 2024-11-10 22:39 wangmarui 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 AT_arc184_a Appraiser 解题思路 Q = 999: 我们考虑将第一个硬币与其余的硬币作比较,最后若交互库返回的 1 更多,那么说明第 1 枚硬币是假币,否则第 1 枚硬币是真币,直接存动态数组最后输出即可。 操作次数容易得出为 999阅读全文
posted @ 2024-09-22 21:17 wangmarui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:场切了,写篇题解纪念一下。 题目链接 CF1365G Secure Password 解题思路 首先有个非常显然的次数为 2×logn 次的做法,就是我们根据二进制逐位考虑即可,那么为什么次数要乘上 2 呢,因为你在求出答案时,需要通过 0,1 两种不同的数 阅读全文
posted @ 2024-08-30 00:26 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:怎么题解区里都没有随机化的题解啊 /jy。 于是就有了这篇题解。 题目链接 CF862C Mahmoud and Ehab and the xor 解题思路 思路非常简单。 首先容易发现在 n=1 时,直接构造一个 x 这个数即可。 其次我们考虑 n=2 的情况,由于 阅读全文
posted @ 2024-08-29 15:39 wangmarui 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 K-beautiful Strings CF1493C 解题思路 首先,如果原字符串是合法的直接输出原字符串即可。 然后我们考虑一个最简单的暴力,你枚举第一个你构造的字符串比原串大的字符的位置,再枚举这个字符,然后后面的肯定是从后往前贪心放即可,在此不再赘述。 这样的复杂度是 \(O(|S 阅读全文
posted @ 2024-08-24 23:50 wangmarui 阅读(5) 评论(0) 推荐(0) 编辑
摘要:duel 到的。 题目链接 CF1567D 解题思路 发现在越高的数位上,你获取的利益就会越大。 因此你肯定是每次将尽可能多的数分到最高的数位上是最优的。 但是你会发现,有可能你这样分数位后后面的数就分不到权值了,你只需要保证去掉当前分掉的权值之后,剩下可以分的权值不小于还剩下没分到的数字数量即可。 阅读全文
posted @ 2024-08-23 22:58 wangmarui 阅读(12) 评论(2) 推荐(0) 编辑
摘要:vp 到的。 题目链接 CF1889A Qingshan Loves Strings 2 解题思路 我们考虑从头到尾依次判断情况。 维护两个指针 l,r 来依次比较,直到有 al=ar。 这种情况根据题目所述是不合法的,因此我们需要依次分讨一下两种情况: \(a_l = a_ 阅读全文
posted @ 2024-07-26 21:00 wangmarui 阅读(17) 评论(0) 推荐(0) 编辑
摘要:duel 到的。 题目链接 CF1015D Walking Between Houses 解题思路 一道细节题。 思路很简单,肯定是一开始能走的越多越好,因此就有一种较好实现的方案,先每次走 n1 格,但由于每次至少要走一格,因此如果不够走了就把能走的都走掉,之后全走 1 步即 阅读全文
posted @ 2024-07-15 20:45 wangmarui 阅读(10) 评论(0) 推荐(1) 编辑
摘要:upd: 哎哎哎,原来的题解没怎么写证明被叉了 /yun 所以我来补下证明。 upd2: 修改代码,增加代码可读性。 题目链接 P10678 『STA - R6』月 解题思路 时间复杂度优于官解的做法。 首先我们观察到一个性质就是 ai=2×(n1),因为 阅读全文
posted @ 2024-07-02 16:51 wangmarui 阅读(13) 评论(0) 推荐(0) 编辑
摘要:链接 (Link) 一个好题。 就是说,你直接先求出这个数列的异或和,然后发现之后就可以两两匹配,如果无法匹配就默认这个数为 0,然后做完了。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 阅读全文
posted @ 2024-05-31 13:01 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1977B (luogu) CF1977B (codeforces) 解题思路 考虑通用做法。 我们发现如果直接用二进制来表示的话这个数会只包含 0,1 这两个数字。 发现这时阻碍我们构造的是连续的数字 1。 考虑消除连续的数字 1。 容易发现连续的数字 \(1 阅读全文
posted @ 2024-05-28 21:14 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:链接 算简单题。 你发现最大值肯定可以用 n 次查出来。 然后可以证明 ansnk。 总次数为 n+nk×k2n。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心 阅读全文
posted @ 2024-05-20 21:08 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:对下脑电波。 题目链接(luogu) 题目链接(at) 发现我们可以找出所有 x 当且仅当 x 为质数且 xmod5=3,这样任意五个数加起来就必定为合数了。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp 阅读全文
posted @ 2024-05-05 22:10 wangmarui 阅读(22) 评论(0) 推荐(0) 编辑
摘要:链接 妙妙构造题。 很容易可以看出要构造出一种可以交换相邻两格数的操作。 这部分显然可以写个爆搜找到规律。 然后进行暴力操作即可。 代码也不长。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #incl 阅读全文
posted @ 2024-04-01 20:51 wangmarui 阅读(10) 评论(0) 推荐(0) 编辑
摘要:链接 构造思路: 考虑直接构造 100×100 的方格,然后前 50×100 为黑格,后 50×100 为白格,构造形如以下方式即可。 #.#.#.#.#.#.#.# ............... #.#.#.#.#.#.#.# . 阅读全文
posted @ 2024-04-01 19:29 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑
摘要:感觉 D2 比 D1 简单 /kx /kx /kx 链接 算法一 发现一个数 x2k(0k) 时一定无法拆分。 此时直接分讨即可。 算法二 发现一个数 x 满足化为二进制下数位和为 2,可以拆成两个 2 的非负整数次幂的数。 此时直接分讨即可 阅读全文
posted @ 2024-03-03 02:08 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:链接 花花场,被前两题给背刺了。 还是来讲下这题思路吧。 算法一 随机选取两个数,正确的概率约为 1%。 期望得分 0。 算法二 两两之间都选一遍,需要选 n×(n1)/2 次。 然后建一个完全图容易求出每个数的大小。 期望得分 0。 算法三 正片 阅读全文
posted @ 2024-03-01 01:35 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑

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