首页 > 其他分享 >20230406ARC专场训练1

20230406ARC专场训练1

时间:2023-04-07 09:45:53浏览次数:38  
标签:度数 专场 个点 训练 sum 合法 20230406ARC 割掉 las

[ARC125D] Unique Subsequence

可以用一个树状数组来维护当前有多少个合法子序列以 \(i\) 结尾,记作 \(f_i\) 。那么每次有 \(f_i = \sum_{j=las_{i}}^i f_j\) . \(las_i\) 表示 \(a_i\) 上一次出现的位置 . 同时要把 \(f_{las_i}\) 设为 \(0\) .

[ARC125E] Snack

可以很简单的建出来一个网络流模型,然后考虑求最小割。枚举左边割了 \(x\) 个点,显然优先割掉 \(a_i\) 较小的点。然后考虑右边的贡献,右边每个点要么割掉和汇点相连的边 \(c_i\), 要么割掉和左部点相连的边 \((n - x)b_i\) , 所以每个右部点的贡献为 \(min(c_i, (n - x)b_i)\) , 把贡献加起来就是一个 \(n\) 段的一次分段函数。枚举 \(x\) 就行。

[ARC125F] Tree Degree Subset Sum

设每个点的度数为 \(d_x\) , 首先给每个 \(d_x\) 减 \(1\) 不影响答案。

设 \(L_x\) 表示最少用多少点可以使度数和为 \(x\) , \(R_x\) 表示最多用多少点可以使度数和为 \(x\) , 那么发现合法的方案是区间 \([L_x, R_x]\) , 考虑证明。设有 \(z\) 个点 \(d_x = 0\) , 有性质对于任意合法的 \((x, y)\) 即 \(x\) 个点,度数和为 \(y\) 有 \(y - x \in [-z, z - 2]\) ,那么 \(L_x - x \in [-z,z-2], R_x - x \in [-z, z-2]\) , 就有 \(R_x - L_x \leq 2z - 2\) , \(L_x\) 通过加上这 \(z\) 个点使 \([L_x, L_x + z]\) 合法, \(R_x\) 通过去掉这 \(z\) 个点使 \([R_x -z, R_x]\) 合法。所以 \([L_x, R_x]\) 合法。

关于证明 \(y - x \in [-z, z - 2]\) , 当只取 \(d_x = 0\) 的点时 \(y - x = -z\) 是最小值,当只取 \(d_x > 0\) 时 \(y - x = \sum_x d_x - \sum_x [d_x \geq 1] = n - 2 - (n - z) = z - 2\)

然后跑多重背包把 \(L_x\) 和 \(R_x\) 求出来就行,一共只有 \(O(\sqrt{n})\) 种不同的度数。复杂度 \(O(n\sqrt{n})\)

标签:度数,专场,个点,训练,sum,合法,20230406ARC,割掉,las
From: https://www.cnblogs.com/i209M/p/17294420.html

相关文章

  • 反汇编训练1
    以下是一个C++函数,以及该函数的汇编代码:```cppintadd(inta,intb){returna+b;}//汇编代码_Z3addii:push%rbpmov%rsp,%rbpmov%edi,-0x4(%rbp)mov%esi,-0x8(%rbp)mov-0x8(%rbp),%eaxadd-0x4(%rbp),%eaxpop%rb......
  • 反汇编训练2
    以下是一个汇编程序,请转换为等效的C++代码:```assemblysection.textglobal_start_start:moveax,2;操作码:0xB8,参数:0x02movebx,3;操作码:0xBB,参数:0x03addeax,ebx;操作码:0x01,参数:0xC3movecx,eax......
  • Leetcode(剑指offer专项训练)——DP专项(7)
    矩阵中的距离题目:给定一个由0和1组成的矩阵mat ,请输出一个大小相同的矩阵,其中每一个格子是mat中对应位置元素到最近的0的距离。两个相邻元素间的距离为1。链接TLS思路题解暴力DFS的结果是超时......
  • yolov5训练自己的数据
    前一篇文章写了如何的安装yolo5。基于上面的一章,记录下用yolo5来训练自己的数据。split_train_val.pyimportosimportrandomtrainval_percent=0.1train_percent=0.9xmlfilepath='/Users/Tony/IdeaProjects/yolov5/data/mydata/xml'txtsavepath='/Users/Tony/IdeaP......
  • 一维CNN,二维CNN以及三维CNN的训练模型matlab仿真
    1.算法描述卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeuralNetworks),是深度学习(deeplearning)的代表算法之一。卷积神经网络具有表征学习(representationlearning)能力,能够按其阶层结构对输入信息进行平移不变......
  • 使用 diffusers 训练你自己的 ControlNet
    简介ControlNet这个神经网络模型使得用户可以通过施加额外条件,细粒度地控制扩散模型的生成过程。这一技术最初由AddingConditionalControltoText-to-ImageDiffusionModels这篇论文提出,并很快地风靡了扩散模型的开源社区。作者开源了8个不同的模型,使得用户可以用8种......
  • 算法训练——剑指offer(动态规划算法)摘要
    摘要一、动态规划原理与解题方法二、动态规划算法练习题目2.1跳台阶问题package动态规划算法;importorg.junit.Test;/***@ClassnameJZ69跳台阶问题*@DescriptionTODO*@Date2022/2/1118:54*@Createdbyxjl*/publicclassJZ69跳台阶问题{/**......
  • 基于mnist手写数字数据库的深度学习网络训练和数字识别matlab仿真
    1.算法描述        MNIST数据集(MixedNationalInstituteofStandardsandTechnologydatabase)是美国国家标准与技术研究院收集整理的大型手写数字数据库,该数据集包含60000 个于训练的样本和10000 个于测试的样本,图像是固定⼤小(28x28像素),每个像素的值为......
  • 【ACM算法竞赛日常训练】DAY10题解与分析【月月给华华出题】【华华给月月出题】| 筛法
    DAY10共2题:月月给华华出题华华给月月出题难度较大。......
  • 算法训练——剑指offer(模拟算法)
    摘要一、模拟算法原理与解题方法二、模拟算法练习题目2.1顺时针打印矩阵顺时针打印矩阵_牛客题霸_牛客网解题思路:递归的思想和非递归的思想相差不大,递归是首先打印最外层的元素,将内层的矩阵作为一个全新的矩阵进行递归。对于每层,从左上方开始以顺时针的顺序遍历所有元素。假设当......