摘要:
ac自动机+bit 很早以前就做过这道题了,再做一遍。 构建ac自动机的话就是模拟一下就可以了,然后就是如何统计答案。 这里巧妙地利用了fail树的性质,fail树是指当前在trie上从根到这个节点的路径,也就是某个单词的前缀,这个单词的前缀的后缀能够匹配上另一个单词的前缀,于是就把fail指针连向 阅读全文
摘要:
期望dp 首先如果k=n的话,那么我们从后往前,只要看到两者的灯就关上,因为如果当前一个灯没关上,那么之后不可能关上,一个灯只能由自己倍数控制,所以这样我们就计算出了需要操作的次数,如果这个次数<=k,直接把这个步数乘上阶乘就可以了。 考虑期望的部分,设f[i]为当前状态下还需要操作i次结束的期望步 阅读全文
摘要:
状压dp 预处理每个状态的初始值,枚举子集就行了 #include<bits/stdc++.h> using namespace std; const int N = 18, inf = 1000000010; int W, n; int t[N], w[N], sumw[1 << N], sumt 阅读全文