BZOJ 2197 [Usaco2011 Mar]Tree Decoration

BZOJ_2197

    如果子树中有某个节点不符合要求,即便根再怎么符合要求都是没有任何意义的,因此要优先安排好子树中节点使其符合要求,再考虑根节点。对于任何一棵子树来讲,如果所有孩子选择的点的总和仍然不足根的C值的话,那么就还要在孩子中选出一些节点,而且如果要选那么必然应该选T最小的点。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXD 100010
#define MAXM 100010
typedef long long LL;
int N, first[MAXD], e, next[MAXM], v[MAXM], c[MAXD], t[MAXD];
LL ANS, size[MAXD];
void add(int x, int y)
{v[e] = y;next[e] = first[x], first[x] = e ++;
}
void init()
{int p;memset(first, -1, sizeof(first[0]) * (N + 1)), e = 0;for(int i = 1; i <= N; i ++){scanf("%d%d%d", &p, &c[i], &t[i]);if(p != -1) add(p, i);}
}
int dfs(int cur)
{int min = t[cur];size[cur] = 0;for(int i = first[cur]; i != -1; i = next[i]){min = std::min(min, dfs(v[i]));size[cur] += size[v[i]];}if(size[cur] < c[cur])ANS += (c[cur] - size[cur]) * min, size[cur] = c[cur];return min;
}
void solve()
{ANS = 0;dfs(1);printf("%lld\n", ANS);
}
int main()
{while(scanf("%d", &N) == 1){init();solve();}return 0;
}

 

 

转载于:https://www.cnblogs.com/staginner/archive/2012/09/29/2708900.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清华镜像源安装 NGboost XGboost Catboost

清华镜像源安装 NGboost XGboost Catboost pip install catboost -i https://pypi.tuna.tsinghua.edu.cn/simple pip install ngboost -i https://pypi.tuna.tsinghua.edu.cn/simple pip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple 数据比赛常用预测模型…

LeetCode MySQL 619. 只出现一次的最大数字

文章目录1. 题目2. 解题1. 题目 表 my_numbers 的 num 字段包含很多数字&#xff0c;其中包括很多重复的数字。 你能写一个 SQL 查询语句&#xff0c;找到只出现过一次的数字中&#xff0c;最大的一个数字吗&#xff1f; --- |num| --- | 8 | | 8 | | 3 | | 3 | | 1 | | 4 |…

幸福感数据分析与预测

文章目录分析目的一、数据采集1、 数据来源2、 数据说明二、数据传输三、数据处理1、查看数据2、缺失值处理3、合并数据集4、时间数据处理5、分组及One-hot编码处理四、数据分析1、描述性统计2、探索性分析1 是否与所在地是城市or农村有关2 是否与性别有关3 是否与年龄有关4 是…

LeetCode MySQL 1142. 过去30天的用户活动 II

文章目录1. 题目2. 解题1. 题目 Table: Activity ------------------------ | Column Name | Type | ------------------------ | user_id | int | | session_id | int | | activity_date | date | | activity_type | enum | ------------------…

mysql replace into用法详细说明

REPLACE的运行与INSERT很相似。只有一点例外&#xff0c;假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值&#xff0c;则在新记录被插入之前&#xff0c;旧记录被删除。 注意&#xff0c;除非表有一个PRIMARY KEY或UNIQUE索引&#xff0c;否则…

MYSQL练习题

MYSQL练习题 数据表建立代码及题目解答 提取码&#xff1a;e6lk

LeetCode MySQL 1280. 学生们参加各科测试的次数

文章目录1. 题目2. 解题1. 题目 学生表: Students ------------------------ | Column Name | Type | ------------------------ | student_id | int | | student_name | varchar | ------------------------主键为 student_id&#xff08;学生ID&#xff09;&a…

【记录】有关parseInt的讨论

问题由来&#xff0c;某群的一个讨论&#xff1a; parseInt(1/0, 19) 18; parseInt的用法&#xff1a; parseInt(string [, radix]) 注意&#xff0c;第一个参数是String类型&#xff0c;当radix未指定的时候&#xff0c;那么默认基地是10。转换规则&#xff1a;1、首先查看位…

