CF 1365 题解

news/2024/11/13 16:29:57/文章来源:https://www.cnblogs.com/snowycat1234/p/18538992

CF 1365 题解

A Prime Subtraction

任何数的因数中都会有质数, 除非他是 \(1\).

因此原题不合法当且仅当 \(b-a=1\).

B Kill 'Em All

首先, 答案有明确的下界: 最右面的怪兽一定要处理. 不断模拟去杀掉当前最靠右的怪兽, 得到的答案就是答案的下界.

是否能取到下界呢? 答案是肯定的. 注意到刚刚的过程可以顺带把所有怪兽都杀掉, 是一种合法的方案.

C Standard Free2play

考虑每到达一个台阶, 首先它可以没有代价的到达下面一个台阶的上方 \(1\) 格, 然后, 考察下面一个台阶的下方 \(1\) 格是否打开, 没有打开就要花费 \(1\) 的代价到达下方.

这个贪心的正确性在于一定想要用较少的钱到达较低处的位置, 在更高的位置显然不优.

D AB-string

一个很好的性质是字符集只包括两种字符.

这样, 不符合要求的串只有 AAAA...AABABB...BBB 以及类似形式.

扫一遍就可以统计了.

E Keyboard Purchase

首先, 字符集大小 \(n\leq20\), 考虑状压.

答案只与相邻两个字符是什么有关, 与原串无关, 考虑转化: 记 \(cnt_{i,j}\) 表示 字符 \(i,j\) 相邻了多少次, 这是好统计的.

特别的, 对任意 \(i\), 令 \(cnt_{i,i}=0\).

现在要给每个字符分配一个位置排列 \(pos_i\), 则答案是

\[\sum_{i=1}^n\sum_{j=i}^n|pos_i-pos_j|cnt_{i,j} \]

我们想要答案最小.

我们设计一个 dp, 首先, 每次转移按照 \(pos\) 顺序加入一个元素, 加入的这一刻我们能够知道 \(i\)\(pos_i\) 是什么 (就等于目前集合大小), 但是其他的都不知道, 这意味着原来的式子不能直接维护, 需要拆掉, 你把元素都按照 \(pos\) 排序后 (也就是转移顺序) 可以得到:

\[\begin{align*} ans&=\sum_{i=1}^n\sum_{j=i}^n(pos_i-pos_j)cnt_{i,j} \\ &=\sum_{i=1}^npos_i(\sum_{j>i}cnt_{i,j}-\sum_{j<i}cnt_{i,j}) \end{align*} \]

这个式子就比较清晰了, 用 dp 去求解这个式子的最小值就好.

\(f_S\) 表示只考虑 \(x\in S\)\(pos_x\) 的贡献, 并且已经决定好它们的 \(pos\), 并且按照 \(pos\) 的顺序加入集合, 则有转移式:

\[f_{S|x}\leftarrow f_S+|S|(\sum_{y\not\in S}cnt_{y,x}-\sum_{y\in S}cnt_{y,x}) \]

由于按照 \(pos\) 序转移, 因此不在 \(S\) 中的元素 \(y\) 会在 \(x\) 之后, 反之则在前面, 因此这个转移式和上面的式子一致.

F The Maximum Subtree

考察每个节点所连子节点情况.

注意到一个节点所有相邻节点都不能有公共区间, 否则有环.

考察一个节点 \([l,r]\), 他可以连出另一个节点 \([l_0,l]\) , 再向左延申, 右侧也同理, 这部分是一条链, 而另外的, 这个节点也可以连出其他节点 \([l+1,l+2],[l+3,l+4],\ldots [r-2,r-1]\). 因此, 这个树是一个链套菊花的结构.

设计一个类似于找最长链的 dp 就可以了, 答案统计和转移式都是类似的.

Adilbek and the Watering System

这个东西很像一个反悔贪心, 但是你会发现不好维护上界小于等于 \(c\) 的约束.

考虑脱离用堆维护反悔贪心框架的束缚, 考虑把运水的费用当用水时再计算.

考虑每次运水, 就尝试接受所有的水, 如果溢出了的话就尝试把当前最贵的水舍弃掉.

每次用水, 就把最便宜的水用掉并计入答案.

考虑需要维护最大值和最小值, map 是满足要求的, 模拟即可.

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

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

相关文章

2024/11/11

软件设计 实验12:外观模式 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算…

2024.11.6(周三)

用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1.文件的执行不需真正实现,只需简单提示即可; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #include <iostream> #include <string> #include<list> using namespace std;class Abst…

2024.11.7(周四)

用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。 实验要求: 1.提交类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #i…

2024.11.5(周二)

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1.画出对应的类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 (1) Bus.java package test;public class Bus implements Vehicle{@Overridepublic void run() {Sy…

CFAT:三角窗口实现图像超分辨率

CFAT:三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界处存…

CFAT:释放三角窗口实现图像超分辨率

CFAT:释放三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界…

读数据工程之道:设计和构建健壮的数据系统34读后总结与感想兼导读

读后总结与感想兼导读1. 基本信息 数据工程之道:设计和构建健壮的数据系统[美]乔里斯(Joe Reis),[美]马特豪斯利(Matt Housley)著机械工业出版社,2024年2月出版1.1. 读薄率 书籍总字数473千字,笔记总字数109584字。 读薄率109584473000≈23.17% 1.2. 读厚方向Data Mesh权威指…

鸿蒙NEXT开发案例:抛硬币

【1】引言(完整代码在最后面) 本项目旨在实现一个简单的“抛硬币”功能,用户可以通过点击屏幕上的地鼠图标来模拟抛硬币的过程。应用会记录并显示硬币正面(地鼠面)和反面(数字100面)出现的次数。为了增强用户体验,我们还添加了动画效果,使抛硬币的过程更加生动有趣。 …

【CodeForces训练记录】Codeforces Round 986 (Div. 2)

训练情况赛后反思 C题逆风翻盘,可能勉强青名了。A题愣神了,我觉得还能再做的快一点。 A题 给定一个字符串,NWSE,重复着字符串走,我们直接模拟即可,用 while 来判断是否走到终点,然后对于不可能走到的终点,我选择了一个不会超时的步数范围,超出就跳出 while 即可,最后…

24. 使用MySQL之使用游标

1. 游标 由前几章可知,MySQL检索操作返回一组称为结果集的行。这组返回的行都是与SQL语句相匹配的行(零行或多行)。 使用简单的SELECT语句,例如,没有办法得到第一行、下一行或前10行,也不存在每次一行地处理所有行的简单方法(相对于成批地处理它们)。 有时,需要在检索…

Python clickhouse-driver 类库使用学习总结

实践环境 python3 .9.13 clickhouse-driver 0.2.9 实践操作 # -*- coding:utf-8 -*-import clickhouse_driverif __name__ == __main__:host = 192.168.88.131port = 9000 # 注意,不能使用默认的8123username = testaccpassword = test1234database = default# 连接方式1# con…

随波逐流工具使用_Week1

跟着大师傅的公众号做题的week1 来源以及说明 (文章主要是了解怎样使用长弓三皮大师傅的随波逐流工具,wp以及附件来自大师傅长弓三皮) (这周主要是做笔记的软件老是出现问题,有一些笔记有点乱,后面慢慢改进) 软件及题目下载 http://www.1o1o.xyz/bo_softdown.html CTF题目wr…