新闻详情

新闻详情

首页 / 资讯中心 / 详情

AT_arc114_e [ARC114E] Paper Cutting 2

发布时间:2026/9/26 10:43:01来源:尧图网络
AT_arc114_e [ARC114E] Paper Cutting 2
可以先完成AT_agc049_a Erasing Vertices一个 trickE ( X ) ∑ i 1 n x i p i E(X)\sum_{i1}^n x_i p_iE(X)i1∑n​xi​pi​上面是期望的定义式。对于这种题目每次切纸对答案步数的贡献都固定为1 11所以上面的式子可以变成E ( X ) ∑ i 1 n p i E(X)\sum_{i1}^n p_iE(X)i1∑n​pi​所以现在的问题变成了求每条线被选中的概率之和。思路定义线i ii为第i ii行与第i 1 i1i1行之间的线j jj为第j jj列和第j 1 j1j1列之间的线。一条线不被选中只有两种情况操作已经结束了它还没有被选过。操作还没有结束但它被分到了不含两个黑格的那张纸上。考虑对于每一条线求出有多少根线选了会使这根线不能再选包括它自己。假设这样的线有l e n lenlen根。在第一次切到这些线中的某一条之前它们地位相同所以目标线最先被切到的概率是1 l e n \frac{1}{len}len1​。我们用l e n i len_ileni​表示可以影响到线i ii的线数量l e n j len_jlenj​表示可以影响到线j jj的线的数量。最终的答案就是∑ i 1 H − 1 1 l e n i ∑ j 1 W − 1 1 l e n j \sum_{i1}^{H-1}\frac{1}{len_i}\sum_{j1}^{W-1}\frac{1}{len_j}i1∑H−1​leni​1​j1∑W−1​lenj​1​现在需要计算l e n i len_ileni​和l e n j len_jlenj​。考虑第一种情况只要选中了两个黑点之间的线操作就会结束所以l e n i len_ileni​和l e n j len_jlenj​的基础是两个黑点之间的切割线总数。对于第二种情况我们再分成两种情况讨论。若当前线在两黑点之间会影响的就是两黑点之间线的数量。否则就是两黑点之间线的数量加上这条线距离最近的黑点的距离。code#includebits/stdc.h#defineintlonglong//#define lc p1//#define rc p1|1#defineendlputchar(\n)#definepspputchar( )usingnamespacestd;typedefunsignedlonglongull;typedeflonglongll;constintmod998244353;constintN1e55;intread(){intx0,f1;charcgetchar();while(c0||c9){if(c-)f-1;cgetchar();}while(c0c9)x(x3)(x1)c-0,cgetchar();returnx*f;}voidprint(intx){if(x0)putchar(-),x-x;if(x10){putchar(x0);return;}print(x/10);putchar(x%100);}voidputstr(string s){for(inti0;is.size();i)putchar(s[i]);}intlowbit(intx){returnx-x;}intn,m,k;intT;//x 表示 x~x1 中间的线intcutx[N];intcuty[N];intdepx[N];intdepy[N];intdepxx[N];intdepyy[N];intcanx;intcany;intpoww(inta,intb){intres1;while(b){if(b1)res(res*a)%mod;a(a*a)%mod;b1;}returnres;}signedmain(){//ios::sync_with_stdio(0);nread(),mread();intxread(),yread();intxxread(),yyread();for(intimin(x,xx);imax(x,xx)-1;i)cutx[i]1,canx;for(intimin(y,yy);imax(y,yy)-1;i)cuty[i]1,cany;for(intimax(x,xx);in;i)depx[i]depx[i-1]1;for(intimax(y,yy);im;i)depy[i]depy[i-1]1;for(intimin(x,xx)-1;i1;i--)depxx[i]depxx[i1]1;for(intimin(y,yy)-1;i1;i--)depyy[i]depyy[i1]1;intres0;for(inti1;in;i)(respoww(max(depx[i],depxx[i])canxcany,mod-2))%mod;for(inti1;im;i)(respoww(max(depy[i],depyy[i])canxcany,mod-2))%mod;print(res%mod);}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ES深度分页全解:从报错原理到Scroll/Search After/PIT选型 2026/9/26 11:34:30

ES深度分页全解:从报错原理到Scroll/Search After/PIT选型

先说说我为什么想写这篇。前两天有个同事跑过来问我,ES线上一个列表接口,翻到第200页突然报错,一看日志是 Result window is too large ,fromsize默认只能查10000条。这个问题其实特别典型,几乎所有用ES做列表查询的…

阅读更多 →
Claude CLI 工作流骨架:基于 MCP 协议的 npm 可安装命令行工具 2026/9/26 11:34:30

Claude CLI 工作流骨架:基于 MCP 协议的 npm 可安装命令行工具

1. 项目概述:这不是一个“模板库”,而是一套面向 Claude 开发者的 CLI 工作流骨架“claude-code-templates”这个标题,第一眼容易被理解成一堆.js或.py文件的静态集合——比如几个带注释的prompt.js、streaming.ts示例。但如果你真这么想&…

阅读更多 →
中间人攻击流量分析实战:从Wireshark抓包到提取flag 2026/9/26 11:34:30

中间人攻击流量分析实战:从Wireshark抓包到提取flag

BUUCTF的Misc方向里,流量分析题几乎是绕不开的关卡。john-in-the-middle这道题,我第一次刷到是在“BUUCTF通关之路 - Misc part 14”那一批题目里,题目名字单看像个外国人名,但真正上手才发现,它考的是中间人攻击&…

阅读更多 →
SpringBoot整合SSM打造招聘求职信息管理系统:毕业设计全流程实战 2026/9/26 11:34:30

SpringBoot整合SSM打造招聘求职信息管理系统:毕业设计全流程实战

SpringBoot SSM(Spring SpringMVC MyBatis)这套技术栈做Java Web开发的人都不会陌生,但真正把它落地成一套完整的IT人才招聘求职信息管理系统,还要写出合格的毕业设计论文,这里面的坑和细节比想象中多得多。我最近刚…

阅读更多 →
影视歌曲音频分析实战:Python+Demucs从调式检测到编曲落地 2026/9/26 11:34:30

影视歌曲音频分析实战:Python+Demucs从调式检测到编曲落地

最近《逆天奇案》的片尾曲《秘密花园》又成了不少音乐区博主和音频爱好者的讨论对象。很多人拿到这类影视情歌,第一时间想的不是单纯听歌,而是“能不能把伴奏扒下来”“调式是什么”“怎么翻唱得像原曲”“怎么用这套旋律做一段自己的编曲”。但真正动手…

阅读更多 →
实时音频滤镜框架Instafilter:从接入到避坑的实践指南 2026/9/26 11:34:23

实时音频滤镜框架Instafilter:从接入到避坑的实践指南

简介:一份用于学习 Swift 编程的 Instafilter 实时滤镜应用工程示例,非常适合想在 iOS 开发中掌握 Core Image 与相机使用时序的开发者,可快速体验类似 Instagram 风格的实时滤镜效果。资源压缩包仅 13KB,共十二个文件&#xff0c…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