bzoj2466 中山市選2009 樹

2022-05-09 11:09:07 字數 1385 閱讀 1362

題目描述:

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;

}int

n,a[n][n];

void

gs()

}int

ans;

void dfs(int u,int

now)

if(a[u][u])dfs(u-1,now+a[u][n+1

]);

else

}int

main()

for(int i=1;i<=n;i++)

a[i][i]=a[i][n+1]=1

; gs();

ans = 0x3f3f3f3f

; dfs(n,0);

printf(

"%d\n

",ans);

}return0;

}

高消(2)樹形$dp$。

設狀態$dp[x][0/1][0/1]$表示:點$x$按/不按,子樹內其他節點全亮,自己亮/不亮的最小代價。

**:

#include#include

#include

#include

using

namespace

std;

const

int n = 105

;const

int inf = 0x3f3f3f3f

;template

inline

void read(t&x)

while(ch>='

0'&&ch<='9')

x = f*c;

}int

n,hed[n],cnt;

struct

ege[

2*n];

void ae(int f,int

t)int dp[n][2][2

];void dfs(int u,intf)}

intmain()

dfs(

1,0);

printf(

"%d\n

",min(dp[1][1][1],dp[1][0][1

]));

}return0;

}

dp

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...

BZOJ 2466 中山市選2009 樹

題解 n 100 急忙叫隊友是不是暴力題啊.qko 好像我會o n 我 好巧,我也會o n 的,那就莽吧 四個狀態 dp1 x 0 表示不摁且這個節點不亮的個數 dp1 x 1 表示不摁且這個節點亮的個數 dp2 x 0 表示摁且這個節點不亮的個數 dp2 x 1 表示摁且這個節點亮的個數 incl...

2466 中山市選2009 樹

題目鏈結 題目大意 給定一棵樹,每個點有乙個0 1的權,一次操作可以使得x和x的直接鄰居點權 1,初始均為0,求最少多少次操作可以全部變成1 題解 樹形dp可以o n 解決 但這不重要 考慮對每個點列出乙個xor方程,這樣就可以高斯消元了 但是有可能有自由元 暴力列舉代入計算 我的收穫 gauss暴...