LeetCode MySQL 597. 好友申请 I :总体通过率

文章目录1. 题目2. 解题1. 题目 在 Facebook 或者 Twitter 这样的社交应用中&#xff0c;人们经常会发好友申请也会收到其他人的好友申请。现在给如下两个表&#xff1a; 表&#xff1a; friend_request | sender_id | send_to_id |request_date| |-----------|------------…

贷款利润最大化——利用随机森林和逻辑回归

文章目录分析目的一、数据采集1、数据来源2、数据说明二、数据传输三、数据处理1、查看数据2、清理无用特征值3、标签列分析4、清理只单一值的列5、空值处理6、数据类型转换四、数据挖掘1、构建模型2、导入算法五、总结分析目的 本文针对某信贷网站提供的2007-2011年贷款申请人…

ios学习之UITabBar(标签栏)

自定义TabBar的高度&#xff1a;&#xff08;无论横屏还是竖屏都以竖屏为准&#xff0c;之前就改为横屏的设置出错&#xff0c;找了好久才找到这个问题&#xff09; tabBar [[UITabBarController alloc] init];// 改变tabBarController高度 tabBar.tabBar.frameCGRectMake(0,…

LeetCode MySQL 512. 游戏玩法分析 II

文章目录1. 题目2. 解题1. 题目 Table: Activity ----------------------- | Column Name | Type | ----------------------- | player_id | int | | device_id | int | | event_date | date | | games_played | int | ----------------------- (…

Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”(转)

Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决如果终端中提示&#xff1a;(gvim:2353): Gtk-WARNING **: 无法在模块路径中找到主题引擎&#xff1a;“pixmap”解决方法是运行&#xff1a; sudo apt-get install gtk2-engines-pixbuf 转载于:https://www.cnbl…

机器学习算法优缺点对比及选择

文章目录偏差&方差常见算法优缺点朴素贝叶斯Logistic Regression&#xff08;逻辑回归&#xff09;线性回归最近邻算法——KNN决策树ID3、C4.5算法CART分类与回归树AdaboostingSVM支持向量机人工神经网络K-Means聚类EM最大期望算法集成算法&#xff08;AdaBoost算法&#x…

LeetCode MySQL 1076. 项目员工II

文章目录1. 题目2. 解题1. 题目 Table: Project ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- 主键为 (project_id, employee_id)。 employee_id 是员工表 Employ…

CouchDB与Couchbase:区别何在,Membase又将如何?

CouchDB与Couchbase&#xff1a;区别何在&#xff0c;Membase又将如何&#xff1f; 2012-05-23 02:05 682人阅读 评论(1) 收藏 举报 本文来源于我在InfoQ中文站翻译的文章&#xff0c;原文地址是&#xff1a;http://www.infoq.com/cn/news/2012/05/couchdb-vs-couchbase-memba…

Sklearn.metrics评估方法

文章目录混淆矩阵分类准确率 accuracy精确率Precision召回率 recallF1值Roc曲线、AUC混淆矩阵 混淆矩阵又称误差矩阵&#xff0c;针对预测值和真实值之间的关系&#xff0c;我们可以将样本分为四个部分&#xff0c;分别是&#xff1a; 真正例&#xff08;True Positive&#x…

HDU 1492 The number of divisors(约数) about Humble Numbers

The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1741 Accepted Submission(s): 852 Problem DescriptionA number whose only prime factors are 2,3,5 or …

LeetCode MySQL 1083. 销售分析 II

文章目录1. 题目2. 解题1. 题目 Table: Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是这张表的主键Tabl…

常见的几种流失预警模型

建立预警模型的目的是提前识别潜在流失用户&#xff0c;为挽留用户赢得时间。 流失预警模型&#xff0c;不应该只是单一的模型&#xff0c;而应该是一系列模型。预警模型的优劣通常用准确率、召回率来衡量。准确率&#xff1a;预测为流失的用户中&#xff0c;有多少真的流失。召…