来补题了昂。

D1T1 轻重边

对于原树进行重链剖分,使用一颗线段树维护每一条重边是否时“重边”,然后对于轻边,在父亲出维护最后一次通过 \(1\) 操作清空“重边”的时刻,在查询时只会遇到 \(O(\log n)\) 条轻边,直接查询这个轻边时“重边”的时刻是否晚于父亲清空的时刻即可。

D1T2 路径交点

LGV 引理板子题,记 \(e_{u,v}\) 表示从 \(u\) 走到 \(v\) 的方案数,则最终答案就是:

\[\begin{vmatrix}
e_{u_1,v_1}&e_{u_1,v_2}&\dots &e_{u_1,v_n}\\
e_{u_2,v_1}&e_{u_2,v_2}&\dots &e_{u_1,v_n}\\
\vdots&\vdots&\ddots &\vdots\\
e_{u_n,v_1}&e_{u_n,v_2}&\dots &e_{u_1,v_n}\\
\end{vmatrix}\]

的值,直接求解即可。

D1T3 庆典

首先对图进行缩点,得到一张 DAG,我们原题需要维护的东西与连通性有关,所以考虑在不影响连通性的情况下改变这个图的结构。

考虑题设给出的性质:如果 \(x\to z\) 且 \(y\to z\),则有 \(x\to y\) 或 \(y\to x\)。

不妨设为 \(x\to y\),则删去边 \(x\to z\) 不影响图的连通性,由此,我们可以不断调整结构将原图变成一棵外向树。

现在考虑加入 \(k\) 条边后的问题,实际上被影响到的点只有那 \(2k+2\) 的点,对于这些点建立虚树,对正反边各跑一次管搜即可。

D2T1 量子通信

由于数据随机生成,所以可以认为单词是均匀分布的,由于被影响的位数 \(\le 15\),所以将所有的单词 \(16\) 位一段,则至少有一段适合某个单词完全相同的。所以只需要查这些单词即可,考虑单次需要查询的个数:\(\dfrac{n}{2^{16}}\times 16=\dfrac{n}{4096}\) 个,使用 bitset 优化查询,时间复杂度为 \(\dfrac{nm}{16w}\),可以通过。

D2T2 密码箱

通过推式子,发现 E 操作完全等价于维护后者,即

先给数列的最后一项减 \(1\),接着在数列尾再加两项,两项的值都是 \(1\)。

则目前所有的操作均为对最后一项进行修改,发现可以实时维护后缀操作得到的分数 \(\dfrac{A}{B}\) 的 \(A\) 和 \(B\) 分别是多少。

具体的,这两个矩阵为 \(\begin{bmatrix}1&1\\0&1\end{bmatrix}\) 和 \(\begin{bmatrix}2&-1\\1&0\end{bmatrix}\)。

使用支持区间翻转的平衡树维护即可,时间复杂度 \(O(n\log n)\)。

D2T3 机器人游戏

考虑容斥,记 \(cnt(S)\) 为选择 \(S\) 这些位置为起点合法的纸条方案数,则最终答案为 \(\sum\limits_{S}(-1)^{|S|+1}cnt(S)\)。

对于一个机器人的操作,均可以被描述成四种:\(0\),\(1\),\(x\) 和 \(1-x\),分别表示修改成 \(0\),修改成 \(1\),不改变和反转。

我们钦定 \(S\) 中最大的位置为 \(p\),我们对于这个 \(p\) 的位置进行 DP,则 所有机器人的操作长度应 \(\le n-p+1\),同时最多只有前 \(p\) 位可能被操作,所以实际上会影响到当前位的只有 \(\min(n-p+1,p)\le \dfrac{n}{2}\) 位,考虑设计状态 \(f_{i,S}\) 表示处理到了第 \(i\) 位,前若干位选择状态为 \(S\) 的带符号和。

发现如果同时出现 \(0\) 和 \(1\),或者同时出现 \(x\) 和 \(1-x\) 这两对相互矛盾的,则只能选择空到空,有 \(1\) 种方案。

如果 \(0\),\(1\) 与 \(x\),\(1-x\) 各出现一个,如果不为空,则可能的状态就确定了,有 \(2\) 种方案。

其他情况下,每一个输入会对应唯一的输出,有 \(3\) 种方案。

只需要对所有满足操作长度 \(\le n-p+1\) 的统计出分别有多少个满足上述条件的方案即可,使用 bitset 优化,时间复杂度为 \(O(\dfrac{nm2^{\frac{n}{2}}}{w})\)。

