洛谷 P9100 [PA 2020] Miny 题解
这道题难点在于状态设计。考虑线性 DP设d p i dp_idpi​为仅考虑前i ii个地雷且钦定第i ii个不引爆的方案数。这样设计的好处在于i ii前面的地雷一定不会引爆i ii后面的从而满足无后效性。注意需要在左右无穷远处各添加一个爆炸半径无穷大的哨兵地雷下标分别为0 00和n 1 n1n1确保哨兵能引爆所有地雷。答案即为d p n 1 dp_{n1}dpn1​。然后考虑转移。对于每个i ii枚举所有j i jiji然后判断引爆[ j 1 , i − 1 ] [j1,i-1][j1,i−1]中所有地雷是否会引爆i ii或j jj。若均不会则能转移令d p i ← d p i d p j dp_i\leftarrow dp_idp_jdpi​←dpi​dpj​。尝试转化这个条件。设l i l_ili​为i ii左边第一个会引爆i ii的地雷r i r_iri​同理。则上述条件等价于j ≥ l i j\ge l_ij≥li​且i ≤ r j i\le r_ji≤rj​。l , r l,rl,r两个数组都可以单调栈上二分处理。然后状态转移方程如下。d p i ∑ j l i i − 1 [ i ≤ r j ] ⋅ d p j ∑ j 0 i − 1 [ i ≤ r j ] ⋅ d p j − ∑ j 0 l i − 1 [ i ≤ r j ] ⋅ d p j \begin{aligned} dp_i\sum_{jl_i}^{i-1}[i\le r_j]\cdot dp_j\\ \sum_{j0}^{i-1}[i\le r_j]\cdot dp_j-\sum_{j0}^{l_i-1}[i\le r_j]\cdot dp_j\\ \end{aligned}dpi​​jli​∑i−1​[i≤rj​]⋅dpj​j0∑i−1​[i≤rj​]⋅dpj​−j0∑li​−1​[i≤rj​]⋅dpj​​先离线把d p i dp_idpi​的两个询问分别挂在i − 1 i-1i−1和l i − 1 l_i-1li​−1上然后树状数组扫一遍即可。需要特殊处理j 0 j0j0的情况。时间复杂度O ( n log ⁡ n ) O(n\log n)O(nlogn)。#includebits/stdc.h#definerept(i,a,b)for(inti(a);ib;i)#definepert(i,a,b)for(inti(a);ib;--i)#definelowbit(x)((x)-(x))#defineebemplace_back#defineintlonglongusingnamespacestd;constexprintN3e55,P1e97,INF3e18;structitem{intp,rad,lb,rb;}a[N];structquery{query()default;query(int_id,int_k):id(_id),k(_k){}intid,k;};intdp[N],st[N],l[N],r[N],s[N],n,top;vectorqueryq[N];voidadd(intp,intx){while(pn1)s[p]x,plowbit(p);}intask(intp){intres0;while(p)ress[p],p^lowbit(p);returnres;}signedmain(){cin.tie(0)-sync_with_stdio(0);cinn;a[0]{-INF,INF,-INF,INF};a[n1]{INF,INF,-INF,INF};r[0]r[n1]n1;dp[0]1;rept(i,1,n){cina[i].pa[i].rad;a[i].lba[i].p-a[i].rad;a[i].rba[i].pa[i].rad;}st[top1]0;rept(i,1,n){intL1,Rtop,mid;while(LR){midLR11;a[st[mid]].rba[i].p?Lmid:Rmid-1;}l[i]st[L];while(a[st[top]].rba[i].rb)--top;st[top]i;}st[top1]n1;pert(i,n,1){intL1,Rtop,mid;while(LR){midLR11;a[st[mid]].lba[i].p?Lmid:Rmid-1;}r[i]st[L];while(a[st[top]].lba[i].lb)--top;st[top]i;}rept(i,1,n1){if(!l[i])l[i],dp[i];// 特判从dp[0]转移if(l[i]1)q[l[i]-1].eb(i,-1);if(i1)q[i-1].eb(i,1);}rept(i,1,n1){add(r[i],dp[i]);for(auto[id,k]:q[i]){(dp[id]k*(ask(n1)-ask(id-1)))%P;}}cout(dp[n1]P)%P;return0;}

相关新闻

初识线程:带你理解程序运行的基本流程

初识线程:带你理解程序运行的基本流程

一、基本概念开发程序是为了解决问题1.程序一个存在磁盘中的程序(一份文件 代码文件数据文件)不能解决问题2.进程正在运行中的程序 代码和数据 都在内存中可以解决问题:通过(代码-计算机指令)调度计算机资源&#xf…

2026/7/7 10:29:06 阅读更多 →
Java应用实例:简易背单词程序(更新)

Java应用实例:简易背单词程序(更新)

一、预期实现功能 V1.0: 准备数据: 找到 单词与翻译的对照数据 存入到文件中 在程序中读取文件中的数据V2.0: 1: 随机抽取单词,去掉其中某个字母,要求用户输入这个字母填空 2:给出中文翻译,输入单词 实现拼…

2026/7/7 1:37:42 阅读更多 →
后端开发效率翻倍:IntelliJ IDEA的5个“神级插件

后端开发效率翻倍:IntelliJ IDEA的5个“神级插件

一、GitToolBox:Git协作效率加速器功能概述:增强IDEA原生Git功能,将版本控制操作无缝集成到IDE中,避免频繁切换命令行。 核心作用:实时Blame信息:点击代码行右侧显示最近修改者、提交时间和摘要&#xff0c…

2026/7/5 9:43:16 阅读更多 →

最新新闻

网盘直链下载助手完整指南:告别限速,一键获取真实下载链接

网盘直链下载助手完整指南:告别限速,一键获取真实下载链接

网盘直链下载助手完整指南:告别限速,一键获取真实下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…

2026/7/7 11:57:12 阅读更多 →
如何免费解锁WeMod专业版:3个关键步骤与安全指南

如何免费解锁WeMod专业版:3个关键步骤与安全指南

如何免费解锁WeMod专业版:3个关键步骤与安全指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的高昂订阅费而烦恼吗&am…

2026/7/7 11:55:12 阅读更多 →
腾讯混元 Hy3 开源:多任务比肩大尺寸模型,多项指标显著优化

腾讯混元 Hy3 开源:多任务比肩大尺寸模型,多项指标显著优化

【导语:继 4 月底发布 Hy3 preview 后,腾讯混元 Hy3 现已开源,在推理、智能体、长上下文等任务上显著进步,多项指标优化明显,成为高性价比可靠选择。】混元 Hy3 开源:多维度升级亮点足 腾讯混元 Hy3 在发布…

2026/7/7 11:53:12 阅读更多 →
DAB单移相控制、双有源桥DCDC变换器(电压闭环)仿真(附参考文献)

DAB单移相控制、双有源桥DCDC变换器(电压闭环)仿真(附参考文献)

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、…

2026/7/7 11:53:12 阅读更多 →
Paperxie 毕业论文智能写作功能|一站式搞定本科硕博论文,告别熬夜凑稿难题

Paperxie 毕业论文智能写作功能|一站式搞定本科硕博论文,告别熬夜凑稿难题

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图毕业论文 - PaperXie智能写作PaperXieAi论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Aigc查重、降重报告、文献资料。只需一个标题,从开…

2026/7/7 11:49:11 阅读更多 →
Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘

Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘

Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 还在为制作Linux启动盘而烦恼吗?命令行操作复杂易错,图…

2026/7/7 11:47:10 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

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/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

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

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

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

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

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

2026/7/6 6:52:56 阅读更多 →

月新闻