随笔分类 - 算法
算法学习笔计?
摘要:开坑!最后有我的多项式板子。 \(\text{T1}\):AT_agc005_f 对于每一个 \(u\) 分别考虑。反面考虑,计算 \(u\) 不被放进点集的方案数。于是我们可以得到 \(u\) 的贡献为: \[\dbinom nk-\dbinom{n-siz_u}{k}-\sum_{v \in s
阅读全文
摘要:1.群 1.1.群的定义 定义集合 \(G\) 的作用于集合 \(G\) 的运算符 \(\times\),若满足一下己个性质则称之为一个群(\({\text{Group}}\)),记为 \((G,\times)\): 1.封闭性 若满足 \(a,b \in G\),则有 \(a\times b \i
阅读全文
摘要:看了眼 P5903 的题解区,方法还是挺多的,那我就浅浅的总结一下。 Algorithm 1 最简单的,直接往他的父亲节点跳,单次询问复杂度 \(\mathrm O(n)\),总复杂度为 \(\mathrm O(qn)\)。这是最基础的写法。 Algorithm 2 我们用倍增的思想来做,这个也很简
阅读全文
摘要:problem & blog 太神仙了 Algroithm 1 先考虑一下 \(5 \times (n + b)\) 的做法。 假如说我们维护一个栈,来维护已经求出的最大前缀,同时他满足以下条件: 栈的个数 = 当前维护的最大前缀的位数 栈中自底向上第 \(k\) 个元素的二进制前 \(k\) 位与
阅读全文
摘要:更棒的阅读体验。 \(\text{1 }\) 耳和耳分解 \(\text{1.1 }\) 耳和耳分解 对于一个无向图 \(G = (V,E)\),有一个子图 \(G_1 = (V_1,E_1)\)。若有一条环或者简单链 \(L:u_1 \to u_2 \to \cdots \cdots \to u_
阅读全文
摘要:problem & 双倍经验 & blog 低配版本 没有 Ynoi 标志性算法卡常,这点差评。 拆解问题 定义 \(lst_i\) 为上一个和 \(i\) 号点相同的位置。 由于几个转移都差不多,我们以 \([l,r - 1]\) 扩展到 \([l,r]\) 为例。 我们知道答案会加上 \([ls
阅读全文
摘要:Part -1 前言 本文为莫队学习笔记,如果有错误,请提出,谢谢捏。 窝的题单可以配套使用 Part 0 目录 普通莫队 1.形式 2.算法流程 3.小trik 4.例题 1.小Z的袜子 2.AHOI2013作业 3.八云蓝自动机 Ⅰ 带修莫队 1.引入 2.过程 3.实现 回滚莫队 1.引入 2
阅读全文
摘要:problem & blog 数位 dp 模板题。 经过一次操作,可以把 \(n\) 变成一个小于 \(10^3\) 的数。 所以我们可以把所有小于 \(10^3\) 的数操作的次数全部处理出来。 然后就是正常的数位 dp。 定义 \(dp_{s,num,lim}\) 表示剩 \(s\) 位,有 \
阅读全文
摘要:problem 希望这篇题解不要明年才审完。 标签:线段树 记录 \(Lsum_p\) 为这个区间有多少个 ( 不能匹配,\(Rsum_p\) 为这个区间有多少个 ) 不能匹配。 对于叶子结点如果是 ( 那么 \(Lsum_p\) 为 \(1\),否则 \(Rsum_p\) 为 \(1\)。 如果不
阅读全文
摘要:problem 我们可以考虑什么情况下这个点一定可以到黑点。 \(c_i = 1\)。 \(c_{son} = 1\)。 儿子可以,并且儿子子树内有两个黑点 请两个不必多说,看最后一个。 假如说考虑他的儿子能到的情况的第一个选择的点,那么我们选择另外一个即可到达儿子,那么我们就可以到达黑点。 然后我
阅读全文
摘要:problem 容斥好题,结果题解里面一堆 \(\text{NTT}\)。 如果我们去掉有多少个人喜欢什么东西的条件,那么这个题就直接枚举有 \(i\) 组同学会一起讨论蔡徐坤。这一个问题十分容易。 使用容斥原理来做,然后容斥的系数是 \((-1)^i\) 想必这个东西对于大家来说是十分简单的。 如
阅读全文
摘要:problem & blog 首先我们看到 \(x,y\) 有可能为负数,所以我们先把它旋转到第一象限。 然后我们发现如果 \(x_a \ge x_b\) 且 \(y_a \ge y_b\) 那么 \(b\) 点就是无效的,应为他肯定可以被以左下角为 \((0,0)\),右上角为 \((x_a,y_
阅读全文
摘要:引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关。 这类问题通常的特点是,如果只考虑在序列的一侧插入,问题将容易解决。 枚举插入顺序的复杂度通常难以接受,转移时枚举插入位置又难以记录已插入元素的信息。 所以我们就要用连续段 dp。 dp 模型 连续段 dp 的好处在于,
阅读全文
摘要:10黑寄。 problem & blog 考虑到处理加边并不简单,所以我们可以考虑一个黑点 \(p\),连边\((u,p)(p,v)\)。 考虑在现在这棵树上连个点在原图中有变相连相当于有一个公共的 \(p\) 是它们的邻居。 于是删边操作等价于将一个点的儿子黑点并到父亲黑点上。 为了统计答案我们设
阅读全文
摘要:problem & blog 子任务 \(1\) 和子任务 \(2\) 都比较好做。所以我们这里不讲。 状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色的频率都是多余的。 由于 \(n \le 10\) 所以我们可以维护这个值。 现在我们浏览这只小黄鸭选择的所
阅读全文
摘要:problem && blog 第一道正经的 Ynoi,特此写篇题解纪念一下。 Algorithm 1 可以想到 \(O(nm)\) 的 DP。 我们定义 \(dp_u\) 为 \(u\) 子树内并包含 \(u\) 的连通点集,权值之和最大。 所以就有 DP 式啦!! \[dp_u = a_u +
阅读全文
摘要:problem & blog 很明显是个 DP。 于是我们定义 \(dp_{i,j,k}\) 为末尾的字符的 ASCII 码为 \(i\),有 \(j\) 个大写字母,\(k\) 个小写字母。 然后在枚举能接在 \(i\) 之后所有字母即可。 然后考虑 \(dp_{i,j,k}\) 给后面的 DP
阅读全文
摘要:都不知道什么时候做的题了 problem & blog 一开始很容易想到枚举断边然后 DP 算代价。 于是很容易想到 DP 状态定义:设 \(dp_u\) 为从 \(u\) 出发到 \(n\) 的期望步数。 那么显然有 \(dp_u = \sum^{v_n}_{v_1} \dfrac{dp_{v_{
阅读全文
摘要:problem & blog 反转的边最大权值最小,想到二分。 于是二分代价即可。 反转代价小于二分的代价的边可以反转,所以再建一条反向边即可。 在 DAG 中,存在一个点可以到达所有的点的条件是入度为 \(0\) 的点有且只有一个。 所以二分判断的时候将可以反转的边转化为无向边,然后缩点,形成 D
阅读全文