NOI 2021 补全记录的更多相关文章

  1. CozyRSS开发记录6-继续补全订阅内容栏

    CozyRSS开发记录6-继续补全订阅内容栏 1.订阅内容栏布局 按照之前的原型图,把订阅内容栏分成三块.Xaml如下: 2.照葫芦画瓢,完成头部和列表 头部依然使用ColorZone,右侧再放两个按 ...

  2. Ubuntu16.04VIM无法补全错误记录

    先记录一下YouCompleteMe的安装过程. 按照教程进行安装 1. 安装 vundle # vundle是vim的包管理器,十分好用 cv@cv: ~$ git clone https://gi ...

  3. 记录一次bug解决过程:else未补全导致数据泄露和代码优化

    一.总结 快捷键ctrl + alt + 四个方向键 --> 倒置屏幕 未补全else逻辑,倒置查询数据泄露 空指针是最容易犯的错误,数据的空指针,可以普遍采用三目运算符来解决 SVN冲突解决关 ...

  4. 删除Chrome地址栏记录中自动补全的网址

    为了删除某个自动补全的网站,多年的历史纪录没了,还浪费我十多分钟,蠢哭_(:з」∠)_ 不是历史记录.不是清除浏览器数据.不是myactivity(谷歌账号)中的历史纪录,直接在书签中搜索,删除,OK ...

  5. centos7安装docker记录+命令补全

    原本用centos6.6部署项目环境,突然想装docker ,使用uname -r 发现内核版本太低,更新内核完后重启起不来了~~~~~,还是用回7吧 21 yum -y install gcc 22 ...

  6. LeetCode随缘刷题之最短补全词

    package leetcode.day_12_10; import org.junit.Test; /** * 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返 ...

  7. Oracle补全日志(Supplemental logging)

    Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键(uni ...

  8. Mac下git命令自动补全

    当我第一次在mac上安装git,[tab]补全装成功了,但是我没有记录,当我过一段时间在重装的时候,我已经忘记了,又是各种查资料,再次做一下简单的记录. 首先,我因为还是mac小白,所以使用Homeb ...

  9. 记一个同时支持模糊匹配和静态推导的Atom语法补全插件的开发过程: 序

    简介 过去的一周,都睡的很晚,终于做出了Atom上的APICloud语法提示与补全插件:apicloud_autocomplete.个中滋味,感觉还是有必要记录下来的.代码基于 GPL-3.0 开源, ...

  10. gocode+auto-complete搭建emacs的go语言自动补全功能

    上篇随笔记录了在emacs中使用go-mode和goflymake搭建了go语言的简单编程环境(推送门),今天来记录一下使用gocode+auto-complete配置emacs中go语言的自动补全功 ...

随机推荐

  1. python进阶(8)--测试函数与类

    一.测试函数(unittest) 1.源文件方法(name_function.py): def get_formatted_name(first,last): """生成 ...

  2. 怎样实现WPF Prism Module的国际化和本地化?

    怎样实现WPF Prism Module的国际化和本地化? English | 简体中文 上一篇有简单介绍主工程的国际化,使用的资源字典(XAML)实现的. 这几天我添加了几个Prism模块(Modu ...

  3. [转帖]kafka-console-ui v1.0.6发布

    前言 kafka-console-ui 是一款web版的kafka管理平台,从第一次发布到现在已经两年了,断断续续也更新了7个版本了(v1.0.0~v1.0.6). 一些常用的功能也陆续完善了不少,相 ...

  4. [转帖]【KingbaseES】sys_dump逻辑备份工具详解

    KingbaseES逻辑备份还原工具提供了数据库对象一级的联机备份还原功能,备份对象包括: 数据库 模式 表 视图 约束 权限 触发器 函数 序列 逻辑备份的输出格式包括: 二进制 SQL脚本 此外, ...

  5. [转帖]DD硬盘性能相关因素

    https://www.jianshu.com/p/a15d7a65c876 本文简单介绍下DD测试硬盘性能时,各个因素的影响 首先列出测试结果   image.png oflag分析--/home ...

  6. [转帖]Arm CPU风起,补齐国产大芯片最后一块拼图 | 甲子光年

    https://rmh.pdnews.cn/Pc/ArtInfoApi/article?id=30960014 最近一年,国产CPU火了. 今年6月24日,龙芯中科在科创板挂牌上市,公司主营自研Loo ...

  7. [转帖]IPv6地址解析库,窥探IPv6地址中包含的信息

    https://zhuanlan.zhihu.com/p/479028720 大家好,我是明说网络的小明同学. 今天和大家介绍一个IPv6 地址解析库IPv6 address Parser :http ...

  8. [转帖]自动化回归测试工具 —— AREX 上手实践

    https://my.oschina.net/arextest/blog/8589156   AREX 是一款开源的自动化测试工具平台,基于 Java Agent 技术与比对技术,通过流量录制回放能力 ...

  9. [转帖]jar启动指定JDK/JRE 安装路径教程

    https://blog.csdn.net/weixin_40986713/article/details/128136777 前言 因为疫情在家办公的缘故,有个老项目,需要改个接口,然后需要前端联调 ...

  10. Golang Map底层实现简述

    Go的map是一种高效的数据结构,用于存储键值对.其底层实现是一个哈希表(hash table),下面是有关map底层实现的详细介绍: 哈希表: map的底层实现是一个哈希表,也称为散列表.哈希表是一 ...