Codeforces Round 892 (Div. 2)(VP)

A

       //b里放最小值,其他值放c。如果最大值=最小值,则无解。

void solve() {int n; cin >> n;vi a(n); liter(x, a) cin >> x; sort(all(a));if (a[0] == a[n - 1]){print(-1); return;}vi b, c;for (int i = 0; i < sz(a); ++i){if (a[i] == a[0]){b.pb(a[i]);}else{c.pb(a[i]);}}print(sz(b), sz(c));print(b);print(c);
}

B

//答案由每个数组中第二小值构成,对于每个数组,记录对答案的贡献值,并找出贡献最小的数组。贡献最小的数组用来存储其他数组的最小值。然后再将总的贡献值微改即可。

void solve() {int n; cin >> n;vvi a(n);ll sum = 0;
//min_val存储所有数组中第二小值里面最小的值。int min_val = 2e9, min_val_index = -1;int MM = 2e9;for (int i = 0; i < n; ++i){int m; cin >> m;a[i].assign(m + 2, 0);int minn = 2e9, secmin = 2e9;for (int j = 2; j <= m + 1; ++j){cin >> a[i][j];if (a[i][j] < minn){secmin = minn;minn = a[i][j];}else if (a[i][j] < secmin){secmin = a[i][j];}}a[i][0] = minn;
//如果当前数组长度为1,那么第二小值 == 最小值a[i][1] = m > 1? secmin : a[i][0];if (min_val > a[i][1]){min_val = a[i][1];min_val_index = i;}MM = min(MM, a[i][0]);sum += a[i][1];}
//以下操作等效于删除最小的第二小值,并把其他数组中的最小值移动到这个数组中,并加上其他数组所有值移动过来以后这个数组中的最小值。if (n > 1){sum = sum - a[min_val_index][1] + MM;}else sum = a[0][0];print(sum);
}

C

思路:要让n个数的*相应的排列的和在删除一个最大的值后的值最大,有这样的思路:

如果让i*j的和最大(1<=I, j <= n),那么就让每个i=j。然而题目要求删除一个最大的I * j,那么求解需要将要删除的I * j尽可能的变小,未删除的i*j尽可能变大,在这种大前提下找到一个最优解。假设要删除的数是n,那么让n*i尽可能的小,就要bf尝试各种下标i。同时,要保证其他的数尽可能的大,但是不能大过n*I,就将i后面的数从n-1逆序排列,升序i*逆序n – 1开始的排列,可能会满足最大的数尽可能小,而其他的数每个数都得到一定程度的变大。

测试:输入10

1 2 3 4 5 6 10 9 8 7

1 4 9 16 25 36 49 64 81 100 升序排列I = j各个位置的和,最后需要删除100,后4位是49+75+81=194

1 4 9 16 25 36 70 72 72 70      将n 放在I = 7的位置,最后需要删除72,后4位是70+72+70=212.

可以发现,对于这样的一个规则来说,可以找到一个下标起点,用来存放从n开始逆序排列的一个序列,会让这个序列*对应下标的值尽可能的接近,比如上面的70, 72, 72, 70,以至于删除一个最大的值后,其余的值加起来的和的贡献>升序排列删除最大值后的和的贡献。

 
void solve() {int n; cin >> n;ll sum = 0;auto cal = [&n](vi& a){ll result = 0;int in = 0;for (int i = 1; i <= n; ++i){result += 1ll * a[i] * i;if (a[in] * in < a[i] * i) in = i;}result -= a[in] * in;return result;};ll result = 0;vi a(n + 1);for (int i = 1; i <= n; ++i){a[i] = n;for (int j = 1; j < i; ++j) a[j] = j;for (int j = i + 1; j <= n; ++j) a[j] = a[j - 1] - 1;result = max(result, cal(a));}print(result);
}

总结:关键点在于尽快找到:将最大最尽可能的变小,其他的值尽可能变大的点->推理出从某个下标让n开始降序排列,然后暴力求解。

D

放个TLE代码

