摘要: 题目大意:给定一个$N$个点,$M$条边的无向图,求图中有多少个大小为$S$的团。$N \le 100,deg(i)\le 20,i\in [1,n]$。 题解: 考虑搜索。 需要确定一种搜索顺序,使得团的计数不重不漏。考虑枚举团中最小编号的节点,且搜索状态转移中只能转移到比当前团中编号最大的节点编 阅读全文
posted @ 2019-11-10 16:19 shellpicker 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一张$N$个点的图,构成了$M$个团,每个团内的边权均相等,求图上有多少个点满足到$1$号节点和$N$号节点的最大值最小。 题解: 本题的核心是如何优化连边,考虑对于每一个团增加一个虚拟节点,并让每个节点到虚拟节点连一条边权为$t_i$的有向边,虚拟节点到团中每一个点连一条边权为$0$ 阅读全文
posted @ 2019-11-03 00:23 shellpicker 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 代码如下 cpp include using namespace std; struct PAM { struct state { int len, sz, fail, cnt; // cnt 以该位置结尾的回文子串个数 unordered_map go; state(int _len = 0, i 阅读全文
posted @ 2019-10-22 20:18 shellpicker 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 $N$ 的序列,求从序列中选出 $K$ 个数的集合乘积之和是多少。 题解: 由于是选出 $K$ 个数字组成的集合,可知对于要计算的 $K$ 元组来说是没有标号的,而元组是由序列中 $N$ 个数字组合而成的。因此,将要求的元组看作组合对象,该组合对象是由 $N$ 个不同种类的 阅读全文
posted @ 2019-10-22 11:17 shellpicker 阅读(377) 评论(0) 推荐(0) 编辑
摘要: BSGS模板题 代码如下 cpp include using namespace std; typedef long long LL; LL fpow(LL a, LL b, LL c) { LL ret = 1 % c; for (; b; b = 1, a = a a % c) { if (b 阅读全文
posted @ 2019-10-14 21:20 shellpicker 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目大意:求带标号 N 个点的生成树个数,两棵生成树相同当且仅当两棵树结构相同且边的生成顺序相同。 题解:学会了 prufer 序列。 prufer 序列是用来表示带标号的无根树的序列。 每种不同类型的带标号无根树会对应唯一的一个prufer序列。 生成方法:找到这棵树编号最小的叶子节点,将其相邻点 阅读全文
posted @ 2019-10-14 19:50 shellpicker 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 代码如下 cpp include using namespace std; typedef long long LL; const LL mod = 998244353, g = 3, ig = 332748118; inline LL fpow(LL a, LL b) { LL ret = 1 % 阅读全文
posted @ 2019-10-11 19:52 shellpicker 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目大意:求 $$ G^{\sum\limits_{d|N}\binom{n}{k}} mod\ \ 999911659 $$ 题解:卢卡斯定理+中国剩余定理 利用卢卡斯定理求出指数和式对各个素模数的解,再利用中国剩余定理合并四个解即可。 也可以在枚举 N 的因子的过程中,对于计算的四个解直接进行中 阅读全文
posted @ 2019-10-10 13:12 shellpicker 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,现有 M 种颜色,选出一些颜色对这个序列进行染色,要求相邻元素颜色不相同。求最终序列恰好有 K 种不同颜色的染色方案数,结果对1e9+7取模。 题解:二项式反演 代码如下 cpp include using namespace std; typedef long 阅读全文
posted @ 2019-10-07 23:24 shellpicker 阅读(211) 评论(0) 推荐(0) 编辑
摘要: $N \le 2000, M \le 2000$ 直接利用递推式预处理即可。 代码如下 cpp include using namespace std; const int mod = 1e9 + 7; int main() { ios::sync_with_stdio(false); cin.ti 阅读全文
posted @ 2019-09-29 14:58 shellpicker 阅读(293) 评论(0) 推荐(0) 编辑