題目鏈結
題目大意:給定一棵樹,每個點有乙個0/1的權,一次操作可以使得x和x的直接鄰居點權^1,初始均為0,求最少多少次操作可以全部變成1
題解:樹形dp可以o(
n)解決
但這不重要…………………………
考慮對每個點列出乙個xor方程,這樣就可以高斯消元了……
但是有可能有自由元……暴力列舉代入計算
我的收穫:gauss暴力!
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int m=105;
int n,tot;
int c[m],ans[m];
bitset
<210> a[m];
void gauss()
swap(a[i],a[r]);
for(int k=1;k<=n;k++) if(k!=i&&a[k][i]) a[k]^=a[i];
}}int calc(int x)
for(int i=1;i<=n;i++) cnt+=ans[i];
return cnt;
}void work()
void init()
}int main()
bzoj2466 中山市選2009 樹
同上一題。應該可以樹形dp,然而我不會。include include include include includeusing namespace std define rep i,s,t for int i s i t i define dwn i,s,t for int i s i t i d...
bzoj2466 中山市選2009 樹
題目描述 bz題解 1 高消。直接列異或方程組高消即可。include include include include using namespace std const int n 105 template inline void read t x while ch 0 ch 9 x f c in...
BZOJ 2466 中山市選2009 樹
題解 n 100 急忙叫隊友是不是暴力題啊.qko 好像我會o n 我 好巧,我也會o n 的,那就莽吧 四個狀態 dp1 x 0 表示不摁且這個節點不亮的個數 dp1 x 1 表示不摁且這個節點亮的個數 dp2 x 0 表示摁且這個節點不亮的個數 dp2 x 1 表示摁且這個節點亮的個數 incl...