Solution Set -「NOIP Simu.」20221024
\(\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\) 次操作, 每次操作形如:
- 给出 \(l,r,c\), \(\forall i\in[l,r]\), 令 \(S_i\gets S_i\cup\{c\}\).
- 给出 \(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\) 的时候容易看出规律:
\]
结束了. 当然是 \(\mathcal O(n)\) 的.
Solution Set -「NOIP Simu.」20221024的更多相关文章
- 「NOIP 2017」列队
题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...
- 「NOIP 2020」微信步数(计数)
「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...
- Diary / Solution Set -「WC 2022」线上冬眠做噩梦
大概只有比较有意思又不过分超出能力范围的题叭. 可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics 任意一个 ...
- 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 ...
- 「NOIP 2013」 货车运输
题目链接 戳我 \(Solution\) 这一道题直接用\(kruskal\)重构树就好了,这里就不详细解释\(kruskal\)重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建\ ...
- Solution Set -「ABC 217」
大家好屑兔子又来啦! [A - Lexicographic Order] 说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...
- Note -「动态 DP」学习笔记
目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...
- Note -「Lagrange 插值」学习笔记
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...
- Solution -「ARC 104E」Random LIS
\(\mathcal{Description}\) Link. 给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率 ...
- LOJ #2026「JLOI / SHOI2016」成绩比较
很好的锻炼推柿子能力的题目 LOJ #2026 题意 有$n$个人$ m$门学科,第$ i$门的分数为不大于$U_i$的一个正整数 定义A「打爆」B当且仅当A的每门学科的分数都不低于B的该门学科的分数 ...
随机推荐
- 狂神说-Docker基础-学习笔记-02 Docker常用命令
狂神说-Docker基础-学习笔记-02 Docker常用命令 1.帮助命令 docker version #查看版本信息 docker info #显示docker的系统信息 docker `命令` ...
- CF939 D
CF939 D 让你把区间分成 \(k\) 段, 段内用 \(xor\) 连接, 段之间用 \(or\) 连接,问你在结果不大于 \(x\) 的前提下, \(k\) 的最大值 \(1 \leq n \ ...
- RTCP报文解析
RTCP包的头部结构体定义 struct RTCP_Header { unsigned short rc:5; unsigned short padding:1; unsigned short ver ...
- 低功耗4G模组HTTP网络协议应用
大家好,今天我们来学习合宙Air780E模组LuatOS开发4G通信中HTTP网络协议的应用,实现模组和服务器之间数据的传输. 一.HTTP概述 1.1 简介 HTTP是HyperTextTran ...
- 基于Ubuntu搭建Pwn调试环境
Pwn环境配置 本文演示使用干净的Vmware下安装的的 Ubuntu 18.04 LTS镜像 配置以下Pwn环境: OS(系统)配置 VMware Tools net-tools open-vm-t ...
- Java ScheduledThreadPoolExecutor延迟或周期性执行任务
ImportNew注: 本文由新浪微博:@小飞侠_thor投稿至ImportNew.感谢@小飞侠_thor ! 如果你希望分享好的原创文章或者译文,欢迎投稿到ImportNew. Java提供的Tim ...
- 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-6- 元素基础定位方式-上篇 (详细教程)
1.简介 从这篇文章开始,就开始要介绍UI自动化核心的内容,也是最困难的部分了,就是:定位元素,并去对定位到的元素进行一系列相关的操作.想要对元素进行操作,第一步,也是最重要的一步,就是要找到这个元素 ...
- Docker之修改默认存储路径
背景:Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等.不过由于此目录一般都位于系统盘,遇到系统盘比较小,而镜像和容器多了后 ...
- CF926 Div.2
C. Sasha and the Casino 赌场规则:如果下注 \(y(y > 0)\) 元,如果赢了则除了 \(y\) 元外,额外获得 \(y \times (k - 1)\) 元,否则则 ...
- 2023-05 多校联合训练 ZJNU站 热身赛
猫猫接币币 给定两个容量分别为a和b的盒子,已知第i秒天上会掉下i个金币,你会从第1秒开始接金币,每秒钟你可以选择任意一个盒子接金币,但是不能不选,你必须使得两个盒子刚好装满,请问是否存在某个时刻,使 ...