ad-hoc 精选集

news/2024/10/18 22:18:30/文章来源:https://www.cnblogs.com/Ender32k/p/18475147

校内讲题。

传统

Sheriruth

一个连通块如果连不了边,那么一定形如 一棵内向树 或者 一棵内向基环树。前者只需要判断祖先关系,后者需要讨论是否在环上。

否则考虑一个点 \(u\) 如果有多条出边 \((u,v_1),(u,v_2),\cdots,(u,v_m)\),那么 \(v_1,v_2,\cdots,v_m\) 会互相连边形成一个团(无向完全子图),并且此时 \(v_i\) 能到的所有点也会被合并到这个团中。

于是最后连通块一定形如一个团和若干棵内向树,其中每棵内向树的根连向团中的某些点。大小为 \(s\) 的团上相异两点 \(u,v\) 的路径条数为 \(\sum_i(s-2)^{\underline i}\),于是直接做就行了。注意特判如果 \(u\) 直接走到团上的 \(v\) 的情况。

构造

没有改了的。

交互

World Ender

题解 markdown 流失了,看官方 beamer 的题解吧,大概是一样的。

通信

Broken Device

考虑相邻两位一组,用三进制表示 \(X\),每组有损坏/0/1/2 四种情况。那么损坏对应 \(00\)\(0,1,2\) 对应 \(01,10,11\)。这样构造能取到的上界为 \(3^{150/2-40}\) 大概是 \(5\times 10^{16}\)

然后把所有位随机打乱一下,这样的话损坏的组的期望就会减少,期望上界会到 \(10^{19}\)。具体打乱做法就是让 AnnaBruno 共用一个随机种子,这样随机打乱的结果是相同的。

考虑把损坏的段也利用起来,如果有一段是 \(\mathtt{X\_}\),那么可以填入 \(01\);如果是 \(\mathtt{\_X}\),可以填入 \(10\)。这样就能过了。

因为是随机打乱的,所以很难构造数据卡掉。

Message

参考了 u 群里面的做法,这个做法不用关心数据包被纂改的情况。

首先肯定不能传一个长度 \(S\) 的信息,因为如果 \(S=1024\) 的话你至少要 \(1024+31=66\times 16-1\) 个 bit 来传输消息和可能被纂改的位置的信息,这样你要在 \(1\) bit 之内传入长度,这太难了。

所以可以先把 \(S\) 末尾加上形如 \(0111\cdots\),形成长度为 \(1025\) 的二进制串 \(S'\),这样的话我们把 \(S'\) 还原出来然后把最后一个 \(0\) 以及后面的位全删掉就行了。

然后考虑如何使用 \(31\) 个 bit 来传输 \(31\) 位中哪些位是可能被纂改的。

我们把所有不会被纂改的位,也就是所有 \(C_i=0\)\(i\) 拿出来,从小到大记为 \(p_0,p_1,\cdots,p_{15}\)

注意到 \(16>\frac{1}{2}\cdot 31\),所以可以构造一个唯一的最大值:具体地,如果我们将 \(p_i\)\(p_{(i+1)\ \bmod\ 15}\) 连有向边,那么无论其余 \(\{0,1,\cdots,31\}\setminus \{p_0,p_1,\cdots,p_{15}\}\) 中任意一个位置如何连出一条边,这个图都会构成一个内向基环树。而 \(p_0,p_1,\cdots,p_{15}\) 为这个基环树的唯一最大环

那么我们只需要考虑如何传输连边的信息:对于任意的 \(C_i=0\),记录 \(d_i=(p_{(i+1)\ \bmod 15}-p_i) \bmod 31\),我们在前 \(d_i-1\) 个数据包的第 \(i\) 位传 \(0\),在第 \(d_i\) 个数据包的第 \(i\) 位传 \(1\)。然后接收的时候就只需要对每一位 \(i\) 算出第一个 \(1\) 的位置 \(d'_i\),然后 \(i\)\((i+d'_i)\bmod 31\) 连边就行了。这样的话 \(C_i=0\) 的位连的边一定是对的,\(C_i=1\) 的位连的边可以任意。找到最大环就找到了所有 \(C_i=0\) 的位。

