P3576 [POI 2014] MRO-Ant colony

news/2025/12/7 12:53:59/文章来源:https://www.cnblogs.com/zloi-hhq/p/19317968

洛谷

一个比较简单的思路,不需要二分。

考虑逆向操作,从路径两端开始处理数值范围,将蚂蚁群大小视为一次查询。

由于树的两点之间的简单路径只有一条,所以每个点的范围是唯一的。

处理时和 \(10^9\) 取最小值,因为此时已经超过了蚁群最大数量,再继续可能会把 long long 爆了。

之后我们再把叶子节点的范围找出来,做一个类似差分的操作即可,具体可以看代码。

代码:

#include<bits/stdc++.h>
using namespace std;
int n,g,k,m[1000005],d[1000005],l[1000005],r[1000005],cnt,cnt2,ans;
vector<int> e[1000005];
struct P{int op,v;
}a[3000005];
bool cmp(P a,P b){if(a.v!=b.v)return a.v<b.v;return a.op<b.op;
}
void dfs(int p,int f){for(int i:e[p]){if(i==f)continue;if(d[i]==1){l[i]=l[p],r[i]=r[p];}else {l[i]=l[p]*(d[i]-1);r[i]=r[p]*(d[i]-1)+d[i]-2;}dfs(i,p);}
}
signed main(){cin>>n>>g>>k;for(int i=1;i<=g;i++)scanf("%d",&m[i]);int x,y;cin>>x>>y;e[x].push_back(y);e[y].push_back(x);d[y]++,d[x]++;for(int i=2,u,v;i<n;i++){cin>>u>>v;e[u].push_back(v);e[v].push_back(u);d[u]++,d[v]++;}if(d[x]==1)l[x]=r[x]=k;else l[x]=r[x]=k*(d[x]-1);if(d[y]==1)l[y]=r[y]=k;else l[y]=r[y]=k*(d[y]-1);dfs(x,y);dfs(y,x);for(int i=1;i<=n;i++)if(d[i]==1)a[++cnt2]={1,l[i]},a[++cnt2]={3,r[i]};for(int i=1;i<=n;i++)a[++cnt2]={2,m[i]};sort(a+1,a+cnt2+1,cmp);for(int i=1,s=0;i<=cnt2;i++){if(a[i].op==2)ans+=s;else if(a[i].op==1)s++;else s--;}cout<<ans*k;return 0;
}

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

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

相关文章

flink 1.20 物化表(Materialized Tables) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P4953 [USACO02FEB] Cow Cycling

洛谷 一眼动态规划。 但是我们状态怎么设置? 我们分析题目,可以发现一个领头一定要开到最后,不再成为领头。 原因很简单,如果你把这只领队重新放回队尾,那么它在其它奶牛领队后跑了几圈,它最后能跑的圈数比其他没…

CF700B Connecting Universities

Codeforces 看题目如果直接从如何配对的角度去考虑的话,还是比较困难的。 但是我们不只能从点的角度入手,我们也可以尝试从边的角度入手。 一条边如果要被两个点之间的最短路径经过,那么这两个点一定分别分布在这一…

大模型算法学习

基础知识 一、NLP基础知识 1.词嵌入模型 2.序列模型 二、Transformer基础 三、预训练模型 1.BERT 2.GPT 3.T5 四、预训练技术 五、微调技术 六、强化学习

Linux——网络命令和常用服务 - 指南

Linux——网络命令和常用服务 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

用 GitHub issue 寫博客很好,但我要放棄了

這曾經是一個比火熱的寫作方式,至少在 2020 年是如此,我也是聽、看 laike9m 和 yihong618 的項目慢慢摸索的,它有很多優點,比如至少解決了如下的問題:文章託管:所有文件放在 GitHub,他的穩定性至少要比你電腦的…

P11580 [CCC2020] Escape Room

洛谷 发现直接从起点开始不好处理,可以考虑从终点倒过来处理。 假设目前在位置 \((x,y)\) 那么下一次一定是选择值为 \(x\times y\) 的区域。 那么我们开按照当前区域的值存下这个区域的位置,使用广搜处理,记录每一…

用 Astro 重做網站這件事

