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

2025多校CSP模拟赛1

2025多校CSP模拟赛1

开 T1 水,开 T2 发现能乱搞,搞完发现是正确的。

开 T3 发现是熟悉的 dp,马上开写一个插板。

写了 2h 后发现占地面积不好算,放弃了。

T1 交友

发现只要特判类似

CG
GC

即可。

T2 炼金

因为环一定不优,所以出现环直接爆了,但是感觉写 \(dfs\) 很没有前途,于是选择递推模拟这样的过程。

具体的每次二分一个答案,然后进行很多轮,每轮遍历数组如果欠了金属就找两个儿子要。

容易发现如果 \(O(n)\) 轮后还是还不上,就说明出现了环,此时直接判凑不成。

那么复杂度是 \(O(Tn^2\log V)\)

T3 磁铁

发现肯定是先让所有磁铁紧密排列,然后求出剩下的空位进行插板法。

但是左右端点的磁力占地面积是不全的,不过根本没必要枚举左右端点,只需要将占地面积压入 \(dp\) 状态就好。

其次我们发现当一个磁铁需要放入两个磁铁之间时,需要将这两个磁铁分开,这样贡献不好算。

那么就可以枚举当前分为多少个连通块,这样每个联通块的左右端点的磁力就不用考虑了,此时如果从小到大枚举,占地面积的增加就极好算了。

\(dp_{i,j,k}\) 表示当前枚举到 \(i\) 分为 \(j\) 个连通块,占地面积 \(k\)

\(i\) 个单开一个连通块:\(dp_{i,j,k}+=j\times dp_{i-1,j-1,k-1}\)

\(i\) 个合并两个连通块:\(dp_{i,j,k}+=j\times dp_{i-1,j+1,k-(2r_i-1)}\)

\(i\) 个放在一个连通块的左端或右端:\(dp_{i,j,k}+=2j\times dp_{i-1,j,k-r_i}\)

答案就是简单插板法,\(dp_{n,1,i}C^{l-i+n}_{n}\)

复杂度 \(O(n^2l)\)

T4 铁轨

很好的欧拉回路题。

考虑可以将问题转化为加速不消耗代价,减速消耗代价。

那么因为要经过所有的铁轨,那么这些边一定经过。

此时如果将每个速度抽象成一个点,并且加入一个从 \(inf\) 连向 \(1\) 个边,这样就不用考虑起点终点,由路径变为回路。

因为向左经过一个点和向右经过一个点的数量一定要相同,那么就以此为代价在 \(i\)\(i+1\) 间连边。

可是有可能连完后不连通,那么可以上一个最小生成树维护一下。

http://www.hskmm.com/?act=detail&tid=24289

相关文章:

  • 上传文件前端需要注意的三个点:
  • AT_arc189_b [ARC189B] Minimize Sum
  • Jenkins安装与配备
  • 2025-10-04 60S读世界
  • 适合新手的PPT模板网站,简单操作但效果好!
  • 2025多校冲刺CSP模拟赛2 总结
  • pip list 可以查到某个包,但是,import某个包,出现 ModuleNotFoundError: No module named
  • 详细介绍:conda使用指南
  • 探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧 - 详解
  • 基于Registry搭建docker加速镜像服务
  • mssql 无锁读取
  • 2025年四川大学计算机学院专硕考研经验分享
  • 基础数学拾遗
  • 2025多校冲刺CSP模拟赛2(普通的颓唐)
  • 模板大全
  • springCloudMaven打包配置 - br
  • springCloud打包时根目录配置和公共包打包配置 - br
  • 2025.10.4 - 10.17
  • 题解:P5504 [JSOI2011] 柠檬
  • Thymeleaf教程
  • Vmware虚拟机设置中处理器数量和内核内存再次探讨
  • VMware中Ubuntu迁移(复制)后进入紧急模式You are in emergency mode.
  • 太简单了!原来PS在线抠图可以这么玩,背景分离无压力
  • 深入解析:【Leetcode】随笔
  • 实用指南:Linux驱动之V4L2
  • 儿童与青少年数据安全及体育发展新方向会议
  • 威联通NAS Emby-Server 的SQLite数据库损坏和程序损坏修复
  • Embarcadero Dev-C++ 6.3 中文乱码问题 - 教程
  • 2025.10.4——2绿
  • 十月四日就听《10월 4일》