打卡信奥刷题(3644)用C++实现信奥题 P12027 [USACO25OPEN] Ski Slope S

发布时间:2026/10/23 7:54:12

打卡信奥刷题(3644)用C++实现信奥题 P12027 [USACO25OPEN] Ski Slope S P12027 [USACO25OPEN] Ski Slope S题目描述贝茜要和朋友们一起去滑雪。雪山上有NNN个路标1≤N≤1051 \leq N \leq 10^51≤N≤105按海拔从低到高依次标记为1,2,…,N1, 2, \ldots, N1,2,…,N路标111位于山脚。对于每个路标i1i 1i1有一条从路标iii出发终点为路标pip_ipi​1≤pii1 \leq p_i i1≤pi​i的滑雪道。这条滑道的难度为did_idi​0≤di≤1090 \leq d_i \leq 10^90≤di​≤109乐趣值为eie_iei​0≤ei≤1090 \leq e_i \leq 10^90≤ei​≤109。贝茜的MMM个朋友1≤M≤1051 \leq M \leq 10^51≤M≤105每人会进行如下操作选择一个起始路标iii然后沿着滑道向下滑行依次经过pi,ppip_i,p_{p_i}pi​,ppi​​依此类推直到抵达路标111。每位朋友获得的乐趣值等于他们经过的所有滑道的乐趣值之和。每个朋友有不同的技能水平sjs_jsj​0≤sj≤1090 \leq s_j \leq 10^90≤sj​≤109和勇气值cjc_jcj​0≤cj≤100 \leq c_j \leq 100≤cj​≤10这限制他们选择的起始路标必须满足滑行过程中最多有cjc_jcj​条滑道的难度超过sjs_jsj​。请为每位朋友计算他们能获得的最大乐趣值。输入格式第一行包含NNN。接下来222到NNN行每行包含三个整数pip_ipi​did_idi​和eie_iei​。随后一行包含MMM。接下来MMM行每行包含两个整数sjs_jsj​和cjc_jcj​。输出格式输出MMM行每行对应一个朋友的答案。注意由于涉及大整数运算可能需要使用 64 位整数类型如 C/C 中的long long。输入输出样例 #1输入 #14 1 20 200 2 30 300 2 10 100 8 19 0 19 1 19 2 20 0 20 1 20 2 29 0 30 0输出 #10 300 500 300 500 500 300 500说明/提示第一位朋友只能选择路标111作为起点因为其他路标都会导致至少经过一条难度超过191919的滑道。总乐趣值为000。第二位朋友可以选择路标444依次滑行至路标222和111。总乐趣值为100200300100 200 300100200300其中有一条滑道难度超过191919。第三位朋友可以选择路标333依次滑行至路标222和111。总乐趣值为300200500300 200 500300200500其中有两条滑道难度超过191919。测试点2∼42\sim42∼4N,M≤1000N, M \leq 1000N,M≤1000。测试点5∼75\sim75∼7所有cj0c_j 0cj​0。测试点8∼178\sim178∼17无额外限制。C实现#includebits/stdc.husingnamespacestd;intn,p[100010],k;//一次性longlonge[100010],d[100010],_max[12][100010],ans[12][100010];structNode{longlonge,max_[12];booloperator(constNodex){returnmax_[k]x.max_[k];}}a[100010];longlongmax_[12][100010];intmain(){cinn;for(inti2;in;i){cinp[i]d[i]e[i];e[i]e[p[i]];a[i].ee[i];for(intj1;j11;j)_max[j][i]_max[j][p[i]];for(intj1;j11;j){if(d[i]_max[j][i])swap(d[i],_max[j][i]);a[i].max_[j]_max[j][i];}}for(k1;k11;k){sort(a1,a1n);for(inti2;in;i){ans[k][i]max(ans[k][i-1],a[i].e);max_[k][i]a[i].max_[k];}}intm;cinm;while(m--){ints,c;cinsc;c;intidupper_bound(max_[c]1,max_[c]n1,s)-max_[c]-1;coutans[c][id]\n;}}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
延伸阅读

更多相关文章

2026/10/23 7:49:12

两地设备自动联动:网络控制器远程互控落地方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/23 8:49:26

DataGrip事务自动提交机制深度解析

1. 项目概述:DataGrip里“事务自动提交”到底在说什么?刚接触DataGrip的新手常被一句“事务为自动提交”搞懵——明明自己没敲COMMIT,数据怎么就写进数据库了?更困惑的是,有些同事的DataGrip点个查询就回滚不了&#x…

2026/10/23 8:49:26

Spring 3.0.5 源码包实战:从解压到容器启动与源码阅读

简介:本资源为Spring Framework 3.0.5.RELEASE官方发行包,内含完整框架源码与配套文档,面向Java企业级开发学习者、框架研究者及需要查阅API细节的工程师。压缩包约48.01MB,涵盖依赖注入、AOP、数据访问集成、Spring MVC等核心模块…

2026/10/23 8:49:26

Spring AI Alibaba停更引焦虑?Java依然是企业级AI应用的基石

先说一件让我印象很深的事:前阵子技术群里有人发了条消息,说某个云厂商开源的Spring AI Alibaba组件已经停止维护,仓库也不怎么更新了。紧接着就有人接了一句:“Java是不是没希望了?”我当时正在改一个基于Spring AI的…

2026/10/23 8:49:26

七代酷睿装Win7核显驱动适配实战:手动安装与避坑指南

简介:这份资源面向需要在Intel第七代CPU(如i5-7500、i7-7700)上继续使用Windows 7的用户,聚焦HD Graphics 630等核显在Win7下缺乏原生支持、难以正常识别与驱动的痛点,提供一套可参考的驱动安装文件集合,适…

2026/10/23 8:44:22

桌面端实用工具怎么选?从效率软件到开源工具的全方位指南

1. 选题速览:为什么这个标题值得花5分钟桌面端实用工具是一个永远有热度的话题。不管是刚接触电脑的新手,还是每天跟文件、截图、窗口打交道的办公族,总在找一个更顺手的工具来提升效率。这个标题之所以值得花几分钟看,是因为它把…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