摘要: 这玩意儿怎么看上去就很经典啊( 哦互不相同啊,那没事了( 考虑一个 \(\rm DP\)。由于限制了互不相同,那么我们考虑从值域开始想。 设 \(dp_{n,k}\) 为在 \([1,n]\) 中选了 \(k\) 个数的权值之和。 容易得到有: \(dp_{n,k}=\sum_{i=1}^{n-1} 阅读全文
posted @ 2022-01-11 20:48 Prean 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 压 位 T r i e 入 门 练 习 题(确信) 题意很清楚( 让我们先来想一想,如果没有排序操作的话,这道题应该怎么做。 我们维护一个 \(x\) 表示从开始到现在一共异或上了 \(x\),在序列末尾插入一个 \(n\) 相当于插入 \(n \bigoplus x\)。 现在的问题就是: 询问 阅读全文
posted @ 2022-01-11 15:45 Prean 阅读(52) 评论(1) 推荐(0) 编辑
摘要: 小清新 manacher 题。题意清楚。 首先看到回文,自然而然地就去想 manacher 了。先想想,manacher 到底在干嘛? manacher 做的其实是一个暴力,枚举每一个位置最远能够伸到哪儿,但是会利用前面的信息来加速暴力。 然后我们发现要求的是最大而不是所有的长度,所以就算 \(p[ 阅读全文
posted @ 2022-01-11 15:43 Prean 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 我不会数据结构/kk 我想题意应该十分清楚了。 我们知道 \(\varphi(p^k)=p^{k-1}(p-1)\),那么我们考虑将一个询问下放到右端点,然后往右移动右端点并更新每个左端点到右端点的答案。 这就变得很容易了。最开始所有位置的答案都是 \(1\)。 加入一个数 \(a\) 的时候,因为 阅读全文
posted @ 2022-01-11 15:42 Prean 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 我就是不用矩阵快速幂! 题意:一个 \(\rm 01\) 序列为合法的当且仅当没有两个相邻的 \(1\),若 \(1\) 的个数为 \(x\),\(0\) 的个数为 \(y\),这个 \(\rm 01\) 的价值为 \(x^a \times y^b\)。 请求出所有长度为 \(n\) 的 \(\rm 阅读全文
posted @ 2022-01-11 15:41 Prean 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 不会数据结构石锤了/kk 题意清晰。 我们看到 \(1\) 操作比较奇怪,考虑从 \(1\) 操作入手。 设 \(f_u\) 为 \(u\) 到根节点一共有多少种颜色,我们使用树剖来维护这个东西。 考虑进行 \(1\) 操作时,分三种情况进行讨论: \(v\) 是 \(u\) 的祖先 直接令 \(f 阅读全文
posted @ 2022-01-11 15:36 Prean 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 居然没人写常系数齐次线性递推/jy 题意明确。 首先我们注意到这个系数是在幂上面的,这道题的各种信息都是建立在乘法上的,十分不好处理,考虑求一个 \(\ln\) 将这些信息建立在加法上。 \(\ln f[n]=\sum_{i=1}^kb[i]\ln f[n-i]\) 可以发现这个问题变成了一般的常系 阅读全文
posted @ 2022-01-11 15:34 Prean 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 引用化学老师的一句话:什么矩阵,没有矩阵! 这种板子题怎么能用矩阵呢。 \(O(k^2\log n)\) 能搞定何必需要 \(O(k^3\log n)\) 呢。 首先设 \(F_n(x)=x^n \bmod {1-P(x)}\),那么我们需要求 \(\sum_{i=1}^n F_i(x) \bmod 阅读全文
posted @ 2022-01-11 15:32 Prean 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 啃论文的时候论文里面的题。 题意: 区间加 询问区间前缀和之和的最值。 我们先弱化一下问题:将“区间”二字去掉。 我们思考一下一个点可能成为答案的条件。假设现在总共进行的区间加操作令整个序列加上了 \(k\),那么 \(i\) 比 \(j\) 厉害的条件就是: \(s_j +j \times k \ 阅读全文
posted @ 2022-01-11 15:30 Prean 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 什么阴间十进制状压 题意:给定 \(n\) 数字,求定义函数 \(G(x)\) 能够表示 满足“十进制按位与为 \(x\)”的集合的平方和之和乘上 \(x\),求 \(\bigoplus _{i=0}^{999999}G(i)\)。 这个题很明显干的事情就是让我们对每个数求出一车集合,然后将这一车集 阅读全文
posted @ 2022-01-11 15:28 Prean 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 和SP13106是双倍经验哦 我们首先发现 \(m=20\),所以一言不合先状压。 然后发现状压了之后我们实际上要求的是有多少个子集按位或的值为全集,相当于求有多少个子集按位与的值为 \(0\)。(把每个集合取反) 我们先不考虑“恰好为空”这个东西,我们考虑“一定包含空”这个东西。 一定包含一个集合 阅读全文
posted @ 2022-01-11 15:25 Prean 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 膜拜 rqy。 题意: 求: \(\sum_{i=1}^n \sigma_0(i^2)\) 首先我们知道 \(\sigma_0((p^k)^2)=2 \times k + 1=k+(k+1)=\sigma_0(p^k)+\sigma_0(p^{k-1})=(\mu^2 * \sigma_0)(p^k 阅读全文
posted @ 2022-01-11 15:22 Prean 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 太厉害啦,出题人究竟是怎么想到的。 首先这题很显然可以使用费用流:对于 \(i \leq j\),连接一条边 \((i,j+n)\),流量为 \(1\),费用为 \(a_i+b_j\)。最后连接 \((0,i)(1 \leq i \leq n)\) 和 \((i+n,n+n+1)(1 \leq i 阅读全文
posted @ 2022-01-11 15:20 Prean 阅读(56) 评论(1) 推荐(0) 编辑
摘要: 给定一个排列 \(a_i\) 和一棵树,求: \(\frac 1 {n(n-1)}\sum_{i=1}^n\sum_{j=1}^n \varphi(a_i \times a_j) \times dis(i,j)\) 因为 \(a\) 是一个排列,我们考虑对其求逆。 设 \(p_{a_i}=i\),则 阅读全文
posted @ 2022-01-11 15:16 Prean 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 应该是经典题之一了。 \([n|k]=\frac 1 n\sum_{i=0}^{n-1}w_n^{ik}\) 有这个就可以算了。 \(\sum_{i=0}^n\binom n i x^ia_{i \mod 4}\) 按照套路枚举余数 \(\sum_{i=0}^n\binom n ix^i \sum_ 阅读全文
posted @ 2022-01-11 15:13 Prean 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 为什么 \(n,k \leq 20\)? 我还以为是什么 \(n,k \leq 10^6\) 的厉害题/qd 看到这个队列操作很迷惑,但是仔细看看要操作 \(10^{100}\) 遍,所以我们可以直接将这个题意理解成在 \(n\) 个数里面选 \(k\) 个数的概率。 这就很简单了,因为 \(n \ 阅读全文
posted @ 2022-01-11 15:11 Prean 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 咋黑色啊,这不是看到数据范围就去想 \(O(nT)\) 的做法吗? 然后仔细想想最靠谱的就是 DP。 设 \(dp[n][T]\) 表示听完第 \(n\) 首歌,总共听了 \(T\) 秒。 很明显有 \(dp[n][T]=dp[n-1][T-t_n] \times (1-p)^{t_n}+\sum_ 阅读全文
posted @ 2022-01-11 15:09 Prean 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 在日报上面看到的,发现 NOIP 模拟赛考过这个 trick( 首先我们把题目要求的条件这么写: \(a_i=x_i \times m+k\) 那么我们要找到满足条件的数组,差分后的数组一定都是 \(m\) 的倍数,换句话说差分后的 \(\gcd\) 一定大于 \(1\)。 这里已经可以用线段树+s 阅读全文
posted @ 2022-01-11 15:08 Prean 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题意略。 我们设 \([x^k]G_n(x)\) 代表深度为 \(n\) 的树,距离为 \(k\) 的点对数量,\([x^k]F_n(x)\) 为深度为 \(n\) 的树中,深度为 \(k\) 的节点数量。 首先列出转移式: \(F_n(x)=x+\sum_{i=2}^{n-1}x^iF_{n-i} 阅读全文
posted @ 2022-01-11 15:06 Prean 阅读(18) 评论(0) 推荐(0) 编辑
摘要: (口胡) 去年刚学 A_star 的时候以为是板子,上午推了一会儿之后受教了 遇到最短路的题先建最短路 DAG,虽然有0边但是先跑一个 Dijkstra。 然后设 \(d[u]\) 是从 \(1\) 到 \(u\) 的最短路径长度, \(f[u][k]\) 是到节点 \(u\) 且路径长度为 \(d 阅读全文
posted @ 2022-01-11 15:00 Prean 阅读(25) 评论(0) 推荐(0) 编辑
var canShowAdsense=function(){return !!0};