<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [BalticOI 2021] The Xana coup (Day2)

      巳時,閑來無事,學分數(shù)規(guī)劃至正午,忽覺無用,遂大悲,閱洛谷題庫以尋題,欽四五題以切,遇此好題。

      題意。

      一棵 \(N\) 個點的樹,點權(quán)不是 0 就是 1。

      我們有一個神秘的操作,我們先選擇一個點,把它和所有的相鄰點權(quán)都取反。

      詢問最小的操作次數(shù),使得所有的點權(quán)最后都為 0。

      \(N\)\(1e5\) 級別

      做法

      如果思考這個問題的特點,我們會發(fā)現(xiàn)這個東西跟順序是沒有關系的,因為我們?nèi)绻_定了某個點的操作次數(shù),什么時候進行顯然都是一樣的。

      于是我們可以通過子樹合并的順序進行,每次對父親產(chǎn)生的約束僅僅會向上一層,所以我們可以嘗試使用樹形dp.

      怎么設計狀態(tài)?不難想到設 dp[u][0/1] 代表 \(u\) 子樹,不會/會 影響到父親的,保證樹中清空的最小操作次數(shù)。

      然而這個樣子我們似乎并沒辦法去進行轉(zhuǎn)移,原因是我們不清楚何時進行操作,我們的轉(zhuǎn)移一定是基于我們進行的操作的。

      既然不知道,我們便可以把這個東西設進狀態(tài)。

      可以看出,一個點操作偶數(shù)次相當于沒操作,所以我們加一維 0/1 表示這個點經(jīng)歷了若干次操作 沒有/有 被改變。

      對應的,dp 數(shù)組定義中需要加上所清空范圍不包含 u 節(jié)點。

      理論上應該是能做了,先試著列一下轉(zhuǎn)移式子,有需要再進行添加。

      \(v \in son[u]\),我們掃到一個子樹,無非就是受不受影響,把這兩種情況列出來就好了。

      \(dp_{u,0,0}\gets min_{v\in son[u]}(dp_{v,0,a_v}+dp_{u,0,0},dp_{v,1,a[v]}+dp_{u,0,1})\)

      前者是不受影響,后者是受影響。

      同理我們接著列就行了。

      \(dp_{u,0,1}\gets min_{v\in son[u]}(dp_{v,0,a_v}+dp_{u,0,1},dp_{v,1,a[v]}+dp_{u,0,0})\)

      \(dp_{u,1,0}\gets min_{v\in son[u]}(dp_{v,0,(1-a_v)}+dp_{u,1,0},dp_{v,1,(1-a[v])}+dp_{u,1,1})\)

      \(dp_{u,1,1}\gets min_{v\in son[u]}(dp_{v,0,(1-a_v)}+dp_{u,1,1},dp_{v,1,(1-a[v])}+dp_{u,1,0})\)

      打比較長的 Latex 能力較弱,應該沒什么大問題了。

      考慮怎么初始化,實際很簡單,初始化什么都不動和修改一下就行,其它情況等著轉(zhuǎn)移上來。

      就是 dp[u][0][0]=0, dp[u][1][1]=1, dp[u][1][0]=dp[u][0][1]=0x3f3f3f3f;

      之后還需要注意我們的轉(zhuǎn)移可能會出現(xiàn)問題,直接這么寫會出環(huán)。

      每一次進行轉(zhuǎn)移的時候我們使用 tmp[2][2] 存一下 dp[u][2][2] 的值,里邊用這個進行轉(zhuǎn)移就沒問題了。

      代碼↓

      點擊查看代碼
      #include <bits/stdc++.h>
      #define int long long
      using namespace std;
      const int MN=1e6+116;
      struct Node{
      	int nxt, to;
      }node[MN];
      int head[MN], tottt;
      void insert(int u, int v){
      	node[++tottt].to=v;
      	node[tottt].nxt=head[u];
      	head[u]=tottt; return;
      }
      int a[MN], n, dp[MN][2][2], ans;
      void dfs(int u, int father){
      	bool isleaf=true;
      	dp[u][0][0]=0; dp[u][1][1]=1;
      	dp[u][1][0]=1e10;
      	dp[u][0][1]=1e10;
      	for(int i=head[u];i;i=node[i].nxt){
      		int v=node[i].to;
      		if(v==father) continue;
      		dfs(v,u); isleaf=false;
      	}
      	for(int i=head[u];i;i=node[i].nxt){
      		int v=node[i].to;
      		if(v==father) continue;
      		int tmp[2][2];
      		tmp[0][0]=dp[u][0][0];
      		tmp[0][1]=dp[u][0][1];
      		tmp[1][1]=dp[u][1][1];
      		tmp[1][0]=dp[u][1][0];
      		dp[u][0][0]=min(tmp[0][0]+dp[v][0][a[v]],tmp[0][1]+dp[v][1][a[v]]);
      		dp[u][0][1]=min(tmp[0][1]+dp[v][0][a[v]],tmp[0][0]+dp[v][1][a[v]]);
      		dp[u][1][0]=min(tmp[1][0]+dp[v][0][(1-a[v])],tmp[1][1]+dp[v][1][(1-a[v])]);
      		dp[u][1][1]=min(tmp[1][1]+dp[v][0][(1-a[v])],tmp[1][0]+dp[v][1][(1-a[v])]);
      	}
      	if(u==1){
      		ans=min(dp[1][0][a[1]],dp[1][1][a[1]]);
      	}
      }
      signed main(){
      	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
      	cin>>n;
      	for(int i=1,u,v; i<n; ++i){
      		cin>>u>>v; insert(u,v); insert(v,u);
      	}
      	for(int i=1; i<=n; ++i) cin>>a[i];
      	dfs(1,1);
      	if(ans>=1e10) cout<<"impossible\n";
      	else cout<<ans<<'\n';
      	return 0;
      }
      
      posted @ 2025-09-17 18:50  BaiBaiShaFeng  閱讀(10)  評論(0)    收藏  舉報
      Sakana Widget右下角定位
      主站蜘蛛池模板: 果冻传媒18禁免费视频| 国产精品老熟女露脸视频| 亚洲综合网国产精品一区| 国产乱码精品一品二品| 久久精品亚洲精品国产区| 麻豆精品一区二区视频在线| 欧美一区二区三区欧美日韩亚洲| 中文字幕日韩国产精品| 欧美成人精品手机在线| 欧美色丁香| 国产成人AV一区二区三区无码| 大色综合色综合网站| 国产综合久久久久鬼色| 99精品国产一区二区三| 无码人妻丝袜在线视频| 福利一区二区1000| 欧美性xxxxx极品| 波多野结衣的av一区二区三区| 日韩精品一区二区三区vr| 极品人妻少妇一区二区三区| 亚洲精品一区二区三天美| 男女激情一区二区三区| 讷河市| 好吊视频在线一区二区三区| 精品国产迷系列在线观看| 桃源县| 在线精品自拍亚洲第一区| 国产一区二区a毛片色欲| 日本高清在线观看WWW色| 国产粉嫩系列一区二区三| 亚洲AV无码久久精品日韩| 人妻va精品va欧美va| 欧洲免费一区二区三区视频 | 人妻另类 专区 欧美 制服| 天堂av资源在线免费| 中文字幕有码高清日韩| 久久香蕉国产线看观看精品yw| 天堂www在线中文| 一本一道av无码中文字幕麻豆| 熟女精品视频一区二区三区| 熟女少妇精品一区二区|