bzoj2809: [Apio2012]dispatching

2024最新Typora配置指南:从安装到打造学术写作环境(含LaTeX/参考文献解决方案) 本文提供2024年最新Typora配置指南,详细讲解如何从安装开始,结合Pandoc、Zotero和LaTeX,打造高效的学术写作环境。指南涵盖Typora深度定制、学术主题配置、参考文献自动管理以及一键生成出版级PDF的完整解决方案,旨在帮助科研人员和学生实现内容与格式分离,大幅提升论文写作效率。 阅读详情

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2809

思路:很明显忍者之间的关系是一个树形结构

先自底向上枚举管理者x,那么根据题意,我们就要从x的子树中选择尽量多的忍者,且工资总和不超过m

用一个可并堆

到一个点x,就把它的儿子节点的可并堆并起来

显然优先选工资低的,那么维护大根堆,不停地删堆顶,直到工资满足预算即可

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
typedef long long ll;
const int maxn=100010,maxm=100010;
using namespace std;
int C[maxn],L[maxn],siz[maxn],root[maxn],n,m,pre[maxm],now[maxn],son[maxm],tot;ll ans,sum[maxn];
void read(int &x){
	char ch;
	for (ch=getchar();!isdigit(ch);ch=getchar());
	for (x=0;isdigit(ch);ch=getchar()) x=x*10+ch-'0';
}
void add(int a,int b){pre[++tot]=now[a],now[a]=tot,son[tot]=b;}

struct Ltree{
	int v[maxn],l[maxn],r[maxn],dis[maxn],tot;
	int newnode(int val){v[++tot]=val,l[tot]=r[tot]=dis[tot]=0;return tot;}
	int merge(int x,int y){
		if (!x||!y) return x+y;
		if (v[x]<v[y]) swap(x,y);
		r[x]=merge(r[x],y);
		if (dis[r[x]]>dis[l[x]]) swap(r[x],l[x]);
		dis[x]=dis[r[x]]+1;
		return x;
	}
	void pop(int &x){x=merge(l[x],r[x]);}
	int top(int x){return v[x];}
}h;

void dfs(int x){
	root[x]=h.newnode(C[x]);
	siz[x]=1,sum[x]=C[x];
	for (int y=now[x];y;y=pre[y]){
		dfs(son[y]);
		sum[x]+=sum[son[y]];
		siz[x]+=siz[son[y]];
		root[x]=h.merge(root[x],root[son[y]]);
	}
	for (;sum[x]>m;) sum[x]-=h.top(root[x]),h.pop(root[x]),siz[x]--;
	ans=max(ans,1ll*L[x]*siz[x]);
}

int main(){
	read(n),read(m);
	for (int i=1,x;i<=n;i++) read(x),read(C[i]),read(L[i]),add(x,i);
	dfs(1),printf("%lld\n",ans);
	return 0;
}


开源项目-智能算法中台管理系统 智能算法中台管理系统,系统主要有样本中心,算法中心,模型中心等模块 阅读详情

相关推荐

FPGA新手必看:Quartus生成jic文件全流程详解(附AS/JTAG模式选择指南)

本文详细解析了在Quartus中生成JIC文件以固化FPGA程序到Flash的全流程。核心在于理解JIC文件作为连接JTAG调试与AS固化的桥梁作用,并重点阐述了Convert Programming Files工具的关键配置步骤、AS与JTAG模式的选择逻辑,以及烧录过程中的常见问题排查指南,帮助开发者实现程序断电不丢失。

weixin_29271053的博客 275

BZOJ 2809(dfs序+离散化+主席树 或者 可并堆)

2809: [Apio2012]dispatching Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 5238  Solved: 2697 [Submit][Status][Discuss] Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除...

yjt9299的博客 433

Comsol超声空化气泡仿真入门:从零搭建模型到网格划分的完整流程

本文详细介绍了使用Comsol进行超声空化气泡仿真的完整流程,从物理基础理解到模型搭建、网格划分及求解器设置。通过具体步骤和示例代码,帮助初学者和工程师快速掌握这一关键技术,应用于医疗设备和工业清洗等领域。

weixin_29289821的博客 165

BZOJ 2809([Apio2012]dispatching-Splay启发式合并)

2809: [Apio2012]dispatching Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 606  Solved: 315 [Submit][Status][Discuss] Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Mast

nike0good |Oier&ACMer | 熟能生巧 1634

从零到一:DETR模型在自定义数据集上的实战部署与调优

本文详细介绍了DETR模型在自定义数据集上的实战部署与调优过程,包括环境准备、数据转换、模型配置、训练技巧及问题排查。通过具体代码示例和实用建议,帮助开发者高效完成从零到一的DETR模型部署,特别适合目标检测领域的实践应用。

weixin_42524100的博客 462

CA(载波聚合)

文章目录CA基本概念1. CA分类2. Pcell、Scell以及Serving CellPcell(Primary Cell)Scell(Secondary Cell)3. Pcell、Scell部署场景场景1场景2场景3场景44. CA的协议控制4.1 Camping/Connetion Establishment:4.2 CC Management/SCell Addition/Release:4.3 Handover/Measurements:4.4 SCell激活 CA基本概念 CA也就是我们中文

你又来看我了,一起学习吧 4万+

bzoj2809 apio2012 派遣

直观思想是要找到以每个点为根的子树里,最多能有多少个节点薪水和不大于M,也就是要去把最小的点统计起来,乍一眼像是一个维护最小薪水的可并堆,但是考虑到必须要有出堆操作来使时间更优,而出堆元素越大越好,综上,维护一个子树中最大薪水的可并堆。DFS到一个点x时,先递归处理子树,再一个个合并儿子节点所代表的堆,并且在合并后进行不断的pop操作来删除超额节点,最后录入x的信息,每次去个max即可。代码如下。

sjwk2017的博客 1476

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

[BZOJ2809][Apio2012]dispatching(枚举&dfs序+主席树||可并堆||splay+启发式合并)

你要堕落,神仙也救不了; 你要成长,绝处也能逢生。

zyf2000 1670

Floyd (弗洛伊德)算法简述

Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。

慕羽★的博客 2万+

CDDT CST CDDT CSTTT

This is the second part of the SA8653 automotive CDDT configuration guide. It describes the matching rules and modification methods between CDDT and device‑tree DDTS. It explains CDT’s underlying logic and configuration in TZ, QNX and Android. It details C

qq_39257814的博客 1410

【BZOJ2809】[Apio2012]dispatching 可并堆

【BZOJ2809】[Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。...

aodanchui1057的博客 130

Vue3 - Arco Design Vue 表格组件 table 隐藏鼠标移入时 hover 高亮背景色,el-table 组件去除鼠标悬停在表格行的 hover 高亮效果(改变鼠标移入时的背景色)

vue3,arcodesignvue,arcodesign,表格,a-table,hover,表格hover的class类名是什么,class,hover,在arcodesignvue项目中,表格组件如何去掉鼠标移入时的hover效果,vue3arco.design表格组件修改鼠标移入行的背景颜色,table表格,取消表格行row移入高亮效果,去掉鼠标移入行时的hover效果,取消a-table的hover状态,取消高亮显示,隐藏表格鼠标hover效果,去除鼠标触摸变色效果,如何取消arco表

🏆 前端领域优质创作者 3771

【BZOJ 2809】 [Apio2012]dispatching

可合并堆(左偏树)好题~

Regina8023 905

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

BZOJ2809: [Apio2012]dispatching

BZOJ2809: [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。 在这个帮派里,有一名忍者被称之为Master。 除了Master以外,每名忍者都有且仅有一个上级。 为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送...

weixin_30808575的博客 78

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BZOJ 2809: [Apio2012]dispatching

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 题目大意:在一棵树中,每个节点有2个权值(我们不妨称其为val1和val2)。求一个节点x,在这个节点和其子树中找一个点集S,使得Σval1(i),i∈S小于某个下界,并使得val2(x)*|s|最大。 算法分析:         根据题目的大意我们可以比较显然

Charlie Pan's Blog 1763

【APIO2012】【BZOJ2809】派遣dispatching

2809: [Apio2012]dispatchingTime Limit: 10 Sec Memory Limit: 128 MB Submit: 1932 Solved: 967 [Submit][Status][Discuss] Description在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Ma

CreationAugust is 14 years old forever 1386

BZOJ2809——[Apio2012]dispatching

1、题目大意:给一棵树和M值,每个点有两个权值C和L,选x个点,这x个点的C值的和不能超过M,且这x个点如果都在某个子树内 定义满意度为x*这个子树的根的L值 2、分析:这是一道可并堆的题目,我们考虑每一个子树,我们想让其中的选的点尽量多但是C和却不超过M 我们只需取C值最小的,次小的,第三小的……直到不能选为止,这个不是很简单吗,不就是一个堆吗 不对,难道对于每一个子树都要建一个堆吗,那

iamqzh的博客 235

【bzoj2809】[Apio2012]dispatching 左偏树

【bzoj2809】[Apio2012]dispatching 左偏树 2016-05-31 15:56:57 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 直观的思想是当领导力确定时,尽量选择...

anchoupi8353的博客 151

bzoj2809 [Apio2012]dispatching

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 【题解】 枚举选定的领导者,从领导者下属选择一坨他们的薪水<=m,那么肯定贪心选。 下面一坨选可以用主席树,为了使他们连起来,用DFS序。。 我真是傻逼dfs序都会写错。。 # include <stdio.h> # include &l...

aklm45097的博客 121

bzoj 2809 [Apio2012]dispatching

可并堆(斜堆)

我要吃熊猫 282

bzoj2809【APIO2012】dispatching

可并堆

AaronPolaris 3244

BZOJ 2809 [Apio2012]dispatching

题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2809 思路 显然,选取需要工资最少的几个人最优。 枚举领导者的编号,问题就变成了求每个点的子树中工资kk能满足多少员工了。 很容易想到使用可并堆,如果选择建立小根堆会TLE,正解是选择建立大根堆,每次从这个点的子树中...

dilei7762的博客 131

BZOJ2809 [Apio2012]dispatching

Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。现在你要招募一批忍者,并把它们派遣给顾客。你需要为每个被派遣...

dgoh41514的博客 167
上一篇: bzoj1455: 罗马游戏
下一篇: bzoj1598: [Usaco2008 Mar]牛跑步
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值