国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 永川市| 林西县| 定日县| 桑日县| 科技| 本溪| 吴忠市| 安泽县| 祁阳县| 车险| 汕头市| 灵寿县| 阿坝| 嘉义县| 宿松县| 西盟| 留坝县| 美姑县| 曲水县| 康乐县| 渑池县| 政和县| 万年县| 红桥区| 安阳县| 马鞍山市| 玛沁县| 治多县| 繁峙县| 大同市| 金华市| 射洪县| 鲜城| 灯塔市| 平度市| 托里县| 天水市| 宁强县| 朔州市| 凤凰县| 苍梧县|