AGC 028

2024-04-10 03:48
文章标签 agc 028

本文主要是介绍AGC 028,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C 一道和以前做过的一道codeforces类似的题,但不大一样。
题意: 每个点两个权值L ,R, 要求把这些数排成一个环,相邻两点ab间的(处于逆时针方向的数为a)的代价为 min(L[a], R[b]), 求能构造的最小的环。
n 100000

这个题自己做出来的。
首先考虑 如果说能分解成多个环的话,我们一定可以构造一个方案使得权值和为所有L,R
从小到大排序的前n个数的权值和。
那么我们考虑对于什么情况我们能够构造出这样的方案。
首先,如果说有一个点它的L和R均没有被选,那么一定能够构造。
由于有一个点没有选,并且总共选择了n个数,所以必有一个点L,R 均被选择。
我们从一个之选择了一边的点出发。 (如果没有这样的点,显然成立)
我们把集合分为4类
A类 选择了 L 没有选择 R
B类 选择了R 没有选择 L
C类 没有选
D类 选择了 L 和 R。
我们考虑 从一个点出发遍历排列的过程,当前点的左侧已经确定,现在确定右侧。 这个时候 我们考虑 可以如何转移
A -> D
A -> A
B -> C
B -> B
C -> D
C -> A
D ->C
D-> B
这样子 就可以看出构造了, 先把A 利用 A至A 消耗玩,再利用一个A至D的转换至D 再转到B 消耗玩 B 转到C 再转回A。
所以这种情况一定可行。
那么这里还可以看出,选的数都在同一侧时可以直接满足。
接下来证明上述两种条件是 充要条件。
首先 充分性已经证明,必要性也很好证,没有C 和 D 就无法连接A B 必将分为两个环。

所以做法就是 想办法调整为以上两种,我们只需要贪心的做就可以了。

D 给一个 有 2 * n 点被标出的圆, 编号为i的点表示从1号点顺时针方向第i个点。你要画出n对匹配,在这n对匹配之间连边, 可以通过走线段到达即为联通。 告诉你k对固定匹配,求对于剩下的 所有点任意匹配的所有方案的联通块数的和。
n 300

这个题 非常的巧妙,我想到了要枚举单个或者一类联通块单独统计贡献。但是却无从下手。
这个题目提供了一种 常用的方法。 dp[l][r] 表示 联通块的点标号最小为l,最大为r的联通块出现了多少次,这样子就可以用容斥来做了,具体容斥不再细讲。
容斥的状态 不是连续的一段的题第一次见。

这篇关于AGC 028的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889989

相关文章

面向对象_引用类型_内存分析_垃圾回收JAVA028-033

来源:http://www.bjsxt.com/ 1、S01E028_01面向对象概述 2、面向对象编程(OOP)的本质 ——以类的方式组织代码,以对象的方式组织(封装)数据 对象:是具体的事物 类:是对对象的抽象(抽象 抽出象的部分) 先有具体的对象,然后抽象各个对象之间象的部分,归纳出类,通过类再认识其它对象 3、引用类型 JAVA中除基本类型之外的变量类型都称之为引用类型

028、架构_高可用_主从原理

MySQL半同步复制概览 MySQL主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。主从复制的基本过程如下图所示: 主从复制的完成通过以下三个进程实现的 主库 binary log dump 线程:当从库连接主库时,主库会创建一个log dump 线程,用于发送bin-log的内容。在读取bin-log中的操作时,此

【408DS算法题】028基础-查找二叉树的最大值结点

Index 题目分析实现总结 题目 给定二叉树的根节点,找到二叉树中结点值最大的结点。 分析实现 对于查找二叉树中的最大值结点,在二叉树的遍历(DFS、层次遍历)的基础上进行修改可以轻松地达成这一目的。 本文中选用的是相对直观的后序遍历,具体实现如下: BTNode* findMax(BTNode *root){if(root==NULL) return NULL;

什么是AGC自动增益控制?

当对语音的响度进行调整的需要时,就要做语音自动增益(AGC)算法处理,语音聊天时都会用到这个算法。 最简单的硬性增益处理是对所有音频采样乘上一个增益因子,它也等同于在频域每个频率都同时乘上这个增益因子,但由于人的听觉对所有频率的感知不是线性的,是遵循等 响度曲线的,导致这样处理后,听起来感觉有的频率加强了,有的频率削弱了,导致语言失真的放大。 要让整个频段的频率听起来响度增益

八爪鱼现金流-028,个人网站访问数据统计分析,解决方案

个人网站访问数据统计分析,解决方案 调研 结论:使用百度统计 步骤 1.注册百度统计 2.获取安装代码 3.在项目中,页面代码添加如下片段 <script>var _hmt = _hmt || [];(function() {var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?x

关于音频EQ、DRC、等响度、3D环绕音、虚拟低音、变音、AEC、AGC、ANS等解释

1.EQ: EQ是均衡器的缩写。它的基本作用是通过对声音某一个或多个频段进行增益或衰减,达到调整音色的目的。当然,EQ还有一个显著的功能,降噪。EQ通常包括如下参数:F(requency),频率――这是用于设定你要进行调整的频率点用的参数;G(ain),增益――用于调整在你设定好的F值上进行增益或衰减的参数;Q(uantize)――用于设定你要进行增益或衰减的频段 “宽度”。 2.DRC(动态

[bigdata-028]apache nifi 从mysql导出数据到hbase

0.在hbase节点,启动thrift服务 hbase-daemon.sh start thrift 1. 在本机启动nif ./bin/nifi.sh start 2. 在浏览器输入http://localhost:8080/nifi,看到nifi的界面 3. 拖一个processor ExecuteSQL到界面     3.1 在processor上点击右键

[web-028]flask服务gunicorn部署压测的Connection reset by peer问题解决方式

1.问题现象 flask容器服务上线后,有一定概率出现类似如下报错如下问题 [error] socket: read error Connection reset by peer : Connection reset by peer   2.参考分析 https://www.cnblogs.com/liqipeng/p/8639818.html https://zhuanlan.zhi

【UE4从零开始 028】UMG的Timeline动画

在控件蓝图编辑器最下方,是动画编辑区域,我们可以为我们的UI制作一些简单的动画。 1、添加动画 在左侧 动画区域 点击 “+Animation” ,添加一个动画轨并命名,在游戏中我们可以直接通过名称来播放对应的动画。 2、添加控件 在右侧 时间轴 区域的左半部分,点击 “+Track”,选择我们需要添加动画的控件, 3、添加关键帧 右侧 时间轴 区域的右半部分,是我们动画的 时间

开发指南028-生成二维码

平台通过zxing来生成二维码<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</ar