最近几天复盘了一下NOI 2021,愈发发觉自己的愚蠢,可惜D2T3仍是不会,于是只写前面的题解

Day1 T1

可以发现,每次相当于将 \(x\to y\) 染上一种全新颜色,然后一条边是重边当且仅当两端有颜色且相同,于是就可以使用树链剖分维护了。

复杂度 \(\Theta(n\log^2n)\)。

Day1 T2

可以发现,当 \(n_i\) 都相同的是,答案就是邻接矩阵行列式的积,也即是邻接矩阵积的行列式。

拓展发现,\(n_i\) 不同的时候依旧适用,不过不会证明。

Day1 T3

首先可以发现,在缩点之后一定存在一种树形结构使得不改变连通性,因为假设存在 \(z\to x,y\to x,z\to y\),那么 \(z\to x\) 是不需要的。所以在构造树的时候可以选一个入度为 \(0\) 的点开始,然后每次儿子从 scc 序大的开始。

假设已经建好了树,可以发现 \(k=0\) 时有解的话就是 \(x\to y\) 上链上点的大小之和,\(k=1\) 的话需要分类讨论,\(k\) 更大时显然分类讨论不是很好搞。

发现假设我们定义“好点”为新增边的端点中既能从 \(s\) 到达又能到 \(t\) 的点(合法情况下包括 \(s,t\)),那么一个点合法当且仅当祖先中有“好点”,子树中有“好点”。

那我们就可以建出虚树,然后算贡献了。(然而似乎可以不用建出虚树)。

Day2 T1

不难发现分成 \(16\) 段的话,如果有解那么解的方案一定有一段完全相同,然后你发现随机情况下一段最多有 \(7\) 个左右,暴力判就好了。算差异的话可以用 __builtin_popcount \(\Theta(1)\) 计算。

Day 2 T2

首先可以看出并不需要除以 \(\gcd\)。

可以发现如果 \(a_i\) 是确定的,那么:

\[\begin{bmatrix}
a_i & 1\\
1 & 0
\end{bmatrix}\]

从右往左算的积的 \((0,0)\) 位和 \((0,1)\) 位就是答案。

考虑 W 操作的影响,你发现:

\[\begin{bmatrix}
1 & 1\\
0 & 1\\
\end{bmatrix}
\times
\begin{bmatrix}
a_i & 1\\
1 & 0
\end{bmatrix}
=
\begin{bmatrix}
a_i+1 & 1\\
1 & 0
\end{bmatrix}
\]

所以就相当于在后面增加一个

\[\begin{bmatrix}
1 & 1\\
0 & 1
\end{bmatrix}
\]

的矩阵。

考虑 E 操作,不难发现两种情况其实操作下来等价,所以我们只需要考虑第二种情况。实际上就是增加:

\[\begin{bmatrix}
1 & 1\\
1 & 0
\end{bmatrix}
\begin{bmatrix}
1 & 1\\
1 & 0
\end{bmatrix}
\begin{bmatrix}
1 & -1\\
0 & 1
\end{bmatrix}
\]

又因为矩阵有结合律,所以就相当于增加:

\[\begin{bmatrix}
2 & -1\\
1 & 0
\end{bmatrix}
\]

所以用平衡树维护就好了。需要卡常的话可以把矩阵乘法那里手写而非循环形式。

