摘要:
T1 bishop 题目大意: n个点组成了一些环 在这n个点中等概率选k个点(不能重复) 染了一个点就会染该环上的所有点 求所有点都被染色的概率 思路: 可以设$F_{i,j}$ 表示在$i$个环放$k$个点的方案数即$F_{i,j}=C(i,j)$,$if \space j==0 :F_{i,j 阅读全文
摘要:
【模板】 多项式乘法 学习一波NTT 放弃FFT 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 #include<cstring> 7 #in 阅读全文
摘要:
过于神仙的比赛 T1 graph 题目大意: 一个无向图 若其的一个子图存在欧拉回路 则答案+=这个子图边数的平方 思路: 对于一个连通图 发现一个奇妙的结论即这个联通块的方案数=$2^{m-n+1}$(n为点数,m为边数 然后对于多个联通块 方案数为$2^{m-n+c}$,c为联通块数量 而答案可 阅读全文
摘要:
T1 bzoj 4730 Alice和Bob又在玩游戏 题目大意: Alice和Bob在玩游戏 n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最小的点 Alice和Bob轮流操作,每回合选择一个没有被删除的节点x,将x及其所有祖先全部删除,不能操作的人输 思 阅读全文
摘要:
(貌似是远古大坑了 T1 bzoj 4737 组合数问题 题目大意: 给定 $n,m$ 求有多少个$C_n^m$整除$k$ $(n,m \le 10^{18})$ 思路: 考虑如何计算组合数 使用lucas只有在lucas递归过程中n<m才会产生0 因此我们考虑把$n,m$按照k进制分解 只要中间某 阅读全文
摘要:
bzoj 2882 工艺 题目大意: 求一个数列的最小表示法 思路: 在后缀自动机上直接沿最小的边跑n步即可(学习了一波map的高端操作 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cmath> 5 # 阅读全文
摘要:
学习一波后缀自动机 求字符串$S$的所有出现次数不为1的子串的出现次数乘上该子串长度的最大值 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 # 阅读全文
摘要:
写的分基本全挂了非常的菜 T1 password 题目大意: $m$个模式串 求长度为$n$的串中包含所有$m$个串的方案数 $m\le4,len\le50$ $len=字符串总长度$ 思路: 可以想到一个$n\times len \times 2^m$的dp 然后将状压部分转换成容斥 使用矩阵加速 阅读全文
摘要:
题目大意: 一个n个节点的图 T时间内一些边会出现后消失 求出每一时间段内这个图是否是二分图 思路: 对于每条边 在线段树中修改这个边所影响的区间 使用带撤销按秩合并并查集 用一个数组来维护每个点到根路径长度的奇偶性(这个数组非常的nb 线段树分治即相当于pushdown了一堆影响 对于每个点查询即 阅读全文
摘要:
题目大意: 一棵树 Q次询问 每次询问给K个点 求把些点都与根断开的最小代价 思路: 学习了一波虚树 记录一下每个点到根的路径上边权的最小值 dp+虚树 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstd 阅读全文