C.L. 大一下周常训练报告

news/2025/3/10 22:37:03/文章来源:https://www.cnblogs.com/cjtcalc/p/18763884

大一下的训练计划

「日常」CF *2400 ~ *2700 泛做,AT *2300 ~ *2700 泛做,交互题泛做。

「日常」参加 CF / AT / 牛客 ... 线上赛。

「周常」vp 邀请赛 / 省赛 / CCPC(备战可能到来的 CCPC Final)。

「长期」重构 OI+ACM 笔记。

「长期」学习 C++ 进阶语法,学习 python。

第三周(2025.03.10 ~ 2025.03.16)

星期一

CF 1253F(*2500

若所有节点均为充电桩,则从 \(a\) 走到 \(b\) 的答案,即为 \(a, b\) 之间所有简单路径上最大边权的最小值。此时只需求出最小生成树,使用树上倍增求出 \(a, b\) 之间的最大边权即可。

\(\mathrm{dist}_u\) 表示 \(u\) 距离最近充电桩的距离,可以用多源点 dijkstra+heap 求出。

但正常情况下可能要经过非充电桩的节点。考虑一个贪心策略:每次走到一个节点的时候,都去距离它最近的一个充电桩补满电量再回来

(因为走回充电桩至少需要花费 \(\mathrm{dist}_u\)。若此时电量小于 \(\mathrm{dist}_u\) 则走不回去,若此时电量大于等于 \(\mathrm{dist}_u\),则可以先花费 \(\mathrm{dist}_u\) 的电量走回去补满电量再回来,可以认为在 \(u\) 点时的电量为 \(c - \mathrm{dist}_u\)

由于起点与终点均为充电桩,则若要经过原图上的一条边 \((x, y, z)\),电池容量至少为 \(\mathrm{dist}_x + z + \mathrm{dist}_y\)(因为至少要从充电桩走到其中一个端点,经过这条边,再从另外一个端点走到充电桩)。

故对于每条边 \((x, y, z)\),使用 \(\mathrm{dist}_x + z + \mathrm{dist}_y\) 代替它的边权。此时从 \(a\) 走到 \(b\) 的答案,即为 \(a, b\) 之间所有简单路径上最大边权的最小值。

CF 1188C(*2500

考虑先求出美丽值的上界,显然为 \(\frac{\max a_i}{k - 1}\)

考虑对每个美丽值 \(v\),计算有多少长度为 \(k\) 的子序列的美丽值为 \(v\),记作 \(\mathrm{Count}(v)\)。但发现直接做不太好做,于是我们考虑计算有多少个长度为 \(k\) 的子序列的美丽值 \(\geq v\),记作 \(\mathrm{Count}(\geq v)\)。最后再使用 \(\mathrm{Count}(\geq v) - \mathrm{Count}(\geq v+1)\) 得到 \(\mathrm{Count}(v)\)

(直接使用 \(\sum v \cdot \mathrm{Count}(v) = \sum_{v = 1}\mathrm{Count}(\geq v)\) 亦可)

将序列 \(a\) 从小到大排序。对于每个 \(v\),记 \(f(i, j)\) 表示考虑到了 \(a_1, \cdots, a_i\),子序列的最后一个数为 \(a_i\),包含 \(j\) 个数,且美丽值 \(\geq v\) 的子序列个数。显然有

\[f(i, j) = \sum\limits_{a_i - a_{p} \geq v} f(p, j - 1) \]

该式子显然可以用前缀和 + 双指针优化。

时间复杂度 \(\mathcal{O}\left(nk \cdot \frac{\max a_i}{k}\right) = \mathcal{O}(n\max a_i)\)。1e8 过 5s 还是绰绰有余的。

CF 813F(*2500

评分虚高 ...

离线加边、删边,很容易想到线段树分治。此题刚好可以回顾一下,使用扩展域并查集实现二分图判定

扩展域并查集中的节点 \(x\) 表示 "节点 \(x\) 在二分图左部" 这一事件,节点 \(x + n\) 表示 "节点 \(x\) 在二分图右部" 这一事件。若并查集中的两个节点联通,则表示两个节点代表的事件,要么同时发生要么同时不发生。

对于原图中的每一条边 \((x, y)\),在并查集中连接 \((x, y + n)\) 以及 \((x + n, y)\)

当存在一个节点 \(x\),满足 \(x\)\(x + n\) 联通时,显然 \(x\) 不可能即在左部又在右部,故此时这张图不是二分图。

另一种理解方式:众所周知,一张图为二分图当且仅当该图存在奇环。

在扩展域并查集上,若一条路径长度为奇数,则起点与终点在异侧。故一张图存在奇环,当且仅当存在一个节点 \(x\),满足 \(x\)\(x + n\) 联通。

注意,可撤销并查集使用的是按秩合并,按秩合并不能与路径压缩混用

CF 1209E2(*2500

首先,真正有效的列,一定在列最大值前 \(n\) 大的那些列之中。容易使用反证法证明。

考虑一列一列处理,在每一列中钦定有哪些位置为对应行的最大值。由于此题要求的是最大值之和的最大值,故在统计答案的过程中,我们不必保证每次钦定的最大值一定是真实的最大值。因为这样肯定不优

\(f(j, S)\) 表示考虑到了前 \(j\) 列,其中每行的最大值确定状态为一个二进制数 \(S\)(若 \(S\) 的第 \(i\) 位为 \(1\),则表示第 \(i\) 行的最大值已经确定),则有

\[f(j, S) = \max\limits_{T \subseteq S} \{ f(j - 1, T) + \mathrm{value}(j, S \setminus T) \} \]

其中 \(\mathrm{value}(j, S)\) 表示第 \(j\) 列中,所有行号属于 \(S\) 的位置,在 \(0 \sim n - 1\) 次循环移位下的元素之和的最大值。

时间复杂度 \(\mathcal{O}(n3^n + n^22^n)\)

CF 1527E(*2500

评分虚高 ...

显然可以写一个很暴力的 dp。设 \(f(i, j)\) 表示考虑到了前 \(i\) 项,划分了 \(j\) 段时的最小代价,则有

\[f(i, j) = \max\limits_{p < i} \{ f(p, j - 1) + \mathrm{cost}(p + 1, i) \} \]

直接做的时间复杂度 \(\mathcal{O}(n^2k)\) 的。

盲猜该 dp 具有决策单调性。此类代价 \(\mathrm{cost}(l, r)\) 难以计算的决策单调性优化问题,则可以考虑分治。使用类似莫队的方法处理 \(\mathrm{cost}(l, r)\)

时间复杂度 \(\mathcal{O}(nk \log n)\)

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

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

相关文章

用集合说明可以用与或非来表示异或

用集合说明可以用与或非来表示异或 异或(XOR,记作 A⊕BA⊕B)可以通过与(AND,记作 ∧∧)、或(OR,记作 ∨∨)、非(NOT,记作 )的组合来表示。以下是两种常见的表达式形式: 1. 直接组合形式 异或的逻辑可以描述为:当且仅当 A 和 B不同时为真时输出真。 即:A B A⊕B0…

2025.3.10

1,访问PHP文件路径不能出现中文,会显示0行错误 2,<br>换行,<hr>分割线 3,“ ”解析并输出,‘ ’直接输出 4,字符串拼接用. 5,输出 echo "" print_r() 专门输出数组的格式 varr_dump() 数据类型和值6,二维数组

4.9.1 分布偏移的类型

下面介绍一下坐标系中协变量偏移的情况如上图,绿色的曲线是正确的曲线。我们训练的数据是左图,测试的数据是右图。按照左图的数据学习是学不出来绿色曲线的,就会导致右图的数据的准确率很低,这就是协变量偏移

贴现率8%和12%分别计算每个项目的净现值

使用贴现率8%和12%分别计算每个项目的净现值(NPV) JAVA实现 净现值求解实现代码(JAVA):package com.zuoye.Three;import java.math.BigDecimal;public class TieXianLu { public static void main(String[] args) throws Exception { //数据集合 int[] ma…

Netty基础—1.网络编程基础一

大纲 1.什么是OSI开放系统互连 2.OSI七层模型各层的作用 3.TCP/IP协议的简介 4.TCP和UDP的简介 5.TCP连接的三次握手 6.TCP连接的四次挥手 7.TCP/IP中的数据包 8.TCP通过确认应答与序列号提高可靠性 9.HTTP请求的传输过程 10.HTTP协议报文结构 11.Socket、短连接、长连接、网络…

硅基流动+Chatbox实现deepseek R1使用自由

解锁 DeepSeek R1 全能力:高性价比AI对话全流程指南🌟 用最低成本体验顶尖开源模型,对话成本低至 2 分钱/次!一、注册 SiliconFlow 领取千万Tokens▶️ 操作步骤:点击专属链接注册:https://cloud.siliconflow.cn/i/KoKtjLvD 手机验证码登录 → 立即获得 2000万 Tokens(…

3.1.1 线性回归的基本元素

看看批量梯度下降和小批量梯度下降的图形,与我们的理解是相符的注意到小批量梯度下降不是严格单减的,只是趋势是单调减少的(图中的纵轴Cost指的是对于整个训练数据的损失) 每次的批量的大小显然是一个超参数。当批量大小为\(1\)的时候叫做随机梯度下降,当批量大小为\(m\)的…

报错

SSM整合报org.springframework.beans.factory.NoSuchBeanDefinitionException 显示没有找到serviceImpl对应的bean,但@autowired显示正常原因:web.xml文件中没有配置监听器ContextLoaderListener,导致web服务器启动后,没有读取Spring的配置文件,使得bean没有注入到Spring的…

ssh登录ubuntu后终端不显示颜色

1、在 ~/.bashrc 文件找到 “#force_color_prompt=yes”,去掉前面的注释; 2、在 ~/.bash_profile文件种添加以下脚本,并执行 “source ~/.bash_profile”# if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$…

Echarts圆环图实现进度条末尾带一个方块的效果

效果这样 直接上代码吧 <template><div ref="chartDom" style="width: 260px; height: 460px; background-color: white"></div> </template><script setup lang="ts"> // import { useI18n } from vue-i18n // i…

CF2068E. Porto Vs. Benfica

Porto Vs. Benfica 翻译自官方题解。我们首先做一些定义,这将帮助我们: 定义。 用 \(f(v)\) 表示支持者俱乐部从顶点 \(v\) 出发,想要到达顶点 \(n\) 所需的最少道路数,且警察仍然可以封锁恰好一条道路。 因此,\(f(1)\) 是问题的答案,且 \(f(n) = 0\)。 定义。 用 \(g(v,…

使用 Power Automate发送图文并茂的Teams消息

前言最近,有朋友使用Automate发送Teams消息,发现如果图片在SharePoint中,发送的时候因为认证的问题图片没办法显示。其实,我们可以将图片转换成Base64流进行引用,就能正常的显示了。正文1.我们新建一个Automate Flow,如下图:2.然后,添加Teams操作,如下图:3.消息我们需…