国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

UVA - 1218 Perfect Service (樹(shù)形DP)

2019-11-08 02:24:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

       思路:dp[i][0]表示i是服務(wù)器;dp[i][1]表示i不是服務(wù)器,但它的父節(jié)點(diǎn)是服務(wù)器;dp[i][2]表示i和他的父親都不是服務(wù)器。

      轉(zhuǎn)移方程:

d[u][0] += min(d[v][0], d[v][1]);d[u][1] += d[v][2]; for(int i = 0; i < n; ++i) {      int v= son[u][i];      if(v == PRe) continue;      d[u][2] = min(d[u][2], d[u][1] - d[v][2] + d[v][0]);   }AC代碼:

#include<cstdio>#include<algorithm>#include<cstring>#include<utility>#include<string>#include<iostream>#include<map>#include<set>#include<vector>#include<queue>#include<stack>using namespace std;#define eps 1e-10#define inf 0x3f3f3f3f#define PI pair<int, int> const int maxn = 10000 + 5;vector<int>son[maxn];int d[maxn][3];void dfs(int u, int pre) {	d[u][0] = 1;	d[u][1] = 0;	int n = son[u].size();	for(int i = 0; i < n; ++i) {		int v = son[u][i];		if(v == pre) continue;		dfs(v, u);		d[u][0] += min(d[v][0], d[v][1]);		d[u][1] += d[v][2]; 		if(d[u][0] > inf) d[u][0] = inf;		if(d[u][1] > inf) d[u][1] = inf;	} 	d[u][2] = inf;	for(int i = 0; i < n; ++i) {		int v= son[u][i];		if(v == pre) continue;		d[u][2] = min(d[u][2], d[u][1] - d[v][2] + d[v][0]);	}}int main() {	int END, n;	while(scanf("%d", &n) == 1 && n != -1) {		for(int i = 0; i <= n; ++i) son[i].clear();		int x, y;		for(int i = 1; i < n; ++i) {			scanf("%d%d", &x, &y);			son[x-1].push_back(y-1);			son[y-1].push_back(x-1);		}		dfs(0, -1);		printf("%d/n", min(d[0][0], d[0][2]));		scanf("%d", &END);		if(END == -1) break;	}	return 0;}如有不當(dāng)之處歡迎指出!


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 礼泉县| 嘉善县| 桂东县| 阿巴嘎旗| 北宁市| 清新县| 建德市| 屏东县| 嵊泗县| 应城市| 沙雅县| 洪洞县| 新竹县| 揭东县| 额尔古纳市| 永安市| 额尔古纳市| 绥中县| 满洲里市| 望谟县| 太仓市| 凤山县| 海城市| 禄劝| 庆元县| 井研县| 皋兰县| 通辽市| 桐城市| 河源市| 益阳市| 阳新县| 怀来县| 沈阳市| 许昌县| 广平县| 尼木县| 柯坪县| 新乡市| 申扎县| 皋兰县|