摘要: fwt 原理并不知道 nim游戏石子异或和=0后手赢 那么也就是求a[1]^a[2]^...^a[n]=0的方案数 这个和bzoj3992一样可以dp dp[i][j]表示前i个数异或和为j的方案数 dp[0][0] = 1 dp[i][j] = dp[i - 1][k] * a[p] p ^ k 阅读全文
posted @ 2018-01-14 22:03 19992147 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 还差一道题 bzoj4070 看错题*2- >暴力想不出来 其实我们发现由于每只doge只有在有信息的情况下才会走 那么也就是说每只doge只会连续地走一次 不可能信息传给别的doge之后再传回来 并且只会向一个方向跑 因为只跑一次 那么折返跑肯定是亏的 所以暴力连边就是狗所在的位置向狗连边,狗向能 阅读全文
posted @ 2018-01-14 21:55 19992147 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 网络流 如果只有两个的话就是裸的二分图匹配 然而这里有三个元素 由于食物和饮料互相没有关系,只和牛有关系 那么我们把牛拆点x->y cap = 1 然后饮料和食物分别限制x y就行了 #include<bits/stdc++.h> using namespace std; const int N = 阅读全文
posted @ 2018-01-14 21:34 19992147 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 斜率优化+cdq分治 这个就是都不单调的情况 dp[i] = max(a[i] * x[j] + b[i] * y[j]) x[j] 表示能买多少a劵 y[j]表示能买多少b劵 化简一下 dp[i] / b[i] = max(a[i] / b[i] * x[j] + y[j]) 非常标准的斜率优化形 阅读全文
posted @ 2018-01-14 21:30 19992147 阅读(93) 评论(0) 推荐(0) 编辑