Astro 是什麼 核心思想是羣島架構,不同與傳統 VUE 的單頁應用,而是對於不用頁面按需加載,在網頁加載速度和架構兼容性上來說是一流。 模板的注入類似 Jekyll,但是比前者更加靈活。 Bun 是什麼 是用 Zig 語言實現的…

周边的车间厂房工厂通风降温工业冷风机源头厂家,有热源的车间通风降温/铁皮厂房车间降温/铁皮房车间厂房降温工业冷风机供应商有哪些

【苏州讯】随着全球制造业对生产环境与能耗成本的日益关注,工业厂房的通风降温问题已成为影响生产效率与企业可持续发展的关键因素。近日,记者走访了位于苏州的工业通风降温设备制造商——苏州蓝美达机电有限公司,深…

P6875 [COCI2013-2014#6] KRUŽNICE

洛谷 由样例可以知道,一个圆只贡献一个区域,而一个圆在中间被几个圆完全连接时会被分成两个部分,计算两个贡献。 那么我们很容易想到先按照左端点排序,在左端点相同时,比较半径大小。 然后从后向前连接,如果前面…

美化 BroadcastChannel

原項目設計很新穎,用 Cloudflare / Netlify / Vercel 等平臺天然支持 SSR 特性,完成了原網頁 https://t.me/s/ 的代理工作。最重要的是,這些平臺作爲中間轉發(代理),可以直接讓國內訪問到這部分內容(受衆 ++)。…

克服EMD端点效应的齿轮箱故障特征识别方法

一、EMD端点效应问题解析 1. 端点效应成因 经验模态分解(EMD)在处理非平稳信号时,通过迭代筛选极值点生成本征模态函数(IMF)。但在信号两端,由于无法确定极值点的发展趋势,导致:端点处极值点缺失,筛选过程产生虚假…

2025最新绿色低碳工厂建设五大服务商/厂家推荐!工业智能化升级权威指南,助力企业实现双碳目标与高效生产

引言 随着全球工业4.0进程加速与“双碳”战略深入推进,绿色低碳工厂建设已成为制造业转型升级的核心议题。据中国信通院《中国数字经济发展白皮书》显示,2024年我国智能制造渗透率达48.2%,但工业能耗强度仍高于发达…

北京上门回收名家字画 专访北京丰宝斋负责人徐亚南

初冬的丰宝斋,晨光透过老字号的雕花木窗,洒在一幅刚展开的清代山水卷轴上。北京丰宝斋负责人徐亚南正戴着棉纱手套,用放大镜细细审视画角的题款。“这些老物件带着几代人的温度,上门回收不仅是做交易,更是接下一份…

P6000 [CEOI2016] match

洛谷 对于暴力写法,我们很容易想到一个 \(O(n^2)\) 的暴力。 我们可以先从左到右枚举需要配对的字符,然后从后往前去找到一个合法且相同的字符配对。 对于怎样才算合法,我们通过此部分内部是否合法,以及前面是否有…

MultiButton移植记录

使用记录 使用PA0引脚,电路图如下,使用GPIO内部下拉。实际测试,很稳定,没有误触发,单击、双击、长按很稳定。移植记录复制multi_button.c和multi_button.h到工程中,实现GPIO的初始化、读取。void key_init(void)…

Hugging Face 论文页面功能指南

在飞速变化的研究世界中,紧跟最新进展至关重要。为帮助开发者与研究人员把握 人工智能 前沿动态,我们推出了 Daily Papers 页面。自上线以来,Daily Papers 已收录超过 1 万 篇由 AK 与社区研究者精选的高质量论文。…

北京上门回收老酒名酒茅台五粮液

您家里是否存放着一些陈年佳酿,或是亲友相赠却不知价值的名酒?它们或许静置于橱柜一角,或收藏于箱底,随着岁月流逝,其价值可能已悄然攀升。京城亚南酒业,立足北京多年,专注于老酒、名酒的专业上门回收服务,为您…

P5202 [USACO19JAN] Redistricting P

洛谷 首先我们设更赛牛为加一,荷斯坦牛为负一。 这样通过前缀和就可以得到这一组是否需要增加一。 设 \(dp_i\) 表示以 \(i\) 为末尾,最少的分区。 那么方程式就为: \[$ dp_i=dp_j+(pre_i-pre_j\le 0) $\]然而表达式…

详细介绍:数据结构5:二叉树

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …