\(\mathscr{A}\sim\)「CF 1252G」Performance Review

  Link & Submission.


  Tag:「水题无 tag」

  记 \(A=a_1\), 对于任何其他的 \(a\), 我们只关心它与 \(A\) 的大小关系. 进一步, 任何一个时刻都可以用整数 \(k\) 记录, 其描述该时刻有 \(k\) 个 \(a<A\). 被裁员的条件就是 \(k<b_i\), 即 \(k-b_i<0\). 线段树维护 \(k-b_i\) 判断全局最小值是否 \(<0\) 即可. 复杂度 \(\mathcal O(q\log m)\).

\(\mathscr{B}\sim\)「CF 1515E」Phoenix and Computers

  Link & Submission. (这个题目编号念出来好可爱 w.)


  Tag:「A.DP-计数 DP」

  先说赛上的 \(\mathcal O(n^3)\) 做法. 注意到我们手动开启的电脑一定是若干段区间, 且相邻区间之间只有一个位置没被操作. 因此, 可以尝试对这些区间进行规划和计数.

  一方面, 设长度为 \(\ell\) 的区间的操作方案数为 \(g_\ell\), 显然我们不能跳着操作两台电脑, 否则这两台电脑中间必然有一台无法手动开启. 那么, 枚举第一次操作的位置, 可知:

\[g_\ell=\sum_{i=1}^{\ell}\binom{\ell-1}{i-1}=2^{\ell-1}.
\]

  接下来, 设 \(f(i,j,k)\) 表示考虑了前 \(i\) 个位置, 一共操作了 \(j\) 台电脑, 从 \(i\) 开始前面 \(k\) 台电脑是手动操作, 此时的总方案数 \(/j!\) 的值. 转移分第 \(i+1\) 个位置是否手动操作, 可知:

\[f(i,j,k)\cdot 2^{k-1}\overset{+}{\longrightarrow}f(i+1,j,0)~(k>0),\\
f(i,j,k)\cdot\frac{1}{k+1}\overset{+}{\longrightarrow}f(i+1,j+1,k+1).
\]

最后答案就是

\[\sum_{j,k>0}2^{k-1}j!f(n,j,k).
\]

可以做到 \(\mathcal O(n^3)\).

  然后呢 ... 受这个方法启发, 很自然地引入 GF. 令 \(F(x)=\sum_{i\ge1}\frac{2^{i-1}x^i}{i!}=(e^{2x}-1)/2\) 为 \(g\) 的 EGF, 那么

\[\begin{aligned}
\textit{ans} &= \sum_{k=0}^{(n-1)/2}\left[\frac{x^{n-k}}{(n-k)!}\right]F^{k+1}(x)\\
&= \sum_{k}2^{-k-1}\left[\frac{x^{n-k}}{(n-k)!}\right](e^{2x}-1)^{k+1}\\
&= \sum_{k}2^{n-2k-1}\sum_{i=0}^{k+1}\binom{k+1}{i}(-1)^{k+1-i}i^{n-k}
\end{aligned}
\]

可以随便 \(\mathcal O(n^2)\) 算了. 进一步加速的话 ... 没有什么结果 qwq.

\(\mathscr{C}\sim\)「CF 1654F」Minimal String Xoration

  Link & Submission & Solution (6.14)

\(\mathscr{D}\sim\)「CF 1710D」Recover the Tree *

  Link & Submission.


  Tags:「A.构造」「C.思维」

  赛上给了一个强提示性但因为我的错解恰好能跑对, 所以没有被我重视的 subtask ...

  考虑一个特殊情景: \([l,r]\) 连通当且仅当 \(l=1,r=n\) 或者 \(l=r\). 这里给出一个构造:

  接下来考虑一般情况. 注意到一个结论: 对于 \(\ell_1\le \ell_2\le r_1\le r_2\), 若 \([\ell_1,r_1],[\ell_2,r_2]\) 都连通, 那么 \([\ell_2,r_1]\) 和 \([\ell_1,r_2]\) 也都连通. 因此, 原图可以被划分为若干个极大的连通区间. 对于区间内部归纳构造; 在区间之间, 我们需要将它们连通而不产生任何新的连通块, 此时直接使用特殊情景的构造方法即可. 复杂度 \(\mathcal O(n^2)\).

