摘要:
一、题目: codeforces原题 洛谷原题 The problem statement has recently been changed. View the changes. × B. Legacytime limit per test2 secondsmemory limit per tes 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 此题题意非常毒瘤,看完题根本不知道他在说什么。建议大家看看这个帖子。 然后讲一下这道题该怎么做。其实挺容易想到正解的。 首先考虑那些“永久性的商品”。我们发现这就是一个“可持久化Trie树”的板子题。大家可以看一下洛谷P4735 最大异或和。我也有一篇博客。 然后考 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 这道题是线段树分治的模板题。 首先考虑一个问题,就是如何快速判断一张图是不是二分图。只需判断这张图中是否存在奇环。我们可以使用“边带权”并查集去解决。具体来说,我们维护一个数组$d$。这个数组的功能是这样的: 如果我们想知道$x$和$y$之间的路径边数的奇偶性(当然 阅读全文
摘要:
NO.1 题目: 给出一个长为$n$的数列,以及$n$个操作,操作涉及区间加法,单点查值。 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; inlin 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 简化题意,求出在$t$串中有多少个本质不同的子串与$s$串中的某个子序列相同。 看到子串,当然先想后缀自动机。 考虑在SAM上动态规划。 设$dp(i, x)$表示考虑了$s$串的前$i$个字符,在后缀自动机的$substrings(x)$中所能与$s$串子序列匹配 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 这是一道模板题。网上的大部分写法太假了,所以就认真学了一下真的广义后缀自动机。其实还挺好懂的。 在线版 大概思路就是说每次遇到一个新串,就把las赋成1。但是这还没完,如果这样做的话,肯定会遇到$node[las].ch[s]$已经存在的情况。这时要分类讨论。 设$ 阅读全文
摘要:
一、题目: 二、思路: 容易看出,本题的意思是说,保留一张图的一些边,图就会被分割成很多个联通块。新的图至多只能有一个环。每种情况的贡献是所有联通块大小的乘积。 我们首先可以用这道题的思路,预处理出$circle(s)$,表示由$s$这个集合中的点可以组成几个环。 考虑$O(2^n)$枚举当前要保留 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 状压DP。 设$f(x,s)$表示走过点的集合为$s$,当前在$x$这个点的所有链的方案数。为了避免重复,我们强制链的起点为链上所有点最小的那一个。 设边$(x,y)$。$y$有以下几种情况。 $y$小于$s$中编号最小的点。那么如果让$s$这条链和$y$连起来,那 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 简单说一下矩阵树定理。 设$G(i,j)$为点$i$和点$j$之间边权的总和,$D(x,x)\(为\)\sum_^n G(x,j)$(可以理解为“度数”)。再设$A=D-G$。 如果是无向树,那么随便去掉$A$的某一行、某一列,求剩下矩阵的行列式。 如果是有向树,设 阅读全文
摘要:
一、题目: 洛谷原题 二、思路: 这题算是我想出来的吧,庆祝一下! 首先思考如果没有加边的情况该怎么做,那自然是一个典型的“有向图游戏”,用一遍树形DP即可解决。 具体来说,设某一方现在处于点$x$,下一步轮到他走,则$dp(x)=1$表示他必胜,$dp(x)=0$表示他必败。 若$\forall 阅读全文