06 2024 档案

摘要:看到算法标签想出来的。 Idea 设 dpi,jdp_{i,j}dpi,j​ 表示当前枚举到了第 iii 位,子串化为十进制 对 ppp 取模的余数为 jjj 的子串数量。 设 sis_isi​ 对 ppp 取余的余数为 qqq。 设 j1j_1j1​ 为上一个枚举到的 jjj,j2j_2j2​ 为 阅读全文
posted @ 2024-06-29 11:26 Weslie_qwq 阅读(35) 评论(0) 推荐(0) 编辑
摘要:状压 dp 题。 思路 对于每个字符 sis_isi​: 如果 sis_isi​ 不为 A,那么它可以是 B。我们要把这个状态算进去。 如果 sis_isi​ 不为 B,那么它可以是 A。我们要把这个状态算进去。 令 dpi,jdp_{i,j}dpi,j​ 表示当前枚举到了第 iii 位,往前 kk 阅读全文
posted @ 2024-06-27 16:28 Weslie_qwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Idea 对于一个柱子无非只有两种情况: 它比之前每一个柱子高度低。 它是目前最高的。 如果比一个柱子高度低,由题意模拟,我们找到最靠右的比它高的柱子,把答案加上即可。 设那个找到的柱子坐标为 xxx,现在模拟到了 iii,则下一个答案答案应为:(i−x+1)hi+(ansi−1)+1=(i−x+1 阅读全文
posted @ 2024-06-25 14:24 Weslie_qwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要:双倍经验:P7840。 Idea 定义一个长度为 n−2n-2n−2 的序列叫 prufer 序列。 这个序列的求法是: 选择一个树上面的编号最小的叶子节点删除。 将这个节点所连的边的另一端的点加入到序列中。 显而易见的有一个结论:一个点的度数是它的编号在序列中的出现次数加 111。 为什么?因为这 阅读全文
posted @ 2024-06-25 13:59 Weslie_qwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要:双倍经验:ABC359F。 Idea 定义一个长度为 n−2n-2n−2 的序列叫 prufer 序列。 这个序列的求法是: 选择一个树上面的编号最小的叶子节点删除。 将这个节点所连的边的另一端的点加入到序列中。 显而易见的有一个结论:一个点的度数是它的编号在序列中的出现次数加 111。 为什么?因 阅读全文
posted @ 2024-06-23 11:35 Weslie_qwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:什么时候 ABC 也开始构造了…… Idea 先判断无解。 显然最少走 nnn 步才能到终点,最多途径 n×mn\times mn×m 个格子。 上图中红色为最短的路径,蓝色为稍微绕一点路的路径,不难看出,无论我们怎么绕,都得多走至少 222 个格子回到原来的最短路上。 红线是我们的最短路径,而蓝线 阅读全文
posted @ 2024-06-16 09:21 Weslie_qwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要:其实可以说是基环树? Idea 我们都知道,nnn 个点 n−1n-1n−1 条边的图是树。 那么在上面加一条边,它就会产生一个环。 如果我们把本题的图画一下: (这只是一种可能情况,不是样例。) 虽然这个图很复杂,但是它其实只由 222 部分组成: (下面这个图是将对应连通块重新整排之后得到的,点 阅读全文
posted @ 2024-06-10 09:55 Weslie_qwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:思路 注意到数据范围:ai≤106a_i\le10^6ai​≤106,加之整除,因此考虑调和级数。 先对 aaa 排序。 我们可以在 [1,106][1,10^6][1,106] 区间内枚举 aia_iai​ 的值(注意是值)。当然也有一个小小的优化就是枚举到 ana_nan​。 然后枚举整除的商。 阅读全文
posted @ 2024-06-06 22:16 Weslie_qwq 阅读(6) 评论(0) 推荐(0) 编辑

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