BZOJ1040環加外向樹森林上的動態規劃

2021-07-15 07:16:17 字數 462 閱讀 9928

所有的邊是無向的!

想一想也知道,只要有乙個人討厭另外乙個人,這兩個人最後是不會在一起的。

n個人n條邊(圖不保證聯通),這就是乙個環加外向樹森林

不能同時取一條邊上的兩個人,用dp來實現

dfs找環,拆環x,y,分別討論x不取和y不取

#include #include #include #include #define n 2000050

using namespace std;

typedef long long ll;

vectore[n],rec[n];

ll f[n][3],ans1,ans2,ans,v[n];

int fa[n],x,y,n;

bool vis[n],fx[n];

int dfs(int u) {

vis[u] = true;

for (int i=0;i

bzoj 1040 騎士 基環外向樹dp

給出n個點n條邊和每個點的點權,一條邊的兩個斷點不能同時選擇,問最大可以選多少。圖是一張基環外向樹森林 是不是很像舞會啊 就是多了一條邊。所以我們考慮一下對於一棵基環外向樹,拆掉一條在環上的邊,變成一棵樹。在這個樹上以斷邊的乙個斷點為根,跑舞會,就得到了這棵樹的最大值 根選和根不選了兩種 考慮到對於...

BZOJ1040 騎士 基環樹DP

description z國的騎士團是乙個很有勢力的組織,幫會中匯聚了來自各地的精英。他們劫富濟貧,懲惡揚善,受到社會各 界的讚揚。最近發生了一件可怕的事情,的y國發動了一場針對z國的侵略戰爭。戰火綿延五百里,在和平環境 中安逸了數百年的z國又怎能抵擋的住y國的軍隊。於是人們把所有的希望都寄託在了騎...

BZOJ1040 騎士 環套樹 樹形dp

time limit 10 sec memory limit 162 mb submit 5611 solved 2166 submit status discuss z國的騎士團是乙個很有勢力的組織,幫會中匯聚了來自各地的精英。他們劫富濟貧,懲惡揚善,受到社會各 界的讚揚。最近發生了一件可怕的事情...