洛谷P14923、P11967、P10289、P10725、P13019、P13020、P10726、P10264、P14924题解
———————————————————未完工—————————————————————前言这些题都是往年8级绿题因为本人要考8级。P14923题意n个点m条边的无向图每个点奶酪权值为C[i]猫窝位于结点 a老鼠洞位于结点 b猫和老鼠走过一条边的时间是相同的。当这个点安全当且仅当老鼠能规划一条从结点 u 出发逃往老鼠洞的路径使得对于路径上任意结点 x包括结点 u 与老鼠洞都有猫从猫窝出发到结点 x 的最短时间严格大于老鼠从结点 u沿这条路径前往结点 x 所需的时间。问能拿到安全节点的奶酪的总和。思路要推一个思路就是一个点i是安全的当前仅当dis[b-i]dis[b-a]后面做一个Dijkstra就好了。具体怎么推看题意得猫和老鼠通过一条边的时间是相同的这也就意味着只要猫能在任意一个时间点赶在老鼠从某个节点出发的必经之路前面就可以沿着老鼠本来要走的路线赶到老鼠窝前说明它是不安全的。这样就推到上面了。写个代码就好了。题解#includebits/stdc.h #define int long long using namespace std; int n,m,a,b,x,y,z,ans,res[100005],dis[100005],vis[100005]; vectorpairint,int to[100005]; struct node{ int x,s; bool operator (const nodex)const{return x.ss;} }; void dijkstra(){ priority_queuenodeq; q.push((node){b,0}); dis[b]0; while(!q.empty()){ node tq.top();q.pop(); if(vis[t.x])continue; vis[t.x]1; for(int i0;ito[t.x].size();i){ int pto[t.x][i].first,sto[t.x][i].second; if(dis[p]dis[t.x]s){ dis[p]dis[t.x]s; if(!vis[p])q.push((node){p,dis[p]}); } } } } signed main(){ cinnmab; memset(dis,0x3f,sizeof dis); for(int i1;in;i)cinres[i]; for(int i1;im;i){ cinxyz; to[x].push_back(make_pair(y,z)); to[y].push_back(make_pair(x,z)); } dijkstra(); for(int i1;in;i){ if(dis[i]dis[a])ansres[i]; } coutans\n; }P11967题意思路题解P10289题意n个点n-1条边无向图经过一条边要用1单位时间k个城市每两个互相传送不需要时间q次询问问从s到t最短时间是多少。思路不难发现从s到t要么用LCA判断最近公共祖先直接走要么通过bfs传送门距离s最近的到距离t最近的距离两种情况取一个最小值这道题就完成了。题解#includebits/stdc.h using namespace std; int n,k,Q,x,y,dis[200005],d[200005],fa[200005][25]; vectorint to[200005]; queueint q; void dfs(int x,int f,int step){ fa[x][0]f; for(int i1;i20;i) fa[x][i]fa[fa[x][i-1]][i-1]; d[x]step; for(int i0;ito[x].size();i){ int yto[x][i]; if(yf)continue; dfs(y,x,step1); } } void bfs() { while(!q.empty()){ xq.front();q.pop(); for(int i0;ito[x].size();i){ yto[x][i]; if(dis[y]0x3f3f3f3f){ dis[y]dis[x]1; q.push(y); } } } } int LCA(int x,int y){ if(d[x]d[y])swap(x,y); for(int k20;k0;k--) if(d[fa[x][k]]d[y])xfa[x][k]; if(xy)return x; for(int k20;k0;k--){ if(fa[x][k]!fa[y][k])xfa[x][k],yfa[y][k]; } return fa[x][0]; } int main(){ memset(dis,0x3f,sizeof dis); cinnkQ; for(int i1;in;i){ scanf(%d%d,x,y); to[x].push_back(y); to[y].push_back(x); } dfs(1,0,1); for(int i1;ik;i)cinx,q.push(x),dis[x]0; bfs(); while(Q--){ cinxy; coutmin(dis[x]dis[y],d[x]d[y]-2*d[LCA(x,y)])\n; } }P10725题意n节点每个节点要么是黑色要么是白色求相距最远的一对不同颜色节点的距离是多少。思路f[x][0/1]表示从x往下最远的白/黑颜色点f[x][0]max(f[x][0],f[y][0]1)f[x][1]max(f[x][1],f[y][1]1)其中x为y的父结点。怎么推导的就是x-k和y-kx-yk是下面最远的白/黑点而ansmax(max(f[x][0]f[y][1]1,f[x][1]f[y][0]1),ans)最后写个树形dp就好了。注意千万不要在dfs时定义全局变量被卡了好久题解#includebits/stdc.h using namespace std; int n,a[100005],f[100005][2],ans; vectorint to[100005]; void dfs(int x,int fa){ f[x][0]f[x][1]-0x3f3f3f3f; f[x][a[x]]0; for(int i0;ito[x].size();i){ int yto[x][i]; // if(x3)couty\n; if(yfa)continue; dfs(y,x); // if(x3)couty f[y][0] f[y][1]\n; ansmax(max(f[x][0]f[y][1]1,f[x][1]f[y][0]1),ans);//取不同颜色 f[x][0]max(f[x][0],f[y][0]1);//转移方程 f[x][1]max(f[x][1],f[y][1]1); } // coutx f[x][0] f[x][1]\n; return; } int main(){ int x,y; cinn; for(int i1;in;i)cina[i]; for(int i1;in;i){ cinxy; to[x].push_back(y); to[y].push_back(x); } dfs(1,0); coutans\n; }P13019题意思路题解P13020题意思路题解P10726题意思路题解P10264题意思路题解P14924题意思路题解总结终于完结撒花了

