\(\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. 使用FastAPI整合Gradio和Django

    大家好,我是每天分享AI应用的萤火君! 经常接触机器学习的同学可能都接触过Gradio这个框架,Gradio是一个基于Python的专门为机器学习项目创建的快速开发框架,可以让开发者快速发布自己的模型 ...

  2. importlib 用法

    首先看一下importlib.import_module(name, package=None)函数的参数 函数调用存在两种方式: 1.绝对导入,name为完整路径str,package为None. ...

  3. kubernetesApi官方文档

    kubernetes API官方文档在github上经常打不开,于是就放在博客了,以下内容均复制于github All URIs are relative to http://localhost Me ...

  4. Java 理论与实践: 并发在一定程度上使一切变得简单

    util.concurrent 包简介 对于每个项目,象许多其它应用程序基础结构服务一样,通常无需从头重新编写并发实用程序类(如工作队列和线程池).这个月,Brian Goetz 将介绍 Doug L ...

  5. 基于Spring源码分析AOP的实现机制

    Spring一个重要的特性就是提供了AOP,使得我们可以在原有的基础上增加我们自己的系统业务逻辑.使得我们系统业务逻辑与应用业务逻辑相分离,耦合性降低,并且大大的提高了开发的效率.Spring的AOP ...

  6. java——棋牌类游戏五子棋(webwzq1.0)之三(Msg)

    package msg; import java.io.ObjectInputStream; import java.net.DatagramSocket; /******************** ...

  7. nodejs版本管理工具之nvm

    有时候 项目中依赖不同版本的node,这就需要我们使用一个版本管理工具 有序的管理这些node,这里介绍使用nvm GitHub地址:https://github.com/nvm-sh/nvm 前提: ...

  8. Vim之PHP语法检查

    在Linux下操作,一般都是使用vim进行文本编辑, 这个时候有可能不小心就会出现语法异常,导致程序错误 手动检查: 1) 编辑完成之后, 回到命令行下执行 php -l test.php 如果语法校 ...

  9. 一种小资源情况下RDS数据实时同步StarRocks方案

    一.背景 目前需要将阿里云RDS数据库的数据同步到自建的StarRocks集群.之前使用DolphinScheduler通过定时调度Datax任务,将数据同步到StarRocks集群中,但是随着业务的 ...

  10. juc 学习

    CyclicBarrier 应用场景是比如在做压力测试时,使用多少个用户并发,做集合点测试. 比如设置 100个用户并发,100个用户同时进行压测,只有100个用户压测完毕时,才能再发起下一波的压力测 ...