标签:
一眼看上去是高斯消元解xor方程组……但是不会写……sad
Hzwer啥也没说,还是zyf靠谱……
当多解的时候就需要爆搜枚举自由元的情况,找最优解……
o(︶︿︶)o 唉我还是太弱了
zyf的解释:
1 inline void dfs(int x) 2 { 3 if(tot>=mn)return;//最优性剪枝 4 if(!x){mn=min(mn,tot);return;}//终点 5 if(f[x][x])//已被限制是否需要按下 6 { 7 int t=f[x][n+1]; 8 for2(i,x+1,n)if(f[x][i])t^=ans[i]; 9 ans[x]=t; 10 if(t)tot++; 11 dfs(x-1);//继续深搜 12 if(t)tot--;//还原,回溯 13 } 14 else//自由变量 15 { 16 ans[x]=0;dfs(x-1);//假设不按该灯开关 17 ans[x]=1;tot++;dfs(x-1);tot--;//假设按该灯开关 18 } 19 }
【BZOJ】【1770】【Usaco2009 Nov】lights 灯
标签:
原文地址:http://www.cnblogs.com/Tunix/p/4263219.html