然后我们把 \(S'\)\(1025\) 个 bit 塞进所有 \(C_i=0\) 的位的剩余没用到的位置即可。

(Un)labeled graphs

只需要还原点的编号即可得到整个图。

新建一条长度为 \(\log n\) 的链来表示编号的二进制,然后我们考虑如何确定链的方向,以及如何区分出这条链。

设多出来的点为点 \(A,B,C\)。点 \(A\) 向链上的所有点连边;点 \(B\) 连向 \(A\) 和链首(也就是代表第 \(0\) 位的点);然后将点 \(C\) 连向除了点 \(A\) 之外的所有点。

这样的话,找到度数最大的点就是点 \(C\);唯一不与 \(C\) 相连的就是点 \(A\);与 \(A\) 相连的所有点就是点 \(B\) 和整条链;唯一与 \(A,C\) 相连且度数恰好为 \(3\) 的点为点 \(B\)

可能有些特殊情况需要处理,但这是简单的。

8 染色

首先进行黑白 \(2\) 种颜色是简单的,于是不难想到每个点传 \(2\) 个 bit,表示颜色在二进制下的前两位。这样就可以做 \(L=4\times 10^5\)

考虑所有度数 \(<8\) 的点,它们的颜色都可以用周围点的颜色排除出来。于是我们只需要传度数 \(\ge 8\) 的点的 bit,然后求出这些点的颜色后再拓扑出其余点的颜色即可。

由于 \(\sum_i d_i=2m\),于是 \(2\sum_i[d_i\ge 8]\le \frac{m}{2}\le 2.5\times 10^5\)。于是就做完了。

卡常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/817086.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C3P0 链子分析学习

C3P0 链子分析学习 概述 C3P0是一个开源的数据库连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象。即将用于连接数据库的连接整合在一起形成一个随取随用的数据库连接池,使用它的开源项目有Hibernate…

20241018每日一题洛谷P2386

普及 每日一题 信息学竞赛 1206:放苹果 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N…

图片与向量的关系

如何从向量角度描述表示图片黑白图片黑白图片(灰度图)通过 2 维向量(矩阵)来表达。2个维度的长度分别代表了图片的高度和宽度(以像素为单位),向量元素记录着每一个像素的灰度(数值越大,颜色越浅) 例如下面右图矩阵标注了左图像素点的灰度分布:彩色图片彩色图片通过 …

数据采集与融合技术第二次作业

学号姓名 102202132 郑冰智这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/homework/13285这个作业的目标 爬取天气网、股票相关信息、中国大学2021主榜所有院校信息,并存储在数据库中实验二仓库地址 https://gitee.com/zheng…

【LGR-203-Div.4】洛谷入门赛 #28

【LGR-203-Div.4】洛谷入门赛 #28\(A\) luogu B4042 [语言月赛 202410] 顺序结构 \(AC\)顺序结构。点击查看代码 int main() { ll a;cin>>a;cout<<3*(5+a)<<" "<<3*a+5<<endl;return 0; }\(B\) luogu B4043 [语言月赛 202410] 刻度尺…

uni-app小程序(快手、抖音)getCurrentPages使用坑位记录2

前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,现公司项目就是主推uni-app,我主要负责抖音和快手端小程序。 坑位 公司历史原因项目有APP端小程序端,但并不使用uni-app的一端发布所有平台,…

二叉查找树和笛卡尔树

二叉查找树~和笛卡尔树目录二叉查找树定义作用操作查找插入删除缺点笛卡尔树定义操作构造 二叉查找树 定义 ​ 二叉查找树(Binary Search Tree,BST),又名二叉搜索树或二叉排序树。 ​ 它是一类特殊规定的二叉树,它应当满足以下条件:每个节点有唯一确定的权值 非叶子节点的…

浅谈 tarjan

就是记录两个数组:dfn[]和low[] 其中dfn[]表示访问的顺序,low[u]用来存储 \(u\) 不经过其父亲能到达的最小时间戳。。。 搬一下 wiki 的图。。。我们发现 \(low[v]\ge dfn[u]\) 可以表示不能回到祖先,则 \(u\) 点位割点。。。 直接上代码P3388------> #include <bits/…

正点原子新起点V2开发板FPGA关于SDRAM代码解读

正点原子新起点V2开发板FPGA关于SDRAM代码解读 1. SDRAM 概述 SDRAM(Synchronous Dynamic Random Access Memory)是一种同步动态随机存储器,广泛用于FPGA项目中。通过SDRAM控制模块,可以实现数据读写、刷新等操作。本文对SDRAM的控制模块进行详细解读,分析代码中的命令控制…

面试题速刷 - 实战会碰到的一些问题

页面如何进行首屏优化?路由懒加载服务端渲染SSR只获取HTML就可以,里面包含data。 APP预取(啥东西)APP结合H5、结合JS bridge 分页图片懒加载 lazyloadHybrid总结:后端一次性返回10w条数据,你会如何渲染? 本身后端设计方案的设计就不合理!非要的话......自定义中间层:虚…

氏发

这个作业属于哪个课程 2024高级语言程序设计 (福州大学 - 计算机与大数据学院)这个作业要求在哪里 高级语言程序设计课程第三次个人作业学号 102400117姓名 廖逸轩

二、STM32F103C8T6-定时器

STM32F103C8T6 定时器概述 STM32F103C8T6 作为一款广泛使用的微控制器,内置多个定时器,能够支持多种计时和控制功能,如精确延时、脉冲宽度调制(PWM)、捕获比较(Capture/Compare)、输入捕获 和 输出比较 等。这些功能在电机控制、信号测量、周期性事件触发等应用中非常常…