NOI 2021 部分题目题解的更多相关文章

  1. [NOI 2021] 轻重边 题解

    提供一种和不太一样的树剖解法(一下考场就会做了qwq),尽量详细讲解. 思路 设重边为黑色,轻边为白色. 首先,先将边的染色转化为点的染色(即将 \(u\) 节点连向父节点的边的颜色转化为 \(u\) ...

  2. ZROI 部分题目题解

    ZROI 部分题目题解 335 首先发现一个性质: 对于最短的边而言,所有点的路径如果经过了这条边,那么路径的权值就是这条边的边权(废话) 那么我们把最短的边拎出来,可以发现,博物馆确定时,每个点按照 ...

  3. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

    PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...

  4. 2021.07.17 题解 CF1385E Directing Edges(拓扑排序)

    2021.07.17 题解 CF1385E Directing Edges(拓扑排序) CF1385E Directing Edges - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) ...

  5. CodeForce——Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2)前三道题目题解

    目录 A: B: C: 题目链接 A Divide and Multiply standard input/output 1 s, 256 MB 正在上传-重新上传取消 x13036 B Willia ...

  6. LuoguB2001 入门测试题目 题解

    Update \(\texttt{2021.7.3}\) 经测试,本题 \(a,b\) 范围在 long long,对代码进行了修改,并修改一些笔误,更新了数据范围. \(\texttt{2021.7 ...

  7. Diary -「NOI 2021」酱油记

    雨幕浓稠 远近一白 是水雾弥漫的天 还是泡沫撑起的海   雨真大呢.   前几天去 ZH 中学集训没啥好记的,就从会合日开始叭. [Day -1]   逃出 ZH,掉入梦麟.(   高中的同学们忘记带 ...

  8. chd校内选拔赛题目+题解

    题目链接   A. Currency System in Geraldion 有1时,所有大于等于1的数都可由1组成.没有1时,最小不幸的数就是1. #include<iostream> ...

  9. Tarjan & LCA 套题题目题解

    刷题之前来几套LCA的末班 对于题目 HDU 2586 How far away 2份在线模板第一份倍增,倍增还是比较好理解的 #include <map> #include <se ...

随机推荐

  1. APMServ中Apache启动失败的原因

    APMServ中Apache启动失败绝大多数的情况是因为APMServ得路径出错和80端口被占用,也有可能您使用的是WIN8系统,下面SJY根据不同情况告诉大家如何解决APMServ中Apache启动 ...

  2. centos7 Tomcat 停止服务时报错: java.net.ConnectException: 拒绝连接 (Connection refused)

    2021-08-02 1.问题描述 配置完 server.xml 文件后,执行 shutdown.sh 脚本停止服务,出现以下错误 2. 解决方法 查看当前正在运行的 Java 进程号 # 找到 Ja ...

  3. element-ui 用 el-checkbox-group 做权限管理

    template <el-checkbox-group v-model="menu_ide" v-for="(item,index) in menu_idss&qu ...

  4. 浅析 Dapr 里的云计算设计模式

    Dapr 实际上是把分布式系统 与微服务架构实践的挑战以及k8s 这三个主题的全方位的设计组合,特别是Kubernetes设计模式 一书作者Bilgin Ibryam 提出的Multi-Runtime ...

  5. Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!

    内容源于:https://docs.sentry.io/platforms/javascript/guides/react/ 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - ...

  6. PyQT5:信号和槽

    PyQT5:信号和槽 信号和槽 Qt的主要特征之一是它使用信号和插槽在对象之间进行通信. 当潜在的事件发生时,会发出一个信号.插槽是可调用的Python,如果将信号连接到插槽,则在发出信号时将调用该插 ...

  7. Linux下chkconfig

    1.chkconfig命令用于检查,设置系统的各种服务! 2.chkconfig语法 chkconfig [--add] [--del] [--list] [系统服务] 或 chkconfig [-- ...

  8. CSS导航菜单(一级菜单)

    index.html <div class="nav"> <ul> <li><a href="#">Java&l ...

  9. SpringMVC基于注解开发

    一. 1.配置 适配器的作用就是规定怎么调控制器: 2.使用 controller代码 三.

  10. Linux-实战常用命令

    目录 关机/重启/注销 系统信息和性能查看 磁盘和分区 ⽤户和⽤户组 ⽹络和进程管理 常⻅系统服务命令 ⽂件和⽬录操作 ⽂件查看和处理 打包和解压 RPM包管理命令 YUM包管理命令 DPKG包管理命 ...