摘要: P4516 Solution link 树形dp。设 \(dp_{u,k,0/1,0/1}\)表示以 \(u\) 为根的子树内安装了 \(k\) 个设备,点 \(u\) 是否安装了设备,点 \(u\) 是否被监听时子树内除 \(u\) 都被监听的方案数。 注意到状态涉及到了设备的数量,转移的时候需要 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(7) 评论(0) 推荐(0)
摘要: P4449 Solution link \[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^m\gcd(i,j)^k&=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^md^k[\gcd(i,j)=d]\\ &=\sum_{d=1}^n\sum_{ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(4) 评论(0) 推荐(0)
摘要: P4345 Solution link \(p=2333\) \(f(n,k) (all \bmod p \;below)\) \(\displaystyle=\sum\limits_{i=0}^k{\text{C}_n^i}\) \(\displaystyle=\sum\limits_{i=0}^ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(26) 评论(0) 推荐(0)
摘要: P4173 Solution link 对于一般的字符串匹配,我们可以用 FFT 在线性对数复杂度内解决。 对于这题,我们无法用常用的 KMP 算法解决。考虑对原先的 FFT 匹配算法进行一些修改。 原先 \(t\) 能够匹配 \(s\) 中以第 \(x\) 位结尾的 \(m\) 个字符当且仅当 \ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(4) 评论(0) 推荐(0)
摘要: P4137 Solution link 考虑建主席树:权值线段树的叶子维护这个权值最后出现的下标,push_up 的时候取 \(\min\)。 这样一个区间的 \(\min\) 小于 \(k\) 意味着有一个权值最后出现的下标小于 \(k\),也就是说 \(k\) 后面没有出现这个权值。 也就是说 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(13) 评论(0) 推荐(0)
摘要: P3990 Solution link 一次只能跳一步的情况下: \(dp_{i,j}=dp_{i-1,j-1}+dp_{i-1,j}+dp_{i-1,j+1}\) 接下来考虑能跳奇数步:你发现跳 \(3\) 步相当于先跳一个奇数 \(1\) 再跳一个 \(2\),跳 \(5\) 步相当于先跳一个奇 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(5) 评论(0) 推荐(0)
摘要: P3773 Solution link \[\binom n m\bmod2=\binom{n\bmod2}{m\bmod2}\binom{n/2}{m/2}\bmod2 \]我们要让 \(\binom n m\bmod2\) 不为 \(0\),也就是让右式的两项均不为 \(0\)。 考虑 \(\b 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(7) 评论(0) 推荐(0)
摘要: P3768 Solution link \(\begin{aligned} \sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j) &=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^nijd[\gcd(i,j)=d]\\ &=\sum_{d=1}^nd^3\s 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(10) 评论(0) 推荐(0)
摘要: P3761 Solution link 首先 \(\mathcal O(n)\) 枚举断边。考虑连接两棵树的哪两个点会最优: 设 \(maxl_u\) 表示 \(u\) 所在的树以 \(u\) 为根后根到叶子长度的最大值。那么显然就是连接两棵树中 \(maxl_u\) 最小的两个点。 \(maxl_ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(14) 评论(0) 推荐(0)
摘要: P3435 Solution link 画个图: 显然四个黄色部分是相等的。也就是说,黄色部分是 A 的一个 border。 根据题目,周期的长度也就是 Q 的长度,也就是 A 的长度减去它的某个 border 的长度。 现在要求这个最大,由于 A 的长度固定,要求的也就是 A 的最小 border 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(6) 评论(0) 推荐(0)
摘要: P3426 Solution link 考虑 dp。设 \(dp_i\) 表示至 \(i\) 的字符串的答案。 KMP 求出 nxt 数组,那么显然 \(dp_i\) 要么等于 \(i\) 要么等于 \(dp_{nxt_i}\)。 什么时候 \(dp_i\) 等于 \(dp_{nxt_i}\) 呢? 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(9) 评论(0) 推荐(0)
摘要: P3306 Solution link \(x_{i+1}\equiv a\times x_i+b \pmod p\) \(x_{i+1}\equiv a(ax_{i-1}+b)+b \pmod p\) \(x_{i+1}\equiv a(a(ax_{i-2}+b)+b)+b \pmod p\) \ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(9) 评论(0) 推荐(0)
摘要: P3263 Solution link 求 \(\displaystyle\left\lfloor\left(\frac{b+\sqrt d}2\right)^n\right\rfloor \bmod 7528443412579576937\)。 首先看到这个式子的形式,我们先把向下取整扔掉,研究里 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(12) 评论(0) 推荐(0)
摘要: P3214 Solution link 为了方便,我们求有序的答案最后再除掉 \(m!\)。 题目的限制包括: 每种元素总共出现偶数次 不存在相同的两个集合 没有空集 考虑偶数的限制,你发现每个集合中元素出现次数要么 \(0\) 要么 \(1\)。 于是如果你确定了前 \(m-1\) 个集合,最后一 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(9) 评论(0) 推荐(0)
摘要: P2791 Solution link 给你 \(N,M,S,L\),\(S\) 组询问,每次给出 \(n,m,k\),表示有 \(m\) 个 \(1\) 和 \(n-m\) 个 \(0\),求随机选出 \(k\) 个数的和的 \(L\) 次幂的期望,模数 \(998244353\)。 \(S\le 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(18) 评论(0) 推荐(0)
摘要: P2704 Solution link 很显然是状压dp。设 \(dp_{i,S}\) 表示第 \(i-1\) 行和第 \(i\) 行拼起来的状态为 \(S\),则每次枚举这一行的状态,检验是否符合地图限制、是否与上一行无交即可。 为了防止爆空间和 TLE,一开始可以先预处理一行的合法状态和两行的合 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(6) 评论(0) 推荐(0)
摘要: P2352 Solution link 扫描线即可。 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(10) 评论(0) 推荐(0)
摘要: P2150 Solution link 首先两人选的数两两互质相当于两人的质因数集合无交。 先考虑 \(n\le 30\):由于 \(30\) 内的质因只有 \(10\) 个,我们考虑状压 \(dp\)。 设 \(dp_{i,S1,S2}\) 表示考虑到第 \(i\) 个数,G 选了质因数集合 \( 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(23) 评论(0) 推荐(0)
摘要: P1850 Solution link 看到最小期望值,考虑dp。 由于点的数量小于 \(300\),我们可以先用 Floyd 预处理出两点之间的最短路。 设 \(dp_{i,j,0/1}\) 表示前 \(i\) 间教室申请了 \(j\) 间,第 \(i\) 间教室是否申请的最小期望长度。 下面设 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(7) 评论(0) 推荐(0)
摘要: P1587 Solution link 给你 \(n,m,k\),求满足 \(1\le x\le n,1\le y\le m\) 且最简分数 \(\dfrac x y\) 是 \(k\) 进制下纯循环小数的二元组 \((x,y)\) 个数。 考虑纯循环小数的性质:我们知道纯循环小数的小数部分去除一个 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(12) 评论(0) 推荐(0)