\(\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. Clickhouse SQL语法

    Insert 基本与标准 SQL(MySQL)基本一致 (1)标准 insert into [table_name] values(-),(-.) (2)从表到表的插入 insert into [ta ...

  2. Solr 的核心就是搜索

    原文  http://www.aptusource.org/2014/06/searching-is-what-its-all-about/ Solr 的主要功能就是强大的查询处理.在本文中,你将会看 ...

  3. golang之常用方法/函数

    1. io.Reader转化为字符串, byte切片 import "bytes" func StreamToByte(stream io.Reader) []byte { buf ...

  4. 抓包工具之Charles(mac)

    下载地址:https://www.charlesproxy.com/download/ 因为软件是收费的,所以破解方式可以参考:https://www.zzzmode.com/mytools/char ...

  5. 基于docker的常用服务搭建

    使用docker搭建相关服务: 1. MySQL服务 1) 拉取镜像 docker pull mysql:5.7 # 拉取 mysql 5.7 docker pull mysql # 拉取最新版mys ...

  6. 2022GPLT

    老板的作息表 检查任意一张时间表,找出其中没写出来的时间段. 输入第一行给出一个正整数 \(N\),为作息表上列出的时间段的个数.随后 \(N\) 行,每行给出一个时间段,格式为: hh:mm:ss ...

  7. 【分块】LibreOJ 6282 数列分块入门6

    题目 https://loj.ac/p/6282 题解 数据范围 \(1 \leq n \leq 10^5\),因此进行分块最多分 \(\sqrt{10^5} ≈ 318\) 块.且数据是随机生成的, ...

  8. 群晖 MariaDB10 开启远程登录

    ​情况:MariaDB设置了TCP/IP的端口,但是还是无法进行远程访问. 解决方法: 一.使用ssh登录群晖,并进入MariaDB安装目录 cd /volume1/@appstore/MariaDB ...

  9. 百度地图 自定义弹窗 InfoBox

    infoBox文档地址: https://api.map.baidu.com/library/InfoBox/1.2/docs/symbols/BMapLib.InfoBox.html infobox ...

  10. C# 转 Java

    代码级转换,目前唯一可用的方案是 Tangible C# to Java Converter. 把编译后的 IL 转为 bytecode 再反编译也是一个思路,没有找到相关实现. 转换难点并不是语法, ...