题目链接 \(Description\) 给定长为\(n\)的数组\(c_i\)和\(m\),求长为\(n\)的序列\(a_i\)个数,满足:\(c_i\not\mid a_i,\quad a_i\&a_{i+1}=0\). \(n\leq 50,m\leq 15,0\leq a_i<2^m,0<c_i\leq 2^m\). \(Solution\) DP.限制都是与值有关的,所以令\(f_i\)表示以\(i\)这个数结尾的序列\(a\)的个数. 转移即\(f_i=\sum_{j,i\…
[题目链接] http://www.spoj.com/problems/TLE/en/ [题目大意] 给出n个数字c,求非负整数序列a,满足a<2^m 并且有a[i]&a[i+1]=0,对于每个a[i],要保证a[i]不是c[i]的倍数, 求这样的a[i]序列的个数 [题解] 我们用dp[i]表示以i为结尾的方案数, 我们发现要满足a[i]&a[i+1]=0,则dp[i]是从上一次结果中所有满足i&j=0的地方转移过来的 i&j=0即i&(~j)=i,即i为~…
TLE - Time Limit Exceeded no tags  Given integers N (1 ≤ N ≤ 50) and M (1 ≤ M ≤ 15), compute the number of sequences a1, ..., aN such that: 0 ≤ ai < 2M ai is not divisible by ci (0 < ci ≤ 2M) ai & ai+1 = 0 (that is, ai and ai+1 have no common bi…
题意: 给一个长度为n的字符串,定义$k=\floor{log_2 n}$ 一共k轮操作,第i次操作要删除当前字符串恰好长度为$2^{i-1}$的子串 问最后剩余的字符串字典序最小是多少? 分析: 首先很容易得到一个性质,那就是删除的那些串是可以不交叉的 很容易想到一个很简单的dp dp[i][j]表示考虑原串的前i位,删除状态为j的情况下字典序最小的字符串(注意dp里面保存的是个字符串) 那么很明显就是个O(n^3logn)的dp,无法通过 dp里是一个字符串这个东西是很浪费时间而且很不优美的…
题目链接 \(Description\) 给定一张\(n\)个点\(m\)条边的无向图.定义割集\(E\)为去掉\(E\)后使得图不连通的边集.定义一个bond为一个极小割集(即bond中边的任意一个真子集都不是割集). 对每条边,求它在多少个bond中. \(n\leq20,\quad n-1\leq m\leq\frac{n(n-1)}{2}\). \(Solution\) https://www.cnblogs.com/zufezzt/p/5723389.html 首先bond是极小割集,…
点此看题面 大致题意: 从一个给定点出发,在一棵树上随机游走,对于相邻的每个点均有\(\frac 1{deg}\)的概率前往.多组询问,每次给出一个点集,求期望经过多少步能够访问过点集内所有点至少一次. \(Min-Max\)容斥 访问过每个点至少一次,显然不是什么好处理的东西. 我们考虑一个叫\(Min-Max\)容斥的东西. 关于\(Min-Max\)容斥,有这样一个公式: \[E(max(S))=\sum_{T∈S}(-1)^{|T|+1}E(min(T))\] 套到这题,\(E(max(…
传送门 那么除了D1T3,PKUWC2018就更完了(斗地主这种全场0分的题怎么会做啊) 发现我们要求的是所有点中到达时间的最大值的期望,\(n\)又很小,考虑min-max容斥 那么我们要求从\(x\)走到第一个属于某个子集\(S\)的节点的步数期望,这是一个经典的树上高斯消元问题. 将树设为以\(x\)为根,设\(f_{i , S}\)为从第\(i\)个点随机游走到达点集\(S\)任意一个点停止,行走步数的期望,转移: \(1.i \in S: f_{i , S}=0\) \(2.i \no…
题意 题目链接 给出\(n\)个数,问任意选几个数,它们\(\&\)起来等于\(0\)的方案数 Sol 正解居然是容斥原理Orz,然而本蒟蒻完全想不到.. 考虑每一种方案 答案=任意一种方案 - 至少有\(1\)位为\(1\)的方案 + 至少有两位为\(1\)的方案 - 至少有三位为\(1\)的方案 至少有\(i\)位为\(1\)的方案可以dp算,设\(f[x]\)表示满足\(f[x] = a_i \& x = x\)的\(a_i\)的个数 最终答案$ = (-1)^{bit(i)} f[…
题目链接: https://acm.ecnu.edu.cn/problem/3300/ 题目大意: 给n个数,求在n个数中选两个数(可重复),使得这两个数的组合数是奇数,求总共有多少种取法. 解题思路: 组合数Cnm奇偶性判断: n & m == m 成立则组合数为奇数 一开始没什么的思路,直接暴力超时,后来看到Lucas定理,发现上面那个式子的本质就是从这里推导出来的. Lucas定理: 组合数判断奇数的话就是转化成上述定理中p = 2 是否为1,利用Lucas定理,先把和化为二进制,这样它们…
[题目链接] http://codeforces.com/problemset/problem/449/D [题目大意] 给出一些数字,问其选出一些数字作or为0的方案数有多少 [题解] 题目等价于给出一些集合,问其交集为空集的方案数, 我们先求交集为S的方案数,记为dp[S],发现处理起来还是比较麻烦, 我们放缩一下条件,求出交集包含S的方案数,记为dp[S], 我们发现dp[S],是以其为子集的方案的高维前缀和, 我们逆序求高维前缀和即可,之后考虑容斥,求出交集为0的情况, 我们发现这个容斥…