当前位置: 首页 > news >正文

2025ccpc南昌邀请赛感想+补题

比赛前去了81纪念馆和滕王阁,必须说江西的风景还是不错的,不过可惜的是作为一个江西人没有吃到足够辣的江西菜

赛前一晚做梦梦到比赛打炸了,然后还有另一个比赛也忘记打了,回去被同学鞭尸给我吓醒了,谁懂醒来还在酒店床上的救赎感

还好梦是反的,最后7题拿下第一个金牌,可惜最后封榜后没有过题

补题链接https://qoj.ac/contest/2521

L
签到题,没什么好说的

G
同样是签到题

A
队友打的,不记得了

K
所有菜品根据模4可分为4类,0,1,2,3
策略是先把0上完,然后上3131...直到3或者1用完
如果剩了3,可以循环上332,如果剩1就循环上211,如果2不够就没有答案返回no
最后剩的2就222的上,时间复杂度O(n)

H
肯定只有n次加珠子,先把这n次加上,得到数组1,2,...,n
把第二种操作插入这n个操作中,本质就是一个单点加1再对这个点之后的某个后缀区间加1
把目标数组ai-i,得到剩下的就是需要用操作2补全的量,如果有负值直接输出no
从左往右贪心想最少需要多少次操作即可,时间复杂度O(n)

C
如果对于[L,R]的虫洞,能快速判断它们能否被划分成不超过k组,就能用双指针解题
赛时突然想到的假设,后来可以证明,把一个虫洞看成一个区间加1操作,如果最后没有点大于k,就说明这些虫洞可以被划分成不超过k组
最后线段树+双指针一发过,时间复杂度O(nlogn)

B
感觉n比较大的时候很难出现一个人赢所有人或者输所有人的情况
于是手算了一下随机选两个人u和v,u对v是k间接战胜的概率
\(P(k=0)=1/2,P(k=1) = (1-(3/4)^{n-2})/2\)
可以看出来当n很大时,k = 0和k = 1的概率加起来已经很接近1了,那么就不需要考虑其他k>1的情况
假定分界点是n = 100,当n<=100时使用floyd算法预处理多源最短路,时间复杂度O(n^3)
当n>100时遍历所有点对(u,v),如果u赢了v,u对v是0间接胜利,v对u则是1间接胜利,时间复杂度O(n^2)
写法很简单,从思考到ac花的时间感觉不超过20min,最后还是1发ac,感觉这次状态真的不错

赛时过的就这些,其余待补

http://www.rkmt.cn/news/6232.html

相关文章:

  • img标签如何去除边框?
  • 25.9.16 java se大致了解后开始学习MySQL
  • C++ + OpenCV + Tesseract 实现英文数字验证码识别
  • 表格识别技术:“唤醒”沉睡在纸质文档中的海量结构化数据
  • 《软件需求最佳实践》阅读笔记一
  • 计数原理与排列组合
  • 9.16动态用例设计方法 笔记
  • 深入解析:ESP32三种主流的开发环境
  • js
  • 9.16电商状态迁移图
  • 总结-CDQ 分治
  • Win10玩LOL弹窗
  • Week 1 Homework
  • 异地办公文件同步,多台设备如何无缝同步最新教程
  • CSP-S模拟22
  • K8S探针
  • bug1
  • 选择语句的机器级表示
  • 深入解析:numpy学习笔记
  • Nginx auth_request 模块使用
  • Mac上的Markdown学习
  • 第二篇:playwright初步解析
  • 技术交流社区基础防诈指南
  • 技术群高级防骗指南
  • 集训游记
  • TQ322数字PIR使用笔记
  • 使用Apache做web服务器时无法断点续传的怎么办?
  • 基于python3的http文件服务器
  • sql server2008大批量插入数据
  • HCIP—Eth-Trunk