随笔分类 - OJ—Luogu
摘要:P3830 [SHOI2012]随机树 链接 分析: 第一问:f[i]表示有i个叶子结点的时候的平均深度,$f[i] = \frac{f[i - 1] + 2 + f[i - 1] * (i - 1)}{2} $,表示新增加一个叶子结点,深度增加2,加权后取平均值。 第二问:f[i][j]表示有i个
阅读全文
摘要:P1438 无聊的数列 链接 分析: 等差数列可加,首项相加,公差相加。 代码:
阅读全文
摘要:P3426 [POI2005]SZA-Template 链接 分析: 首先T一定是S的一个前缀,也是一个后缀。 判断一个前缀s[1...i]是不是满足条件,那么求出s[1...i]在s中出现的所有位置,如果相邻的两个位置之间的距离的最大值小于等于i,那么就是满足的。 于是可以建出fail树,每次从根
阅读全文
摘要:P4717 【模板】快速沃尔什变换 链接 分析: 快速沃尔什变换模板题。 代码:
阅读全文
摘要:P5231 [JSOI2012]玄武密码 链接 分析: 首先对所有询问串建立AC自动机,然后扫描一遍母串,在AC自动机上走,没走到一个点,标记这个点走过了,并且它的fail树上的祖先节点也可以访问到(即可以匹配到主串),于是沿着fail树打标记,当到一个已经打过标记的点的时候,退出。这样保证每个点只
阅读全文
摘要:P3900 [湖南集训]图样图森破 链接 分析: 感觉像个暴力。 可以枚举回文串的回文中心,即枚举一个串,枚举一个串的位置作为回文中心,然后求出这个串内的回文串的长度。 此时如果回文串两端都没有到这个串的端点,那么以这个点作为回文中心的长度就直接算出来了。 如果回文串的长度刚好是这个串的长度,那么I
阅读全文
摘要:P3703 [SDOI2017]树点涂色 链接 分析: 首先对于询问,感觉是线段树维护dfs序,每个点记录到根的颜色个数。第二问差分,第三问区间取max。 那么考虑修改,每次将一个点的颜色变成和父节点的颜色一样的过程中,这个点的子树内都会-1。 这个修改的过程我们可以认为是修改边的过程,将一些边设为
阅读全文
摘要:P3702 [SDOI2017]序列计数 链接 分析: 首先可以容斥掉,用总的减去一个质数也没有的。 然后可以dp了,f[i][j]表示到第i个数,和在模p下是j的方案数,矩阵快速幂即可。 另一种方法:设T[1]是一个生成函数,为选了一个数,和在模p是多少的的方案数,那么T[1] * T[1] 即选
阅读全文
摘要:P3704 [SDOI2017]数字表格 链接 分析: $\ \ \ \prod\limits_{i = 1}^{n} \prod\limits_{j = 1}^{m} f[gcd(i, j)]$ $=\prod\limits_{d = 1}^{min(n, m)} \prod\limits_{i
阅读全文
摘要:P4211 [LNOI2014]LCA 链接 分析: 首先一种比较有趣的转化是,将所有点到1的路径上都+1,然后z到1的路径上的和,就是所有答案的deep的和。 对于多次询问,要么考虑有把询问离线,省去每次询问的复杂度,多个一起处理,要么做到优化掉查询。 这里发现求deep和的过程不能在省了,于是可
阅读全文
摘要:P3302 [SDOI2013]森林 链接 分析: 每个点建立从当前点向根的主席树,那么可以查询了。 考虑修改,启发式合并! 开O2才能过。。。 代码:
阅读全文
摘要:P3940 分组 https://www.luogu.org/problemnew/show/P3940 官方题解http://pan.baidu.com/s/1eSAMuXk 分析: 并查集。 首先根据K=1和K=2分成两个问题来做。 K=1:问题为分成最小数量的区间,使得每个区间满足:任意两个数
阅读全文
摘要:P2664 树上游戏 https://www.luogu.org/problemnew/show/P2664 分析: 点分治。 首先关于答案的统计转化成计算每个颜色的贡献。 1、计算从根出发的路径的答案:如果某一个颜色是从根到这个点的链上的第一次出现的,那么这个颜色会对根产生siz[x]个贡献。(根
阅读全文
摘要:P2351 [SDOi2012]吊灯 P2351 [SDOi2012]吊灯 P2351 [SDOi2012]吊灯 https://www.luogu.org/problemnew/show/P2351 题意: 一棵树,能否全部分成大小为x的联通块。 分析: 显然x是n的约数。然后对于一个约数x,判断
阅读全文
摘要:P4688 [Ynoi2016]掉进兔子洞 https://www.luogu.org/problemnew/show/P4688 分析: 莫队+bitset。 一个询问的答案就是 (r1-l1+1) + (r2-l2+1) + (r3-l3+1) - 三个区间都有的元素的个数。 前面一块可以直接求
阅读全文
摘要:P2934 [USACO09JAN]安全出行Safe Travel https://www.luogu.org/problemnew/show/P2934 分析: 建出最短路树,然后考虑一条非树边u,v,w,它可以让u->lca的路径上的点x的答案更新为dis[v]+dis[u]+w-dis[x]。
阅读全文
摘要:P3041 [USACO12JAN]视频游戏的连击Video Game Combos https://www.luogu.org/problemnew/show/P3041 分析: AC自动机。 建立AC自动机,然后dp[i][j]表示经过了i个字符,到达自动机上j这个位置,的得分。 那么dp[i-
阅读全文
摘要:P3808 【模板】AC自动机(简单版) https://www.luogu.org/problemnew/show/P3808 P3808 【模板】AC自动机(简单版) https://www.luogu.org/problemnew/show/P3808 P3808 【模板】AC自动机(简单版)
阅读全文
摘要:P3796 【模板】AC自动机(加强版) P3796 【模板】AC自动机(加强版) P3796 【模板】AC自动机(加强版) https://www.luogu.org/problemnew/show/P3796 分析: AC自动机。 建出AC自动机,然后扫一遍文本串,顺着last,统计每个模式串出
阅读全文
摘要:P3690 【模板】Link Cut Tree (动态树) https://www.luogu.org/problemnew/show/P3690 分析: LCT模板 代码: 注意一下cut!
阅读全文

浙公网安备 33010602011771号