struct pts{int l, r, a, b;void read() {cin >> l >> r >> a >> b;}bl operator <(cst pts& x){return b < x.b;}
};void solve() {int n; cin >> n;vector<pts> a (n);liter(x, a) x.read();sort(all(a));int q; cin >> q;while (q--){int pos; cin >> pos;liter(x, a){if (pos >= x.l && pos <= x.r) pos = max(pos, x.b);}print(pos, ' ');}newline;
}

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

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

相关文章

小米基于 Flink 的实时计算资源治理实践

摘要&#xff1a;本文整理自小米高级软件工程师张蛟&#xff0c;在 Flink Forward Asia 2022 生产实践专场的分享。本篇内容主要分为四个部分&#xff1a; 发展现状与规模框架层治理实践平台层治理实践未来规划与展望 点击查看原文视频 & 演讲PPT 一、发展现状与规模 如上图…

【03】基础知识:typescript中的函数

一、typescript 中定义函数的方法 函数声明法 function test1(): string {return 返回类型为string }function test2(): void {console.log(没有返回值的方法) }函数表达式/匿名函数 const test3 function(): number {return 1 }二、typescript 中 函数参数写法 1、typesc…

helm安装harbor + nerdctl 制作push 镜像

参考 文章&#xff1a;Helm部署Harbor_helm harbor_风向决定发型丶的博客-CSDN博客 安装好后使用 nerd containerd对接harbor_containerd 容器 insecure-registries 配置_柠是柠檬的檬的博客-CSDN博客 推送镜像 Containerd 对接私有镜像仓库 Harbor - 知乎 接下来我们来…

麒麟系统相关

创建虚拟机 镜像下载地址 选择合适的镜像&#xff0c;进入引导后注意不要选择默认的第一条&#xff0c;选择第二条进入安装程序。 root密码修改 使用命令 sudo passwd root 开启ssh 配置好网络后发现能ping通&#xff0c;但无法ssh连接&#xff0c;ps -ef | grep ssh 得…

01 qt快速入门

