\(\mathscr{Summary}\)

  还行,B 题挺不错,C 题就省选来说有点水(?

\(\mathscr{Solution}\)

\(\mathscr{A-}\) 分裂

  初始时,你有一个 \(1\) 级球,每次可以把一个 \(k\) 级球变成 \(k+1\) 个 \(k+1\) 级球,请构造恰好得到 \(n\) 个球的方案,仅需输出最终球的等级和对应数量。

  多测,\(T\le10^4\),\(n\le10^{18}\),你需要保证所有方案中球的等级种类之和不超过 \(10^7\)。


  一开始去优化“球的数量之和”,大大地伪了一发。

  注意部分分有个 \(n\) 是阶乘,而阶乘的时候等级种类自然是最少的,所以我们先找到最大的 \(x!\le n\),先把 \(1\) 级球不停操作得到 \(x!\) 个 \(x\) 级球,此时再取一定数量的 \(x\) 级球操作到 \(x+1\) 级球,设 \(n'\) 为还需要的球的数量,那么 \(n'\le x\)。通过升级一个 \(k\) 级球,还原 \(k\) 个 \(k\) 级球,可以使 \(n'\) 减少 \(1\),模拟几次就行。

  阶乘的是指数级,那么复杂度为 \(\mathcal O(T\log n)\),每次使用不超过 \(4\) 种等级。

\(\mathscr{B}-\) 未来

  给定长度为 \(n\),字符集为 \(\{\text r,\text g,\text b\}\) 的字符串 \(S\),对其进行 \(m\) 次变换,每次变换使 \(S\) 变为 \(S'\),若 \(S_i=S_{(i+1)\bmod n}\),\(S'_i=S_i\),否则 \(S'_i=\{\text r,\text g,\text b\}\setminus\{S_i,S_{(i+1)\bmod n}\}\)。求变换后的最终序列。

  \(n\le5\times10^5\)。


  套路性地去想一个具有交换律、结合律的整数运算来等价表示两个字符的运算结果。进而,令三种字符为 \(0,1,2\),可以构造出这样的运算:\(a\oplus b=(-(a+b))\bmod 3\),并且这个负号仅由 \(m\) 决定,问题被转化成:给定序列 \(\{a_n\}\),每次操作令 \(a'_i=a_i+a_{(i+1)\bmod n}\),求 \(m\) 次操作后每个 \(a_i\bmod 3\)。

  若 \(a_i\) 的值在下标移动 \(d\) 次后更新到了 \(a_j\),那么贡献系数显然是 \(\binom{m}d\),注意仅对 \(3\) 取模,所以对它 Lucas 一发,设 \(m=\sum 3^{m_k}\) 为 \(m\) 的三进制分解(如果某个幂次数是 \(2\),加两次),就组合意义上,我们可以依次对 \(\{a_n\}\) 施加 \(3^{m_1}\) 次操作,再施加 \(3^{m_2}\) 次操作,……最后总共施加 \(m\) 次操作。每次操作中,贡献系数都是 \(\binom{3^{m_i}}{d}\),因而 \(d=0\) 或 \(d=3^{m_i}\) 时,才能使系数非 \(0\),这个可以 \(\mathcal O(n)\) 模拟一遍算出来,所以总复杂度 \(\mathcal O(n\log m)\)。

\(\mathscr{C}-\) 回忆

  给定一个 \(n\times m\) 的网格,\((i,j)\) 以 \(a_{i,j}\) 的概率可用,求可用单元格构成的四联通块中,最大块大小的期望。

  \(nm\le40\)。


  你能想到最暴力的插头 DP:按列转移,状态数组直接 map<pair<vector<int>, vector<int> >, int>,过了。打了下表,有效状态数不超过 \(10^5\)。

Solution Set -「LOCAL」冲刺省选 Round XXVII的更多相关文章

  1. Solution Set -「LOCAL」冲刺省选 Round XXV

    \(\mathscr{Summary}\)   读错题了读错题了 B 题差点没做出来真的太吓人了.   逆序开题,C 题直接冲一发暴力最大权闭合子图居然过了.A 题确实一下子没想到用"可能的 ...

  2. Solution Set -「LOCAL」冲刺省选 Round XXIV

    \(\mathscr{Summary}\)   名副其实的 trash round,希望以后没有了.   A 题算好,确实一个比较关键的简化状态的点没想到,所以只拿了暴力(不考虑 \(\mathcal ...

  3. Solution Set -「LOCAL」冲刺省选 Round XXIII

    \(\mathscr{Summary}\)   有一说一,虽然我炸了,但这场锻炼心态的效果真的好.部分分聊胜于无,区分度一题制胜,可谓针对性强的好题.   A 题,相对性签到题.这个建图确实巧妙,多见 ...

  4. Solution Set -「LOCAL」冲刺省选 Round XXII

    \(\mathscr{Summary}\)   和出题人很有缘分但是没有珍惜.jpg   A 题有一个显然的二维偏序斜率式,以及显然的 CDQ 套李超树 \(\mathcal O(n\log^2n)\ ...

  5. Solution Set -「LOCAL」冲刺省选 Round XXI

    \(\mathscr{Summary}\)   省选几个小时啊,怎么模拟赛只打三个小时啊./kk   时间安排较为合理,没有出现严重的因思考时间过少引起的丢分.   A 题比较可惜,二分 + 点分治大 ...

  6. Solution -「LOCAL」过河

    \(\mathcal{Description}\)   一段坐标轴 \([0,L]\),从 \(0\) 出发,每次可以 \(+a\) 或 \(-b\),但不能越出 \([0,L]\).求可达的整点数. ...

  7. Solution -「LOCAL」画画图

    \(\mathcal{Description}\)   OurTeam.   给定一棵 \(n\) 个点的树形随机的带边权树,求所有含奇数条边的路径中位数之和.树形生成方式为随机取不连通两点连边直到全 ...

  8. Solution -「LOCAL」充电

    \(\mathcal{Description}\)   给定 \(n,m,p\),求序列 \(\{a_n\}\) 的数量,满足 \((\forall i\in[1,n])(a_i\in[1,m])\l ...

  9. Solution -「LOCAL」二进制的世界

    \(\mathcal{Description}\)   OurOJ.   给定序列 \(\{a_n\}\) 和一个二元运算 \(\operatorname{op}\in\{\operatorname{ ...

  10. Solution -「LOCAL」大括号树

    \(\mathcal{Description}\)   OurTeam & OurOJ.   给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 ).将从 \(u\) 到 \(v\) ...

随机推荐

  1. python项目实战——一元线性回归预测模型

    文章目录 1.一元线性回归简介 2.环境准备 3.数据准备 4.可视化数据 5.构建线性回归模型 在数据科学领域,预测分析是一项核心技能.一元线性回归作为预测分析的基石,能够帮助我们理解一个自变量如何 ...

  2. C++ 简易消息循环

    前言 本文将向大家介绍如何使用 C++ 的标准库实现一个异步和并发编程中都非常重要的编程模式:消息循环(Event Loop).尽管市面上存在不少库也提供了同样的功能,但有时候出于一些原因,我们并不想 ...

  3. Windows 多次制作母盘,备份文件变大的问题

    公司产品基于Win11 23H2镜像版本制作母盘,我们发现随着版本迭代,基于上一版本母盘生成新母盘备份,母盘文件会越来越大. 此处说明下镜像与母盘文件的区别, 1. 镜像是指操作系统的压缩文件,常见格 ...

  4. Selenium 自动化测试工具

    1 介绍 Selenium是浏览器的自动化测试工具,使用它可以控制浏览器各种点击等操作. 2 环境搭建 先安装Chrome等浏览器,然后安装对应版本的ChromeDriver驱动程序,然后pip安装S ...

  5. BIMFCE选择全量绘制

    var webAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig(); webAppConfig.domElement ...

  6. Cisco Packet Tracer 交换机代码

    二层交换机S1代码: >en #conf  t #vlan 10 #vlan 20 #int r f 0/1-5 #sw a v 10 #int r f 0/6-10 #sw a v 20 #i ...

  7. 敏捷开发:Scrum 中的 Product Backlog 介绍

    Product Backlog 产品待办列表 在计划开发产品功能时,都希望产品功能上线后,用户能够喜欢并经常使用. 因此在开发产品新功能时,就要衡量哪些产品需求是对用户最有价值,这是最应该思考的问题. ...

  8. golang读取文件

    golang 按行读取文件 file, err := os.Open("app-2019-06-01.log") if err != nil { log.Fatal(err) } ...

  9. 基于python的文件监控watchdog

    实时监控第三方库watchdog,其原理通过操作系统的时间触发的,不需要循环和等待 使用场景: 1.监控文件系统中文件或目录的增删改情况 2.当特定的文件被创建,删除,修改,移动时执行相应的任务 1. ...

  10. 从解决Github TimeOut到经典面试题:从输入URL到浏览器显示页面发生了什么?

    问题描述 在Windows 操作系统上,push代码到git的时候,出现了Failed to connect to github.com port 443: Timed out的错误.一脸懵逼,浏览器 ...