随笔分类 -  题解

摘要:思维路径 容易注意到,这个赛制对于 BaoBao 非常不友好,因为 DreamGrid 可以通过他出的牌来决定自己的出牌。也就是说,我们不需要关注 BaoBao 的出牌顺序,只需要关注他出的每一张牌对应 DreamGrid 出的牌即可。 对于 DreamGrid 来说,对于 BaoBao 的每一张牌 阅读全文
posted @ 2025-10-05 18:17 lemon-cyy 阅读(18) 评论(0) 推荐(0)
摘要:思维路径 首先我们显然可以暴力模拟m次用餐情况,得到答案,但是这显然会超时。 进而模拟整个过程,可以发现每种食材会在会提升第偶数个人的幸福值。 由此我们可以推出在经过偶数圈用餐后,火锅内的食材会恢复到全 \(0\) 的状态,即产生了循环。 因此我们不需要循环 \(m\) 次来计算,而是只需要循环 \ 阅读全文
posted @ 2025-10-05 17:56 lemon-cyy 阅读(19) 评论(0) 推荐(0)
摘要:题意简述 给定一个有 \(n\) 个节点的树,要求输出所有的节点 \(u\) 使得当这棵树以 \(u\) 为根的时候,其儿子为根的子树大小小于节点数 \(n\) 的一半。如果没有这样的 \(u\) 输出 NONE。 思维路径 首先考虑计算子树大小,使用 dfs 遍历一遍即可,时间复杂度为 \(O(n 阅读全文
posted @ 2025-07-02 14:44 lemon-cyy 阅读(50) 评论(0) 推荐(0)
摘要:题意简述 给定 \(n\) 个点,要求构造出一棵树,同时有 \(m\) 个事件,第 \(i\) 个事件要求 \(u_i\) 和 \(v_i\) 用两条树边连接,即当中相隔一个点。若存在构造方案,输出 Yes 并输出其中一种方案,否则输出 No。 思维路径 首先简化问题,假如我们想让一堆点互相相隔一个 阅读全文
posted @ 2024-02-20 09:11 lemon-cyy 阅读(71) 评论(0) 推荐(0)
摘要:题意简述 原题已经很简了,没有什么简述的必要了。 思维路径 请注意本题解可以保证正确性但不保证如果有极端的 Hack 数据能够通过。 拿到这道题上来的暴力想必是很容易的,即枚举每个 \(L\) 判断是否合法。 接着我们就考虑优化,减少需要枚举的 \(L\) 的量。题目中要求余数最多有 \(3\) 种 阅读全文
posted @ 2024-02-07 10:29 lemon-cyy 阅读(97) 评论(0) 推荐(0)
摘要:题意简述 给点一棵有 \(n\) 个节点的树,在每个时间点都会在某个节点出现一瓶药水,记 \(p_i\) 为第 \(i\) 个时间点出现药水的节点,定义一次遍历为从 \(1\) 号节点走到任意节点,要求在遍历次数最少的情况下拾取最多数量的药水。 思维路径 首先我们要探讨遍历次数最少的状态是怎样的。由 阅读全文
posted @ 2024-02-07 10:06 lemon-cyy 阅读(129) 评论(0) 推荐(0)
摘要:题意简述 给定一个长度为 \(n\) 的序列,求 \(\sum\limits_{i=1}^{ n}\sum\limits_{j=1}^{n}{((d_i\oplus d_j)+(d_i \otimes d_j))}\)。 思维路径 观察数据范围可以发现 \(n\le 2\times 10^6\) 而 阅读全文
posted @ 2024-01-29 11:30 lemon-cyy 阅读(60) 评论(0) 推荐(0)
摘要:题意简述 给定一个括号序列,求整个序列的美丽值最大。 思维路径 见到序列和权值,很容易想到需要用 DP。 我们定义 \(f[i][j]\) 表示第 \(1\) 到 \(i\) 个括号产生的美丽值最大值,其中 \(j=0\) 表示第 \(i\) 个括号本身不参与美丽值贡献,\(j=1\) 表示第 \( 阅读全文
posted @ 2024-01-29 09:40 lemon-cyy 阅读(72) 评论(0) 推荐(0)
摘要:题意简述 给定字符串 \(a\) 和 \(b\),每次从 \(a\) 串或 \(b\) 串中选出一个字符加入 \(c\) 串,要求 \(c\) 串的字典序最小。特别地,在 \(c\) 串中不能出现连续 \(k\) 次来源相同的字符。 思维路径 由于字符是随意选取的,易于发现每次选 \(a\) 串中字 阅读全文
posted @ 2024-01-24 14:37 lemon-cyy 阅读(65) 评论(0) 推荐(0)
摘要:题意简述 给出一棵无根树,求以那些节点为根时,与它直接相连的节点,它们的子树大小都相同。 思维路径 首先,显而易见的是,在 \(1 \le n \le 10^6\) 的数据范围下,我们不可能通过对每个节点作为根判断一次。因此,我们考虑选取一个节点为根计算全部。 我们作图来分析一下。 如上图,我们针对 阅读全文
posted @ 2024-01-06 19:15 lemon-cyy 阅读(66) 评论(0) 推荐(0)
摘要:思维路径 根据映射,我们可以发现数字的规律必定是两两互换,即若 \(f_a\) 是 \(b\) ,那么 \(f_b\) 一定是 \(a\) 。 我们可以通过手算 \(1\) 到 \(4\) 的数据,观察规律。 观察第 \(4\) 行的数据。 以 \(1\) 为始的数据后面跟的三个数据正好与第三行的顺 阅读全文
posted @ 2024-01-06 19:14 lemon-cyy 阅读(72) 评论(0) 推荐(0)
摘要:题意简述 给定两个点(即 FJ 和 Bessie)和两条路径,让这两个点沿着路径移动,求每移动一次的能量总和。 思维路径 典型的动态规划题,我们设计状态,设 \(f_{i,j}\) 表示 FJ 走到第 \(i\) 个点,Bessie 走到第 \(j\) 个点最少的能量总和。 因为他们两个都可以在某一 阅读全文
posted @ 2024-01-06 19:14 lemon-cyy 阅读(83) 评论(0) 推荐(0)
摘要:题意简述 其实就是每次将相邻两个数替换为它们的和,代价为两个数的和,直到只剩一个数,求最小代价和以及操作方式。 思维路径 我们可以先求出最小代价,很明显可以用 dp 来做。定义 \(f_{i,j}\) 为合并第 \(i\) 个数和第 \(j\) 个数的最小代价,\(s_i\) 表示前 \(i\) 个 阅读全文
posted @ 2024-01-06 19:13 lemon-cyy 阅读(58) 评论(0) 推荐(0)
摘要:其实很简单的一道题。 思维路径 其实题目主要要考虑的就是以下三个条件。 每个人都要送一样多的硬币。 每个硬币都必须是不同的。 所有人送的硬币至少有 \(L\) 个是 Ivan 没有的。 我们一个一个来看。 每个人都要送一样多的硬币。 一共有 \(M\) 个朋友,所以说总共送的硬币的个数为 \(M\) 阅读全文
posted @ 2024-01-06 19:13 lemon-cyy 阅读(64) 评论(0) 推荐(0)
摘要:题目简述 给定一个字符串 \(t\),由一个字符串 \(s\) 和这个字符串去掉所有 a 组成。求字符串 \(s\)。 思路 首先我们分析给定的字符串 \(t\),它由 \(s\) 和 \(s\) 去掉所有 a 形成的字符串 \(s'\) 组成。那么当整个字符串 \(t\) 去掉 a 后,就得到了 阅读全文
posted @ 2024-01-06 19:12 lemon-cyy 阅读(41) 评论(0) 推荐(0)
摘要:题意简述 Kelly 寄出去 \(n\) 封邀请函,但她希望只有小于等于 \(m\) 个人收到他们自己的邀请函(即有至少 \(n-m\) 个人收到了别人的邀请函)。 思路形成 容易发现,这道题是一个典型的错排题,我们只需要分别求出 \(n-m\) 个元素到 \(n\) 个元素的错排即可。 接下来为错 阅读全文
posted @ 2023-11-13 21:08 lemon-cyy 阅读(71) 评论(0) 推荐(0)
摘要:蒟蒻在考场上花了 2h45min AC 本题 通过高度求宽度 定义一棵树的宽度为它高度的正因数个数 我们可以预处理 \(10^4\) 之内素数。 for(ll i=2; i<=10000; i++) { if(ok[i]==0) { ok[i]=i; pr[++nP]=i; } for(ll j=1 阅读全文
posted @ 2023-11-11 20:43 lemon-cyy 阅读(98) 评论(0) 推荐(0)