摘要:
2-SAT。 tarjan缩点。强连通分量的点要选一起选。 #include #include #include using namespace std; const int maxn = 20000 + 10; const int maxm = 200000 + 10; int n,m; int a[maxn],b[maxn]; int g[maxn],v[maxm],next[ma... 阅读全文
posted @ 2016-07-07 20:55
invoid
阅读(153)
评论(0)
推荐(0)
摘要:
2-SAT。 好像很复杂的样子所以还在慢慢摸索。。。 这道题只需要tarjan缩点就可以了,如果有一个材料的满式和汉式同时被选中,代表不可能实现。 #include #include #include using namespace std; const int maxn = 5000 + 10; int g[maxn],v[maxn],next[maxn],eid; int n,m,... 阅读全文
posted @ 2016-07-07 18:39
invoid
阅读(324)
评论(0)
推荐(0)
摘要:
状压dp。 500分解质因数的话,除了最大的质因数只需要8个质数,用二进制x储存,最大的质因数用y来储存(若没有比那8个质数大的质因数就使y=1) 用f[i][j]表示第一个人方案为i,第二个人方案为j时的方案数。 递推时用p[0/1][i][j]表示第1/2个人选当前数,i和j分别为两人方案时的方案数。 有f[i][j]=(p[0][i][j]+p[1][i][j]-f[i][j])%m... 阅读全文
posted @ 2016-07-07 13:52
invoid
阅读(174)
评论(0)
推荐(0)

浙公网安备 33010602011771号