Solution Set -「NOIP Simu.」20221005的更多相关文章

  1. 「NOIP 2017」列队

    题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...

  2. 「NOIP 2020」微信步数(计数)

    「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...

  3. Diary / Solution Set -「WC 2022」线上冬眠做噩梦

      大概只有比较有意思又不过分超出能力范围的题叭.   可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics   任意一个 ...

  4. Solution Set -「ARC 107」

    「ARC 107A」Simple Math   Link.   答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadrup ...

  5. 「NOIP 2013」 货车运输

    题目链接 戳我 \(Solution\) 这一道题直接用\(kruskal\)重构树就好了,这里就不详细解释\(kruskal\)重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建\ ...

  6. Solution Set -「ABC 217」

      大家好屑兔子又来啦! [A - Lexicographic Order]   说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...

  7. Note -「动态 DP」学习笔记

    目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...

  8. Note -「Lagrange 插值」学习笔记

    目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...

  9. Solution -「ARC 104E」Random LIS

    \(\mathcal{Description}\)   Link.   给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率 ...

  10. LOJ #2026「JLOI / SHOI2016」成绩比较

    很好的锻炼推柿子能力的题目 LOJ #2026 题意 有$n$个人$ m$门学科,第$ i$门的分数为不大于$U_i$的一个正整数 定义A「打爆」B当且仅当A的每门学科的分数都不低于B的该门学科的分数 ...

随机推荐

  1. spark和scala的搭建

    Scala--部署安装步骤 (1)上传并解压安装scala安装包 例:tar -zxvf scala--** -C 指定位置 (2)设置环境变量 vim /etc/profile export SCA ...

  2. Eclipse 调试窗口无法显示,以及断点设置无效问题的解决方法

    问题描述一:在下载了2020.3的Eclipse之后,调试程序,无法弹出调试窗口及变量信息. 解决方案:菜单栏:windows--show view--Other--找到Debug文件夹,可以挑选自己 ...

  3. (Python基础教程之六)Python中的关键字

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  4. java swing 学习

    JSplitPane固定分割比例和禁止拖动分割条 有知友问JSplitPane的问题,在写代码的时候不想让分割条拖动,结果找不到方法,百度了 居然也找不到... 后来在一个犄角旮旯里发现了 ,,  就 ...

  5. 解读vue的webpack.base.conf.js配置

    'use strict' // 引入nodejs路径模块 const path = require('path') // 引入utils工具模块,utils主要用来处理css-loader和vue-s ...

  6. 数据库管理软件之DataGrip

    DataGrip 是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2.Derby.H2.MySQL.Oracle.PostgreSQL.SQL ...

  7. 开发Git分支管理

    目前分支管理 AngularJS在github上的提交记录被业内大多数开发人员认可,逐渐被广泛引用. 代码提交Message格式 type (scope): message 参数介绍: 1.type: ...

  8. Echarts 基本使用

    1.Echarts简介 ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求. ECharts 包含了以下特性: (1)丰富的可视化类型: 常规的折线图. ...

  9. web移动端基础

    1.像素密度 PPI 说到屏幕就离不开2个因素,屏幕大小和屏幕分辨率. PPI是Pixels Per Inch缩写,pixels per inch所表示的是每英寸所拥有的像素(pixel)数目. PP ...

  10. ie浏览器设置允许跨域

    前情 在访问测试搭建的测试环境的时候,发现接口因为跨域全部失败了,服务端又不想设置允许跨域,又急于使用,于是想到是不是可以使用跨域浏览器,上一次已解决chrome允许跨域,这一次来设置IE允许跨域 放 ...