一 qt介绍 1.基本概念 1991年由Qt Company(奇趣)开发的跨平台C++图形用户界面应用程序开发框架,GUI程序和非GUI程序。优点:一套源码在不同的平台通过不同的编译器进行编译,就可以运行到该平台上目标机。面向对象的封装机制来对其接口封装。 GUI —图形用户界面(Graphic…

软件测试面试题【2023整理版(含答案)】

01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分方法 边界值分析方法 错误推测方法 因果图方法 判定表驱动分析方法 正交实验设…

Vue组件之间的传值汇总

组件之间的传值 1、父传子 props 2、父传子 slot 3、父传子 不建议用 attrs 4、 子传父 ref 5、子传父 emit 6、povide/inject只能在setup的时候用。 7、利用vuex和pinia去实现数据的交互 1、实现代码App.vue <script setup>import TestProps from ./components/T…

stable-diffusion 模型效果+prompt

摘自个人印象笔记&#xff0c;图不完整可查看原笔记&#xff1a;https://app.yinxiang.com/fx/55cda0c6-2af5-4d66-bd86-85da79c5574ePrompt运用规则及技巧 &#xff1a; 1. https://publicprompts.art/&#xff08;最适用于OpenArt 线上模型 https://openart.ai/&#xff09;…

【Vue-Router】别名

后台返回来的路径名不合理&#xff0c;但多个项目在使用中了&#xff0c;不方便改时可以使用别名。可以有多个或一个。 First.vue <template><h1>First Seciton</h1> </template>Second.vue&#xff0c;Third.vue代码同理 UserSettings.vue <tem…

R语言生存分析(机器学习)(2)——Enet(弹性网络)

弹性网络&#xff08;Elastic Net&#xff09;:是一种用于回归分析的统计方法&#xff0c;它是岭回归&#xff08;Ridge Regression&#xff09;和lasso回归&#xff08;Lasso Regression&#xff09;的结合&#xff0c;旨在克服它们各自的一些限制。弹性网络能够同时考虑L1正则…

mysql 索引 区分字符大小写

mysql 建立索引&#xff0c;特别是unique索引&#xff0c;是跟字符集、字符排序规则有关的。 对于utf8mb4_0900_ai_ci来说&#xff0c;0900代表Unicode 9.0的规范&#xff0c;ai表示accent insensitivity&#xff0c;也就是“不区分音调”&#xff0c;而ci表示case insensitiv…

wsl2安装docker引擎(Install Docker Engine on Debian)

安装 1.卸载旧版本 在安装 Docker 引擎之前&#xff0c;您必须首先确保卸载任何冲突的软件包。 发行版维护者在他们的存储库。必须先卸载这些软件包&#xff0c;然后才能安装 Docker 引擎的正式版本。 要卸载的非官方软件包是&#xff1a; docker.iodocker-composedocker-…

问道管理:旅游酒店板块逆市拉升,桂林旅游、华天酒店涨停

游览酒店板块14日盘中逆市拉升&#xff0c;到发稿&#xff0c;桂林游览、华天酒店涨停&#xff0c;张家界涨超8%&#xff0c;君亭酒店涨超5%&#xff0c;众信游览、云南游览涨逾4%。 音讯面上&#xff0c;8月10日&#xff0c;文旅部办公厅发布康复出境团队游览第三批名单&#…

Profibus-DP转modbus RTU网关modbus rtu和tcp的区别

捷米JM-DPM-RTU网关在Profibus总线侧实现主站功能&#xff0c;在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备&#xff08;如&#xff1a;EH流量计、倍福编码器等&#xff09;接入到Modbus网络中&#xff1b;通过增加DP/PA耦合器&#xff0c;也可将Profibus PA从站接入…

【计算机网络】Udp详解

前言 上几文章我们讲解了应用层协议Http和Https&#xff0c;要知道应用层协议有很多&#xff0c;这些都是程序员自己定制的&#xff0c;而真正要传输的时候&#xff0c;是要在操作系统的传输层进行的&#xff0c;今天我们就来学习一下传输层协议Udp的 标识一个通信 要进行跨…

MySQL 深度分页优化

MySQL 深度分页优化 理解总结&#xff1a; 分页使用limit &#xff0c;前提是要排序好的数据&#xff0c;这时候&#xff0c;就推荐使用带索引的字段排序&#xff0c;因为索引是天然有序的&#xff0c;不需要像是无序的字段一样&#xff0c;全表扫描&#xff0c;如果太大的话…

“深入探究JVM:解密Java虚拟机的工作原理“

标题&#xff1a;深入探究JVM&#xff1a;解密Java虚拟机的工作原理 摘要&#xff1a;本文将深入探究Java虚拟机&#xff08;JVM&#xff09;的工作原理&#xff0c;包括JVM的组成部分、类加载过程、运行时数据区域、垃圾回收机制以及即时编译器等。通过解密JVM的工作原理&…

js加密解决方案1:在AutoJS中实现Promise的必要性、好处与缺点

AutoJS是一款强大的Android自动化工具&#xff0c;可以帮助用户编写脚本来实现手机自动化操作。然而&#xff0c;它的加密代码只支持ES5语法&#xff0c;不支持许多ES6的新特性&#xff0c;如Promise等功能。如果想在ES5语法环境中使用ES6的一些新特性&#xff0c;就需要自己实…

汽车上的电源模式详解

① 一般根据钥匙孔开关的位置来确定整车用电类别&#xff0c;汽车上电源可以分为常电&#xff0c;IG电&#xff0c;ACC电 1&#xff09;常电。常电表示蓄电池和发电机输出直接供电&#xff0c;即使点火开关在OFF档时&#xff0c;也有电量供应。一般来讲模块的记忆电源及需要在车…

Python系统学习1-7-字典

一、字典 1、概念及内存图 列表&#xff1a;由一系列变量组成的可变序列容器字典&#xff1a;由一系列键值对组成的可变散列容器字典优势&#xff1a;利用&#xff08;内存&#xff09;空间&#xff0c;换取&#xff08;CPU查找&#xff09;时间 键key 必须唯一且为不…