https://www.lydsy.com/JudgeOnline/problem.php?id=2809

板子题wa了一下因为输出ans没有lld

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
using namespace std;
const int maxn=;
int n,m;
int ch[maxn][]={},siz[maxn]={},sum[maxn]={},cnt[maxn]={},rt[maxn]={};
int fa[maxn]={},val[maxn]={},l[maxn]={};
int y[maxn],nex[maxn]={},head[maxn]={},tot=;
long long ans=;
void init(int x,int yi){
y[++tot]=yi;nex[tot]=head[x];head[x]=tot;
}
void updata(int x){
siz[x]=siz[ch[x][]]+siz[ch[x][]]+;
sum[x]=sum[ch[x][]]+sum[ch[x][]]+val[x];
}
int merge(int x,int y){
if(x==)return y;if(y==)return x;
if(val[x]<val[y])swap(x,y);
ch[x][]=merge(ch[x][],y);
if(cnt[ch[x][]]>cnt[ch[x][]])
swap(ch[x][],ch[x][]);
cnt[x]=cnt[ch[x][]]+;
updata(x);
return x;
}
void dfs(int x){
for(int i=head[x];i;i=nex[i]){
dfs(y[i]);
rt[x]=merge(rt[x],rt[y[i]]);
while(sum[rt[x]]>m){rt[x]=merge(ch[rt[x]][],ch[rt[x]][]);}
}ans=max(ans,(long long)l[x]*(long long)siz[rt[x]]);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){
scanf("%d%d%d",&fa[i],&val[i],&l[i]);
sum[i]=val[i];rt[i]=i;siz[i]=;
if(fa[i])init(fa[i],i);
}
dfs();
printf("%lld\n",ans);
return ;
}

最新文章

  1. TCP/IP知识点汇总
  2. [游戏学习29] Win32 图像处理1
  3. JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted,
  4. Untiy 接入 移动MM 详解
  5. 图论(网络流):UVa 1659 - Help Little Laura
  6. 【好程序员笔记分享】——iOS开发之纯代码键盘退出
  7. 从汇编角度来理解linux下多层函数调用堆栈执行状态
  8. 一个IT人士的个人经历,给迷失方向的朋友(转)
  9. Python3 多线程的两种实现方式
  10. 使用Filebeat和Logstash集中归档日志
  11. PA 创建项目
  12. UVA - 11427 Expect the Expected (概率dp)
  13. maven启动tomcat访问报404(url中没有项目名)
  14. Angularjs 学习笔记
  15. CentOS7下用firewall-cmd控制端口与端口转发
  16. kubernetes发布tomcat服务,通过deployment,service布署
  17. MySQL库中表名忽略大小写设置的影响
  18. vue-cli初始化一个项目
  19. Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again错误解决
  20. LCD RGB 控制技术讲解 — 时钟篇(上)

热门文章

  1. ==和equals区别
  2. 可能是最漂亮的Spring事务管理详解
  3. jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
  4. 03 Editor plugins and IDEs 编辑器插件和 ide
  5. Web Api - HttpMessageHandler 学习
  6. 【前端vue开发架构】vue开发单页项目架构总结
  7. three.js是什么,能干嘛,和webgl什么关系
  8. Spring cloud Feign 调用端不生效
  9. Writing a Kernel in C++
  10. CF GYM100548 (相邻格子颜色不同的方案数 2014西安现场赛F题 容斥原理)