首页 > 其他分享 >CSP2024-18

CSP2024-18

时间:2024-09-10 19:26:06浏览次数:1  
标签:10 le vert 18 CSP2024 插入 节点 题意

A

题意:给出两个 \(n \times m\) 的矩阵 \(A, B\),一次操作可以使 \(A\) 或 \(B\) 的一行/列加一。求使 \(A, B\) 相等的最小操作次数。

数据范围:\(n, m \le 10^5, n \times m \le 10^5\)。

令 \(X = A - B\),则题目转化为每次可以使一行/列加减一,求使得 \(X\) 全零的最小操作数。

设 \(r_i\) 表示第 \(i\) 行的操作增量,\(c_i\) 表示第 \(i\) 列的操作增量,显然对于一行而言要么加要么减,因此最后代价等于 \(\sum \vert r_i\vert + \vert c_i\vert\) 。

对于任意 \(i, j\),有 $r_i + c_j = -x_{i, j} $。

如果 \(r_1 = t\) 确定,剩下的 \(n + m - 1\) 个未知数都能确定,其中 \(c_i = -x_{1, i} - t,\ r_i = -x_{i, 1} - c_1\)。

证明,如果有解,则 \(r_1\) 可以是任何整数。

假设当前已经达到一个全零局面,强制使 \(r_1\) 的值加一,那么对所有的 \(c_i\) 减一,所有的 \(r_{i > 1}\) 加一,则可达到另一个全零局面。

即随便检验一个 \(t\) 就能判断无解。

现在目的是最小化 \(\sum \vert -x_{1, i} - t\vert + \sum \vert -x_{i, 1} + x_{1, 1} + t\vert\),即最小化 \(t\) 到 \(-x_{1, i}\) 和 \(x_{i, 1} - x_{1, 1}\) 的距离,典型的贪心。

submission

B

题意:给定长度为 \(n\) 的 01 序列 \(a, b\),定义 \(f(l, r) = [\text{区间内 } 1 \text{ 个数大于 } 0]\)。输出一个 01 序列 \(c\),其中 \(c_k = \prod_{i = k}^n [f(i - k + 1, i) = b_k]\)。

把 0 看作 -1 求出前缀和,那么有 \(f(l, r) = [s_r > s_{l - 1}]\)。

根据 \(s_i\) 从小到大,\(i\) 从大到小插入每个 \(i\),如果插入某个 \(b_i = 0\) 且存在 \(j < i\) 已经被插入则 \(k = i - j\) 不合法。

如果反着插入一个 \(b_{i} = 1\) 且存在 \(j < i\) 则 \(i - j\) 不合法。

bitset 维护每个插入 \(j\) 的 \(n - j\),右移 \(n - i\) 就是 \(i - j\),时间复杂度 \(O(\dfrac{n^2}{w})\)。submission

C

题意:给出以 \(1\) 为根的一棵树,每个点有三个参数 \(X_u, Y_u, Z_u\)。

在 \(u\)(不含)到根之间 \(up_u\) 个点中至少选 \(X_u\) 个,设其到 \(u\) 的距离和为 \(S_1\);

在 \(u\)(不含)的子树 \(down_u\) 个点中至少选 \(Y_u\) 个,设其距离和为 \(S_2\)。满足两部分加起来恰好选了 \(m\) 个点。

对于每个 \(1 \sim n\),输出 \(\vert S_1 - S_2 + Z_u\vert\) 的最小值。\(m \le n \le 5 \times 10^5, \vert Z_u\vert \le 10^9,\ \text{1s}\)。

设 \(S = S_1 - S_2\),要找和 \(-Z_u\) 最接近的。

\(S\) 的上下界容易求得:上界:上方尽可能靠上选 \(\min(up, m - Y_u)\) 个点,下方剩余的点也尽可能靠上;下界类似。

现在证明,\(v \in [\min, \max]\) 几乎全能取到。

从最小值的状态开始。如果存在一个被选节点的父亲没有被选且不是 \(u\),改选他的父亲,\(S \to S + 1\)。

如果不存在这样一个点,则 \(u\) 下方都尽可能靠上,上方也尽可能靠上。

同一深度的点是可以交换的,这样可以平衡到最终局面。

由于是从最小局面开始的,可能 \(u\) 下方有多余节点,\(u\) 上方有空余节点,可以把一个儿子替换父亲。

这样会使 \(S \to S + 2\),解决方案是使其他被选点改成其儿子。

