摘要:
好像是高斯消元解互相推(?)的dp的例子 首先考虑dp,设f[i][j]为一人在i一人在j的概率,点i答案显然就是f[i][i]; 然后根据题意,得到转移是 $$ f[i][j]=f[i][j] p_i p_j+\sum_{edge(x,i)\in E}f[x][j] p_j \frac{1 p[x 阅读全文
posted @ 2018-09-06 19:37
lokiii
阅读(136)
评论(0)
推荐(0)
摘要:
nim游戏的先手必胜条件是所有堆的火柴个数异或和为0,也就是找一个剩下火柴堆数没有异或和为0的子集的方案,且这个方案保证剩下的火柴个数总和最大 然后我就不会了,其实我到现在也不知道拟阵是个什么玩意…… 详见:https://blog.csdn.net/wyfcyx_forever/article/d 阅读全文
posted @ 2018-09-06 16:27
lokiii
阅读(116)
评论(0)
推荐(0)
摘要:
裸的异或高斯消元 cpp include include using namespace std; const int N=2005; int n,m,a[N][N],ans; char s[N]; void gaosi() { for(int i=1;i 阅读全文
posted @ 2018-09-06 14:55
lokiii
阅读(104)
评论(0)
推荐(0)
摘要:
数论+爆搜 详见这位大佬https://blog.csdn.net/eolv99/article/details/39644419 cpp include include include using namespace std; const int N=100000; int s,p[N+5],to 阅读全文
posted @ 2018-09-06 12:00
lokiii
阅读(166)
评论(0)
推荐(0)
摘要:
参考:http://hzwer.com/3099.html 神题神题 其实只要知道思路就有点都不难…… 先对每一行dp,设g[i][j]为这行前i个格子粉刷了k次最大粉刷正确数,随便n^3一下就行 设f[i][j]为前i行刷了k次的最大正确数,这个用g更新即可,像背包一样 cpp include i 阅读全文
posted @ 2018-09-06 10:18
lokiii
阅读(156)
评论(0)
推荐(0)
摘要:
注意第一问不取模!!! 因为a+b=a|b+a&b,a^b=a|b a&b,所以a+b=a^b+2 (a&b) x^3x==2x可根据异或的性质以转成x^2x==3x,根据上面的推导,得到 x^2x=x+2x 2 (x&2x)==3x; 3x 2 (x&2x)==3x; x&2x==0; x&(x 阅读全文
posted @ 2018-09-06 09:33
lokiii
阅读(140)
评论(0)
推荐(0)

浙公网安备 33010602011771号