相关新闻

伦理实战:癌症AI生存概率算法的测试困境与技术破局

伦理实战:癌症AI生存概率算法的测试困境与技术破局

第一章 生死概率背后的技术黑箱1.1 临床决策支持系统(CDSS)的伦理重压案例:某三甲医院肺癌AI系统将晚期患者5年生存率误算为0.8%(实际应为12%),导致23名患者放弃治疗。事故根源在于训练数据未覆盖新型靶向药疗效样本。1.2 测试工程…

2026/7/3 4:45:48 阅读更多 →
2026 最新 VsCode 安装教程

2026 最新 VsCode 安装教程

第一步:下载安装包 vscode 官方下载地址:https://code.visualstudio.com/ 按自己需求选择安装包版本 第二步:安装 1. 双击安装包,许可协议,选择 【我同意此协议】,点 【下一步】 2. 安装位置,默…

2026/7/4 23:34:58 阅读更多 →
Java 技术栈做人工智能:企业级落地的工程化路径与实践

Java 技术栈做人工智能:企业级落地的工程化路径与实践

在企业数字化与智能化转型进程中,Java 凭借稳定、成熟、高可用的特性,长期占据企业级系统开发的核心位置。随着大模型与 AI 能力全面渗透,如何让存量 Java 系统平稳接入 AI、让 Java 技术团队低成本掌握 AI 开发能力,成为企业普遍…

2026/7/3 4:45:43 阅读更多 →

最新新闻

自定义布局控件

自定义布局控件

讲到自定义布局控件,我们必须得先谈一下在WPF中自定义控件,在WPF自定义控件你可以选择下图的一些基类作为继承对象,你也可以继承自已有的一些控件,这个就看你的需要了。其实开发WPF自定义控件和开发WinForm、ASP.NET自定义控件基本…

2026/7/5 2:12:33 阅读更多 →
Border

Border

Border 是一个装饰的控件,此控件绘制边框及背景,在 Border 中只能有一个子控件(这个子控件又可以包含多个子控件)。Border 的几个重要属性:Background:用用一个 Brush 对象来绘制背景 ;BorderBrush:用一个B…

2026/7/5 2:12:33 阅读更多 →
SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案

SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案

SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE SRWE(Simple Runtime Window Editor)是一款功能强大的开源窗口分辨率自…

2026/7/5 2:10:33 阅读更多 →
qt的元对象系统有哪些组成,为什么要有元对象系统

qt的元对象系统有哪些组成,为什么要有元对象系统

豆包生成

2026/7/5 2:08:32 阅读更多 →
【Java毕业设计】基于 JavaWeb 的公司人事档案运维管理系统的设计与实现 企业员工信息录入与人事台账管理系统(源码+文档+远程调试,全bao定制等)

【Java毕业设计】基于 JavaWeb 的公司人事档案运维管理系统的设计与实现 企业员工信息录入与人事台账管理系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/5 2:06:32 阅读更多 →
云原生 AI 模型灰度:别把新模型一次性推给所有流量

云原生 AI 模型灰度:别把新模型一次性推给所有流量

云原生 AI 模型灰度:别把新模型一次性推给所有流量 一、模型灰度比普通服务更需要谨慎 普通服务灰度主要关注错误率、延迟和资源。AI 模型灰度还要关注答案质量、引用准确性、成本变化和用户反馈。新模型接口兼容,不代表业务效果一定更好。 模型上线如…

2026/7/5 2:06:32 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