这样的点几乎都能找到,除非「改之前下满或只有一个点」且「改之后上满或只有一个点」。

不会有改之前上满的情况,如果上满且未到达最大局面,可以调整下方同深度的点到达。

对于 4 个 corner-case 特判即可。

剩下部分只需要求出上下界,到根的链非常好处理,子树内选点则可以线段树合并子节点深度,支持查询前/后 \(k\) 大值的和。

submission

D

流。

标签:10,le,vert,18,CSP2024,插入,节点,题意
From: https://www.cnblogs.com/Luxinze/p/18407004

相关文章

  • 51nod 3180 矩阵连乘
    51nod3180矩阵连乘感觉区间dp还是要感性理解,但好像区间有套路的,这和石子合并很像,就根据题意模拟。这个写法的区间比较巧妙,左右同时增加,相当于滑动窗口,因为一开始花费一个是0,所以注意dp的初始化。#include<bits/stdc++.h>usingnamespacestd;intn;......
  • P4563 [JXOI2018] 守卫 题解
    P4563[JXOI2018]守卫题解不愧是九条可怜的\(\text{JXOI}\),只能说确实是道好题。假设当前我们在求\([l,r]\),我们不难发现\(r\)端点一定要放保镖,于是考虑\(r\)保镖的最大监视范围\([x,r]\)。由题意得到对于\([x,r]\)中的每个\(p_1,p_2,\cdots,p_k\),要求斜率\(t(p_i,......
  • 打气泵方案芯片CSU18P88
    如今新能源车大行其道,而车厂在考虑成本和设计的情况下,将备胎给取消了,那假如在车胎气压不足的状态下,没有备胎更换,那将如何解决困境。气压不住需要打气,那配备一台打气泵尤为重要,即使常年可能用不到几回,但这玩意相当于战略武器,没有和有了不用是两种状态。有了那将不会担心,没有就......
  • IEC103设备数据 转 IEC61850项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 配置VFBOX网关采集103设备数是 25 用IEC61850协议转发数据 46 网关使用多个逻辑设备和逻辑节点的方法 67 IEC103协议说明 88 案例总结 91 案例说明设置网关采集IEC103设备数据把采集的数据转成IEC61850协议转发给......
  • Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(Q18题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com.cn/ocp/082kaoshitiku/38219540954.html第18题:Q1......
  • 苹果宣布iOS 18正式版9月17日推送:支持27款iPhone升级
    9月10日消息,在苹果秋季发布会结束后,苹果宣布将于9月17日(下周二)推送iOS18正式版系统。苹果官网显示,iOS18正式版将兼容第二代iPhoneSE及之后的所有机型,加上刚发布的iPhone16系列,共兼容27款iPhone。iOS 18升级适配机型如下:iPhone16iPhone16PlusiPhone16ProiPhone1......
  • 计算机毕业设计必看必学!!11819 ssm球鞋资讯交流平台,原创定制程序, java、PHP、python
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,球鞋资讯交流平台当然也不能排除在外。球鞋资讯交流平台是以实际运用为开发背景,运用软件工程原理和开发方法,采用 SSM技术构建的一个管理平台。整个开发过程......
  • 如何集成Android平台GB28181设备接入模块?
    技术优势大牛直播SDK的Android平台GB28181设备接入模块在适用场景、音视频能力、定位与通信、数据管理、安全性与稳定性、配置与扩展性以及集成与维护等方面均表现出显著的优势。这些优势使得该模块在视频监控、巡检抢修、远程指挥等多个领域具有广泛的应用前景和重要的应用价值。......
  • GB28181规范中broadcast和talk模式实际场景时间差别在哪里?
    好多开发者对GB28181规范里面,broadcast和talk模式区分不清,今天借此机会,针对GB28181标准中的Broadcast(广播)和Talk(对讲)是两种不同的通信模式,它们在视频监控系统中扮演着不同的角色,做个基础的扫盲,二者具有以下区别:1.功能和用途Broadcast(广播): 功能:主要用于平台侧向设备侧发送单向的通......
  • 18 Python如何操作文件?
    本篇是Python系列教程第18篇,更多内容敬请访问我的Python合集1打开文件通常使用内置的open(文件路径,模式,encoding="utf-8")函数。文件路径:可以是相对路径或绝对路径。模式:(可选)决定了文件打开后如何处理文件。encoding:(可选)编码方式。常见的模式有:'r'(默认)......