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

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

UVA - 12186 Another Crisis (樹形DP)

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

         思路:dp[i]表示讓上司i簽字至少需要多少工人簽字。

      轉(zhuǎn)移方程:將i的所有節(jié)點(diǎn)根據(jù)所需工人數(shù)量升序排序,設(shè)i需要k個(gè)下屬簽字,dp[i] = sum{dp[v]| 0 <= v <k}

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 = 1e5 + 5;vector<int>son[maxn];int t;int dfs(int u) {	int n = son[u].size();	if(!n) return 1; //工人	vector<int>cnt;	for(int i = 0; i < n; ++i) {		int v = son[u][i];		cnt.push_back(dfs(v));	}	sort(cnt.begin(), cnt.end());	int c = (n*t - 1) / 100 + 1;	int ans = 0;	for(int i = 0; i < c; ++i) ans += cnt[i];	return ans;}int main() {	int n;	while(scanf("%d%d", &n, &t) == 2 && n) {		for(int i = 0; i <= n; ++i) son[i].clear();		int PRe;		for(int i = 1; i <= n; ++i) {			scanf("%d", &pre);			son[pre].push_back(i);		}		printf("%d/n", dfs(0));	}	return 0;}如有不當(dāng)之處歡迎指出!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖边县| 行唐县| 泸州市| 德安县| 长阳| 乳山市| 静宁县| 仪陇县| 凤凰县| 鄂尔多斯市| 阿尔山市| 洪江市| 桃园市| 石棉县| 库车县| 化州市| 建水县| 平泉县| 鄂托克前旗| 德安县| 渭源县| 沁源县| 中阳县| 兴城市| 东乡县| 云南省| 平罗县| 滦平县| 东乌| 永胜县| 土默特左旗| 兴海县| 电白县| 罗城| 麻城市| 曲靖市| 辽阳市| 漯河市| 鹤庆县| 全椒县| 张家口市|