2024ICPC 杭州区域赛 H题 Heavy-light Decomposition 📅 发布时间:2026/7/15 1:11:05 👁️ 浏览次数: 题目链接https://codeforces.com/gym/105657/problem/H题目描述题解代码#includebits/stdc.h#defineintlonglong#defineendl\nusingnamespacestd;constintN1000010;constintmod998244353;structnode{intl,r,d;// 从大到小排序booloperator(constnoderhs)const{returndrhs.d;}}arr[N];intfather[N];// 记录每个结点的父节点intn,k;voidsolve(){cinnk;for(inti1;ik;i){cinarr[i].larr[i].r;arr[i].darr[i].r-arr[i].l1;}// 只有一条直接返回if(k1){for(intiarr[1].l;iarr[1].r;i){father[i]i-1;}// root的父亲为0father[arr[1].l]0;for(inti1;in;i){coutfather[i] \n[in];}return;}sort(arr1,arrk1);// 不合法1: 全部大小相同boolflagtrue;for(inti1;ik;i){if(arr[i].d!arr[1].d){flagfalse;break;}}if(flag){coutIMPOSSIBLE\n;return;}// 不合法2: 最长链两个以上相同, 并且相差不超过1if(arr[1].darr[2].darr[1].d-arr[k].d1){coutIMPOSSIBLE\n;return;}// 合法1: 若最长链子只有一条if(arr[1].d!arr[2].d){for(inti1;ik;i){father[arr[i].l]arr[1].l;for(intjarr[i].l1;jarr[i].r;j){father[j]j-1;}}// root的父亲为0father[arr[1].l]0;}// 合法2else{for(inti1;ik;i){father[arr[i].l]arr[1].l;for(intjarr[i].l1;jarr[i].r;j){father[j]j-1;}}// root的父亲为0father[arr[1].l]0;// 把最短那条放到最长那条的第二个结点下father[arr[k].l]arr[1].l1;}// 输出答案for(inti1;in;i){coutfather[i] \n[in];}return;}signedmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);intt1;cint;while(t--){solve();}return0;}
Leetcode使用最小花费爬楼梯的解法思考与回溯 最近在做力扣动态规划(基础版)的50道题目,我觉得其中的的确确这么多题目都是非常有趣非常精彩同时也是非常深刻的,值得自己花时间好好琢磨。 自己最近在做打家劫舍和使用最小花费爬楼梯两道题目,我觉得这两道题目确实也是很不错的。尤其是打… 2026/7/11 22:43:46
小龙虾(OpenClaw)本地安装部署教程 1. 部署前环境准备 在开始之前,请确保您的设备满足以下基础要求,这是安装成功的关键: 操作系统: Windows:Windows 10/11(推荐使用 WSL2 环境以获得最佳稳定性,或直接使用 PowerShellÿ… 2026/7/11 14:04:00
[原创开源] 三进制/n+1进制芯片底层架构设计思路与实现可行性分析 **原创与开源声明** 本文所阐述的“三进制/n1进制可量产芯片架构”及其附图,均为本人独立原创完成。 本人在此公开声明:放弃对该架构的商业专利主张,**全球任何个人、团队、企业可无偿使用、修改、量产,无需支付任何费用ÿ… 2026/7/9 22:28:45
终极FGA自动战斗配置指南:从新手到专家的完整实战方案 终极FGA自动战斗配置指南:从新手到专家的完整实战方案 【免费下载链接】FGA Auto-battle app for F/GO Android 项目地址: https://gitcode.com/gh_mirrors/fg/FGA Fate/Grand Automata(简称FGA)是一款专为FGO安卓玩家设计的智能自动战… 2026/7/15 1:09:21
csp信奥赛C++高频考点专项训练:【二分答案】案例5:进击的奶牛 csp信奥赛C高频考点专项训练:【二分答案】案例5:进击的奶牛 题目描述 Farmer John 建造了一个有 NNN(2≤N≤1052 \leq N \leq 10 ^ 52≤N≤105) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x1,x2,⋯,xNx _ 1, x … 2026/7/15 1:09:21
HarmonyOS RDB 模糊搜索变慢怎么办:中式美食菜名、别名和食材关键词怎么分层查询 本地菜谱越来越多以后,搜索响应慢,结果排序还经常把弱相关菜排前面。 中式美食里同一个菜谱会从搜索、分类、收藏、推荐和购物清单多个入口出现,状态一旦没拆清楚,用户看到的就是点了没反应、返回位置丢了、统计不准或者卡片状态串… 2026/7/15 1:07:20
套用 NIST 框架做风控,五步搞定企业安全体系 从混乱到有序:用 NIST 框架重构企业风控体系面对日益复杂的网络威胁,许多企业的安全团队往往陷入“救火式”运维的泥潭:今天修补一个漏洞,明天响应一次钓鱼邮件,缺乏系统性的防御逻辑。这种碎片化的应对方式不仅效率低… 2026/7/15 1:05:20
工艺窗口太窄良率不稳:我用DOE方法找到了最优参数组合 新工艺导入时窗口太窄,温度偏差2度就超规,良率从92%波动到75%。PE调了一周没找到稳定点,我建议用实验设计(DOE)方法系统化寻找最优参数组合。做了一套4因素3水平正交实验,27组实验后找到了温度、压力、流量… 2026/7/15 1:03:19
【实战指南】MATLAB蒙特卡罗模拟:从金融定价到系统优化 1. 蒙特卡罗模拟:金融与工程优化的万能钥匙第一次接触蒙特卡罗模拟是在研究生时期,当时导师让我用这个方法估算一个复杂金融衍生品的价格。看着那些随机生成的数字最终收敛到一个合理结果时,我彻底被这种"暴力计算"的美学征服了。蒙… 2026/7/15 1:03:19
行星减速机的工作原理是什么?从齿轮运动关系到减速比计算 一、行星齿轮机构的组成 标准行星齿轮机构主要包括: 太阳轮; 行星轮; 内齿圈; 行星架。 太阳轮位于机构中心。 多个行星轮围绕太阳轮均匀布置,行星轮内侧与太阳轮外啮合,外侧与内齿圈内啮合。 行星轮通过轴… 2026/7/15 0:03:00
阅读Java开源框架源码的心得分享! 前几日闲来无事有幸看到了一位博主分享自己阅读开源框架源码的心得,看了之后也引发了我的一些深度思考。我们为什么要看源码?我们该怎么样去看源码? 其中前者那位博主描述的我觉得很全了(如下图所示),就不做… 2026/7/15 0:03:00
【LINUX】驱动 【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】 2026/7/15 0:07:01
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/14 18:25:04
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/14 5:09:41