【洛谷P5290】【LOJ3052】春节十二响【堆】

博客围绕树节点集合划分问题展开,要求将树的每个节点划分进集合,使集合内任意两点非祖先 - 后代关系,求最小费用和。思路是通过堆合并子树,每次取堆顶元素合并,为避免时间复杂度被卡,采用启发式合并,最后给出代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目大意:

题目链接:
洛谷:https://www.luogu.org/problemnew/show/P5290
LOJ:https://loj.ac/problem/3052
将一棵树的每一个节点划分进一个集合,要求任意集合内的任意两点不可以是祖先 — 后代关系,每一个集合的费用为该集合内点的最大权值。求最小费用和。


思路:

我们假设一个节点有两个子节点,并且以该节点为根的子树全部只有一个子节点(该节点除外)
在这里插入图片描述
设黄色节点的最大值为 m a x max max且在以 x x x为根的子树内,那么 x x x显然是要与以 y y y为根的子树内的最大权值的节点合并的,这样显然可以减少接下来合并的费用。
那么我们将 x x x y y y合并时,我们对于每一个子树合并一个堆,每次将堆顶元素取出并合并为权值更大的那个。这样我们就维护好了两个子树的费用。
假设 r o o t root root有多个子节点,那么我们每次合并两个节点,并赋值到 r o o t root root中,所有子节点的集合合并完之后再将 r o o t root root的权值加入堆中。
但是这样的时间复杂度很容易被卡,所以我们要用启发式合并,每次把大小相对小的往大小相对大的合并,这样每一个节点最多被合并 log ⁡ n \log n logn次,时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)


代码:

#include <queue>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;

const int N=200010;
int n,tot,a[N],head[N],p[N];
priority_queue<int> q[N];
ll ans;

struct edge
{
	int next,to;
}e[N];

void add(int from,int to)
{
	e[++tot].to=to;
	e[tot].next=head[from];
	head[from]=tot;
}

void merge(int &x,int &y)
{
	if (q[x].size()<q[y].size()) swap(x,y);
	while (q[y].size())
	{
		q[0].push(max(q[x].top(),q[y].top()));
		q[x].pop(); q[y].pop();
	}
	for (;q[0].size();q[0].pop()) q[x].push(q[0].top());
}

void dfs(int x)
{
	p[x]=x;
	for (int i=head[x];~i;i=e[i].next)
	{
		dfs(e[i].to);
		merge(p[x],p[e[i].to]);
	}
	q[p[x]].push(a[x]);
}

int main()
{
	memset(head,-1,sizeof(head));
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for (int i=2,x;i<=n;i++)
	{
		scanf("%d",&x);
		add(x,i);
	}
	dfs(1);
	for (;q[p[1]].size();q[p[1]].pop())
		ans+=q[p[1]].top();
	printf("%lld\n",ans);
	return 0;
}
内容概要:《中文大模型基准测评2025年上半年报告》由SuperCLUE团队发布,详细评估了2025年上半年中文大模型的发展状况。报告涵盖了大模型的关键进展、国内外大模型全景图及差距、专项测评基准介绍等。通过SuperCLUE基准,对45个国内外代表性大模型进行了六大任务(数学推理、科学推理、代码生成、智能体Agent、精确指令遵循、幻觉控制)的综合测评。结果显示,海外模型如o3、o4-mini(high)在推理任务上表现突出,而国内模型如Doubao-Seed-1.6-thinking-250715在智能体Agent和幻觉控制任务上表现出色。此外,报告还分析了模型性价比、效能区间分布,并对代表性模型如Doubao-Seed-1.6-thinking-250715、DeepSeek-R1-0528、GLM-4.5等进行了详细介绍。整体来看,国内大模型在特定任务上已接近国际顶尖水平,但在综合推理能力上仍有提升空间。 适用人群:对大模型技术感兴趣的科研人员、工程师、产品经理及投资者。 使用场景及目标:①了解2025年上半年中文大模型的发展现状与趋势;②评估国内外大模型在不同任务上的表现差异;③为技术选型和性能优化提供参考依据。 其他说明:报告提供了详细的测评方法、评分标准及结果分析,确保评估的科学性和公正性。此外,SuperCLUE团队还发布了多个专项测评基准,涵盖多模态、文本、推理等多个领域,为业界提供全面的测评服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值