摘要: 看到本题,很容易想到贪心,对每一段相同的子串计算最小代价。但这种思路的评测结果显示有 \(3\) 个测试点 WA 了,因此解法错误。既然贪心行不通,我们不妨使用 dp,对每一位进行分类讨论并求最小耗时。 设 \(dp_{i,j}\) 表示 Capslock 状态为 \(j\) 时(\(j\) 为 \ 阅读全文
posted @ 2024-01-20 18:12 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 由题意可知,猫猫至少需要进行 \(n\) 的数位和次操作。注意到一个关键信息,当有前导 \(0\) 时猫猫会立刻拿走该雪糕棒,因此此时不能修改其数值。所以结论也就出来了:当 \(n\) 中存在 \(0\) 时,答案为 \(n\) 的数位和加 \(9\),否则当任意一位修改为 \(1\) 时,修改其为 阅读全文
posted @ 2024-01-20 18:12 liyilang2021 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 分析题意可知, \(a_i\) 始终为正数。将 \(a\) 从小到大排序后,\(a_1\) 无法做任何修改,所以 \(a\) 的奇偶性与 \(a_1\) 的奇偶性相同。对 \(a_1\) 的奇偶性进行分类讨论: \(a_1\) 为奇数 对于每个 \(a_i\),若 \(a_i\) 为奇数,则不做任何 阅读全文
posted @ 2024-01-20 18:11 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 由于题目保证有解,因此可以保证一定不超过 \(k\),可以忽略这个条件。要使得 $ |a_i - b_i| $ 最小,很容易想到贪心做法,将 \(a\) 和 \(b\) 分别排序,将位置相同的两个作为一对计算答案。显然这种做法能保证答案最小,证明过程不详解。 代码如下: #include <iost 阅读全文
posted @ 2024-01-20 18:08 liyilang2021 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个有 \(n\) 个点的无向图。初始没有任何边。 接下来有 \(q\) 次操作,分为 \(2\) 种类型: 1 u v:连接 \(u\) 和 \(v\),保证没有重边、自环。 2 v:删除连接 \(v\) 的所有边。 每次操作后,输出没有连接其它任何点的点的数量(即度数为 \(0\) 的 阅读全文
posted @ 2024-01-20 18:07 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意 一个人要送礼物给另外两个人,现有 \(n\) 件礼物要选一件送给第一个人,价值分别为 \(a_1,a_2,\cdots,a_n\),有 \(m\) 件礼物要选一件送给第二个人,价值分别为 \(b_1,b_2,\cdots,b_m\)。求在两件礼物之差不超过 \(d\) 的情况下,价值总和的最大 阅读全文
posted @ 2024-01-20 18:07 liyilang2021 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题意 有 \(n\) 个字符串,它们的长度都为 \(m\)。问能否通过改变它们的顺序,使得后一个字符串能由前一个字符串只改变一个字母而得到? 思路 本题数据范围 $ 2 \le N \le 8 $,非常小,因此可以考虑全排列枚举所有的情况,最后检验是否存在符合要求的顺序即可。 代码如下: #incl 阅读全文
posted @ 2024-01-20 18:06 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 很显然,满足条件的子段的异或和均为 \(0\)(因为每个数都出现了偶数次,而两个相同的数的异或值为 \(0\))。问题转化为求异或和为 \(0\) 的子段的个数。 不难想到,可以从前往后扫一遍,并且计算异或和,可以得出起点为 \(1\) 且满足条件的子段。那么如何计算中间的子段数量?有如下可行的方案 阅读全文
posted @ 2024-01-20 18:06 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题意 \(n\) 个袜子,每个袜子有一个颜色,如果有两个袜子的颜色相同,则可以把它们配成一对袜子。求一共能配成多少对袜子。 思路 看到颜色值域 \(1 \le a_i \le 10^9\),用普通的数组存不下。可以考虑对序列 \(a\) 排序,求出相同颜色袜子的数量 \(k\),则可以产生 \(\l 阅读全文
posted @ 2024-01-20 18:05 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题意 有 \(n\) 个人在银行里排队等待工作人员叫号。接下来有 \(q\) 个事件,事件的类型分为 \(3\) 种。 1 工作人员叫一个当前未被叫号的人过来。 2 x 代表编号为 \(x\) 的人来了(保证 \(x\) 至少被叫号一次)。 3 重复呼叫没有来的人当中编号最小的,并要求输出其编号。 阅读全文
posted @ 2024-01-20 18:05 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