摘要:
题目大意: 给定两个长度为$n$的序列,求有多少种匹配方式,使得$a_i define REP(i,a,b) for(int i=a,i _end_=b;i=i _end_; i) define debug(x) coutvoid read(T &_){ _=0; T f=1; char c=get 阅读全文
摘要:
题目大意: 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中. 现在给定 s 个结点数相同的图 G1...s, 设 S = {G1, G2, . . . 阅读全文
摘要:
题目大意: "传送门" 思路: 对于这么多的操作,以及询问时的取历史最大值,用一般的线段树显然不太好做。 于是考虑把每个操作转化成$h_i=\max(h_i+a,b)$的形式,不难发现第一种和第二种就是$h_i=\max(h_i+x,0)$,第三种即$h_i=\max(h_i inf,x)$。 于是 阅读全文
摘要:
题目大意: 给定n个点的度数序列,再添加一个点,求添加的这个点的度数为多少时,满足这n+1个点可以构成简单无向图。 思路: 首先你得要打开CF比赛里的那个wiki链接,然后有了Erdős–Gallai 定理。 $$\forall k\in [1,n]\ \ \ \sum_{i=1}^{k}d_i\l 阅读全文
摘要:
给定一个度数序列$\{d\}$,判断是否可以根据这个度数序列构造出简单无向图。 Havel–Hakimi algorithm: 一个度数序列可以构成简单无向图,当且仅当将这个序列$\{d\}$降序排序之后,将$d_1$后面的$d_1$个数$ 1$,并将$d_1$从序列中除去,形成的新度数序列没有负数 阅读全文
摘要:
题目大意: 给定n个给定的串,求有多少个串满足存在给定的串是这个串的子串。 思路: 直接计算存在的不太好算,考虑反面计数,计算有多少个串找不到匹配。 那么当我们把AC自动机给建出来之后,不难发现一个满足要求的串会一直在AC自动机上面跳并且到不了已经匹配上的节点,于是问题便转化成了有向图的路径计数。 阅读全文
摘要:
题目大意: 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 思路: 第i个单词在整个文章中出现了多少次即i串的结尾可以被多少个串的节点给跳到。 于是吧fail看成每个节点唯一的父亲,每个节点的权值为有多少个单词的前缀经过了它,然 阅读全文
摘要:
题目大意: 给定n个字符串,每次询问第x个字符串在第y个字符串中出现了多少次。 思路: 显然我们需要先把AC自动机给建出来。 考虑如何最暴力地计算第x个字符在第y个字符中出现了多少次,我们可以在Trie上暴力跳y的每一个节点,然后对于y的每一个节点跳fail,如果跳到了x串的结尾,那么答案+1。 这 阅读全文
摘要:
题目大意: 给定n个01串,求是否存在一个长度无穷的01串使得这个01串不包含任何一个给定的串。 思路: 考虑AC自动机匹配的过程是在Trie树上不停地跳,那么如果我们可以找到一个串使得这个串可以一直在Trie上跳并且永远跳不到匹配节点就说明可行。 可以发现这样的话这个串在AC自动机上的匹配一定是会 阅读全文
摘要:
题目大意: 给定$n$个正整数$a_i$,每次可以将一个数乘以 2,求最小的操作次数使得最后的序列单调不降。 思路: 最后的序列一定是前面为负数,后面为正数。 于是我们枚举正数负数的分割点,这样操作就只有乘4一种了,现在问题转化为用最小的操作次数将一段前缀变成单调不升和一段后缀变成单调不降的。 前缀 阅读全文