\(\mathscr{A}\sim\) 断

  给定一棵含有 \(n\) 个点的树, 所有点初始时为白色. 再给出 \(m\) 个形如 \((u,v)\) 的点对, 要求 \(u\) 到 \(v\) 的简单路径上存在至少一个黑点. 求最少将多少个点涂黑, 给出一组方案.

  \(n,m\le2\times10^6\).


  Tag:「水题无 tag」

  随便选个根, 然后递归构造, 能不涂黑就不黑. 可以容易做到 \(\mathcal O(n+m\log n)\), 卡卡常能过. 如果写个四毛子求 LCA 可以做到 \(\mathcal O(n+m)\).

\(\mathscr{B}\sim\) 数

  称一棵含有 \(n\) 个点, 以 \(1\) 为根的有根树合法, 当且仅当对于 \(u\in[1,n)\), 都有 \(|p_u-p_{u+1}|=1\), 其中 \(p_u\) 表示 \(u\) 的父亲, \(p_1=0\). 求所有合法树中, 点 \(k\) 的孩子数量和. 答案模 \(998244353\).

  \(n,k\le2\times10^6\).


  Tags:「A.数学-数学推导」「B.模型转化」

  若按标号升序确定每个结点的父亲, 那么点 \(u\) 的位置选取只于 \(p_{u-1}\) 有关. 此时有一个简单的 \(\mathcal O(n^2)\) DP: \(f(i,j)\) 表示考虑了前 \(i\) 个点, \(p_i=j\) 时合法树的数量, \(g(i,j)\) 表示考虑了前 \(i\) 个点, \(p_i=j\) 时点 \(k\) 的孩子总数, 可以 \(\mathcal O(1)\) 转移.

  接下来的一步也很自然: 以 \(f\) 的转移为例, 设一次转移由 \((i,j)\) 贡献向 \((i',j')\), 此时必然有 \(i'-i=1\), \(j'-j=\pm 1\), 转移系数为 \(1\), 因此这就是在坐标轴上画一条折线, \(f\) 的值就是某种折线的方案数.

  有了这个观察, 更细致的描述便是: \(f(i,j)~(i>1)\) 表示从 \((2,1)\) 出发, 走到 \((i,j)\), 仅使用位移 \((1,\pm 1)\), 且不触碰 \(y=0\) 的折线数量. 对应的, \(g\) 则描述了所有折线于 \(y=k\) 的交点数量之和. 我们只需要求出这个和即可.

  直接枚举交点位置 \((x,k)\), \((2,1)\to (x,k)\) 的方案数就是 Catalan 数, \((x,k)\to (n,\star)\) 的方案数是一堆 Catalan 数之和, 其实就是杨辉三角第 \(n\) 行上的一段前缀减一段后缀. 如果降序枚举 \(x\), 所求前后缀的长度每次变化量不超过 \(1\), 而组合数行区间和很好递推 --- 将上一行的和 \(\times2\), 再修补边界上常数个值就能得到这一行的和. 这样的递推可以 \(\mathcal O(1)\) 完成. 最终算法复杂度为 \(\mathcal O(n)\).

\(\mathscr{C}\sim\) 覆 *

  有 \(n\) 个集合 \(S_{1..n}\), 初始全空. 给出 \(m\) 次操作, 每次操作形如:

  1. 给出 \(l,r,c\), \(\forall i\in[l,r]\), 令 \(S_i\gets S_i\cup\{c\}\).
  2. 给出 \(l,r\), 求出 \(\left|\bigcup_{i=l}^rS_i\right|\).

  \(n,m\le10^5\).


  Tags:「A.分治-CDQ 分治」「B.离线」

  被离奇的 \(32\text{Mib}\) 空限整得胡思乱想, 但你看我没把这事儿写在数据范围里说明其中并不重要 qwq.

  "包含某个元素" 并不好简单表示, 但 "不包含某个元素", 也即是 "处于这个元素的某个空白区间", 再考虑上时间轴, 就是一个三维偏序样的贡献. 用类似 Chtholly Tree 的东西维护每种元素的空白区间, 在空白区间变更时作为三维偏序的事件加入队列. 最后对事件队列做一个 CDQ 分治算出答案即可. 复杂度 \(\mathcal O(m\log m\log n)\).

\(\mathscr{D}\sim\) 构

  给定 \(n\), 构造一个 \(\{a_n\}\), 使得 \(a_i\) 恰为 \(i-1\) 在 \(\{a_n\}\) 中的出现次数.

  \(n\le2\times10^6\).


  Tag:「A.构造」

  一道标准的, 写个暴搜就会正解的构造.

  暴搜告诉我们: \(n=1,2,3,6\) 无解, 其他 \(n\le10\) 有解; 当 \(n\ge7\) 的时候容易看出规律:

\[a=[n-4,2,1,0,\dots,0,1,0,0,0].
\]

结束了. 当然是 \(\mathcal O(n)\) 的.

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

  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. cn2 lab 笔记

    Ubuntu 18.04 Kafka 先启动kafka自带的zookeeper 在data/kafka_2.13-3.3.1bin目录下执行 ./zookeeper-server-start.sh . ...

  2. Selenium弹框处理

    Selenium中有三种弹框,本文介绍了处理三种弹框的方法 一.Selenium三种弹框 alert:用来提示,显示一个带有指定消息和确认按钮的警告框 confirm:用于确认,显示一个带有指定消息和 ...

  3. end.jenkins的备份和迁移

    数据备份: 进入安装目录 cd /var/lib/jenkins ​ 进入到主目录下,可以看到很多文件,是否需要全部打包呢?其实我们只需要打包4个文件就可以了. 如上图所示分别是 config.xml ...

  4. n皇后编程问题

    n皇后编程问题是一个经典问题,记得2018年北京航空航天大学计算机学院的博士招聘的上机题目就是这个,这里给出几种实现方法: import time import itertools Num = 8 # ...

  5. Linux系统搭建性能测试监控体系

    一.安装Grafana 1.Grafana介绍(默认端口3000): Grafana是一个开源的监控和可视化工具,用于显示和跟踪各种指标,数据和日志,支持多种源,包括influxDB.promethe ...

  6. JESD79-5C_v1.30-2024 JEDEC DDR5 SOLID STATE TECHNOLOGY ASSOCIATION 最新内存技术规范

    JESD79-5C_v1.30-2024 JEDEC DDR5 SOLID STATE TECHNOLOGY ASSOCIATION 最新DDR5内存技术规范 ​ JEDEC 技术协会公布新 DDR5 ...

  7. OSG开发笔记(三十四): OsgUtil::Simplifier:简化几何体,提升显示性能和渲染效率

    前言   对于一些较大的图形,会出现显示卡顿和渲染缓慢的问题,这时候就要使用到osgUtil::Simplifier简化器,来对其进行简化.   Demo            osgUtil   o ...

  8. elementui resetFields()不起作用

    需要结合prop才有作用

  9. Docker启动Nacos2.4.3并且使用MySQL

    1.拉取容器 docker pull nacos/nacos-server:v2.4.3 2.创建宿主机挂载目录 mkdir -p /docker/nacos/logs/ mkdir -p /dock ...

  10. 数据库开发规范v1.0

    一.建表规约 [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 unsi ...