丽泽普及2022交流赛day16 社论
这场比较平凡吧 .
省流:

http://zhengruioi.com/contest/1087
目录
时间复杂度瞎算的 .
A. Gene
题面
俩字符串 \(s,t\),在 \(s\) 中加点字符,使 \(t\) 是 \(s\) 的子串 .
插字符 \(ch\) 有代价 \(c_{ch}\) .
字符集 \(\{\texttt A,\texttt C,\texttt G,\texttt T\}\) .
题解
算法一(正解)
考虑 dp,令 \(dp_{i,j}\) 表示 \(s\) 以 \(i\) 结尾的后缀与 \(t\) 相等的最小代价 .
转移考虑丢掉(换一个)或接续即可 .
时间复杂度 \(O(|S||T|)\),可以滚动数组 .
算法二
扫一遍 \(s\),暴力匹配 \(t\),如果失配了就加字符 .
是不是非常简单,和那个 dp 时间复杂度一模一样 .
时间复杂度 \(O(|S||T|)\) .
B. Fight
题面
为了争夺金坷垃, \(n\) 个人要打 \(m\) 场架,第 \(i\) 场是第 \(a_i\) 个人和第 \(b_i\) 个人打。
主办方突然想把这些人分成日日阵营和非非阵营(每个人都属于某一个阵营),使得只有阵营间的人会打架。但是安排已经决定,要更改安排需要时间。
你需要求出在最优的阵营划分方案中,出现两个相同阵营的人的战斗最晚是在哪一场。(数据保证一定会出现这种情况)
题解
算法一(正解)
种类并查集,非常容易 .
时间复杂度 \(O(n\alpha(m))\) .
算法二
考虑二分答案,于是问题变成判定是否可以划分阵营 .
等价于二分图判定,黑白染色即可 .
时间复杂度 \(O((n+m)\log m)\) .
算法三
依然二分答案 .
然后可以 2-SAT 做,有个老哥这么干 \(80pts\) 超时了(悲) .
时间复杂度 \(O((n+m)\log m)\) .
C. Pastry
题面
\(n\) 个宽度相同的块相邻摆放 .
将第 \(i\) 个块 \(a_i\) 等分,问有多少个本质不同的分界点 .
题解
算法一(SoyTony)
令 \(m =\max\{a_i\}\)
拆一下 .
考虑 \(f(x)\) 表示 \(x\) 与 \(x\) 的所有约数的分界点不同的个数 .
然后可以枚举因子 \(O(m\log m)\) 递推 .
然后对于每个 \(a_i\) 把她和她的约数(去重)的 \(f\) 全加起来就好了 .
这一步枚举因子是 \(O(m\log m)\) .
总时间复杂度 \(O(m\log m)\) .
关于 \(f\) 的一些研究
这个 \(f\) 的表达式是
\]
通过打表得到 \(f(n)=\varphi(n)-[n=1]\),回代也发现成立
过程
众所周知 \(\displaystyle \sum_{d\mid n}\varphi(n)=n\) .
于是带入,得
\]
这个 \(\sum\) 有两个非常鬼畜的东西,一个是 \(d\neq n\),一个是 \([n=1]\) .
把 \(1,n\) 单独处理得
\]
恒成立 .
能否从递推式直接得到通项还是未解之谜 .
破案了,从 Dirichlet 卷积的角度看 .
FZ 神仙的做法
令 \(g(x) = f(x)-[n=1]\) .
于是
\]
即
\]
即 \(g*I=\mathrm{id}\),显然 \(g=\varphi\) .
从而 \(f(x)=\varphi(x)-[n=1]\) .
wangrx 神仙的做法
直接写成 Dirichlet 卷积形式,
\]
化简得
\]
因为 \(I^{-1}=\mu\),于是
\]
即 \(f(x)=\varphi(x)-[x=1]\) .
其他
《贝尔级数》
《狄利克雷生成函数》
于是似乎就可以线性筛了(?)然而复杂度不变 qwq .
大概这种含 \(\displaystyle\sum_{d\mid n}\) 的东西就向 Dirichlet 卷积靠吧 .
D. Conference
题面
给一个序列 \(\{a_n\}\) .
对于每个 \(1\le s\le n\) 回答询问:
- 最小的使得序列 \(\left\{\left\lfloor \dfrac{a_i}k\right\rfloor\right\}\) 存在 \(s\) 个重复元素(最多)的 \(k\)(若不存在输出
-1)
题解
算法一(SoyTony)
众所周知 \(\left\lfloor \dfrac nk\right\rfloor\) 只有 \(O(\sqrt n)\) 个取值 .
然后整除分块出每个 \(a_i\) 的取值块左端点并丢到一个 std::set 里 .
然后遍历那个 std::set 算一下情况下有多少个相同元素就完了 .
时间复杂度 \(O(玄学_1\sqrt{玄学_2}\log 玄学_3)\) .
丽泽普及2022交流赛day16 社论的更多相关文章
- 丽泽普及2022交流赛day21 社论
A 暴力 . greater<double> -> greater<int> \(100\) -> \(50\) 代码丢了 . B dp . 考场上代码抢救一下就过 ...
- 丽泽普及2022交流赛day18 社论
A 暴力扫一遍 B 算法 0 似乎是二分 算法 1 随便贪心 C 算法 1 枚举一个点作为最大值 / 最小值,用单调栈维护其作为答案的左右端点即可轻易计算 . 时间复杂度 \(O(n)\) . 算法 ...
- 丽泽普及2022交流赛day17 社论
http://zhengruioi.com/contest/1088 SoyTony 重新 rk1 . stO SoyTony Orz 省流:俩计数 . 目录 目录 A 题面 题解 Key 算法 1( ...
- 丽泽普及2022交流赛day15 社论
前言 link 太牛逼了,补完我一定放代码 . orz 越看越牛逼 orz . 时间复杂度都是口胡,不要信 . 以下是目录 目录 目录 前言 A 题面 题解 代码 B 题面 题解 代码 C 题面 题解 ...
- 丽泽普及2022交流赛day20 1/4社论
目录 T1 正方形 T2 玩蛇 T3 嗷呜 T4 开车 T1 正方形 略 T2 玩蛇 略 T3 嗷呜 (插一个删一个?) 找出相同的,丢掉循环节 . 感觉非常离谱,,, 正确性存疑 正确性问 SoyT ...
- 丽泽普及2022交流赛day22 无社论
开始掉分模式 . T3 有人上费用流了???(id) 不用 TOC 了 . T1 暴力 T2 没看见 任意两圆不相交,gg 包含关系容易维护,特判相切 . 单调栈即可 T3 贪心 T4 神秘题
- 丽泽普及2022交流赛day19 半社论
目录 No Problem Str Not TSP 题面 题解 代码 Game 题面 题解 代码 No Problem 暴力 Str 存在循环节,大力找出来即可,长度显然不超过 \(10^3\) . ...
- 丽泽普及2022交流赛day14
目录 A 题面 题解 B 题面 题解 C 题面 题解 D 题面 题解 A 题面 一个 \(1\dots n\) 的排列 \(p\) 和一个 \(1\dots n-1\) 的排列 \(q\) 满足 对排 ...
- 记:青岛理工ACM交流赛筹备工作总结篇
这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, 一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙 ...
随机推荐
- python入门基础知识三(列表和元组)
列表(list)的操作 1. 形式 var = ['char1','char2','char3',...] var = [value1,value2,value3,...] 2. 列表的增删改查 查: ...
- 【mq】从零开始实现 mq-12-消息的批量发送与回执
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- 【Azure Developer】使用Azure PubSub服务示例代码时候遇见了.NET 6.0的代码转换问题
问题描述 当本地环境中安装.NET 6.0后,用指令 dotnet new web 或 dotnet new console 生成的项目,使用的都是新模板生成的Program.cs文件.里面去掉了n ...
- 【Java面试】Spring中 BeanFactory和FactoryBean的区别
一个工作了六年多的粉丝,胸有成竹的去京东面试. 然后被Spring里面的一个问题卡住,唉,我和他说,6年啦,Spring都没搞明白? 那怎么去让面试官给你通过呢? 这个问题是: Spring中Bean ...
- django三板斧与request对象方法与ORM
目录 django三板斧 HttpResponse() render() redirect() 网页获取静态文件样式 request对象方法 post请求问题 针对get请求和post请求执行不同代码 ...
- dpkg-DEB包管理器
dpkg是Deb系列发行版操作系统下.deb软件包管理器. 语法 dpkg [option] [package] 选项 -i 安装Deb软件包. -r 删除Deb软件包. -P 删除Deb软件包的同时 ...
- k8s的api资源
NAME SHORTNAMES APIGROUP NAMESPACED KIND 资源用途说明 bindings TRUE Binding 已弃用.用于记录一个object和另一个object ...
- Nanodet模型部署(ncnn,openvino)/YOLOX部署(TensorRT)
Nanodet模型部署(ncnn,openvino) nanodet官方代码库nanodet 1. nanodet模型部署在openvino上 step1: 参考链接 nanodet官方demo op ...
- 前端 关于请求地址时出现乱码, 出现%E2%80%8B的问题
做项目时,添加了新的一个接口,习惯性地复制了接口下来.然后测试发现 请求时自动添加 了几个%E2%80%8B这种乱码. 问题原因: 我输出请求地址时也是正确的,是因为复制过来的接口地址会有零宽空格 解 ...
- liunx 服务器下面安装mysql8.0
闲来无事,准备自己搭建一个服务器高点事情,不可避免的就是需要使用到mysql数据库了.在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程 ...