CF1079div2 https://codeforces.com/contest/2224/problem/AA贪心因为算是a_ia_ia_i1,所以就是从右侧开始每一个求可以得到的最大值最后看有多少个大于0就是最终的结果。也就是但是注意不要忘记加上最后一个数的结果#includebits/stdc.husingnamespacestd;constintN2e55;#definelllonglongll t;ll n;ll a[N];intmain(){ios::sync_with_stdio(0);cin.tie(0);cint;while(t--){cinn;for(inti1;in;i){cina[i];}intcnt0;for(intin-1;i1;i--){a[i]max(a[i]a[i1],a[i]);if(a[i]0)cnt;}if(a[n]0)cnt;coutcnt\n;}return0;}B数学贪心首先分析要求mex与max的求和的最大值。分析可知max求和要最大时那么最好就是把最大值放在第一个即可对于mex求和最大那么就是尽量从0开始排列连续的数mex的值应该时从0开始逐渐增长的。所以可以发现这里max增大对最终结果的影响最大只需要最大值放在第一个位置后面所有的Max就都是这个最大值了。对应的mex每次只能增加一个1。因此这里的序列取的是第一个数为最大值随后按照尽量从0开始排列例如对于0122234应该排列为4,0,1,2,3,2,2。注意相同的数前面应该放1个就可以。然后就是计算时的问题了max已经是固定的为a[n]最大值*n。只需要关注mex就可以。为了简化计算那么就最开按照把所有数从0开始排列求出最长连续的初始序列可以通过简单的数学计算求出当前的mex值—从1开始的等差数列和剩下的值。随后把最大值放到第一个位置—因为要求的序列相当于是初始序列最大值放到第一位后的结果。由于放到第一个位置导致其中的mex值出现变化那么需要减去这个变化多加的mex。这里分为两种情况1把数组最大值认为mx。如果这个mex值在初始序列的连续部分中例如初始序列为012321对应mex序列为1,2,3,444。变换后的mex序列012444也就是多加了一个mx大小为3。2如果mex不再最开始序列中例如初始序列为012353对应的mex值为123444那么多加的值也就是mex的最大值为4需要减去一个4对应代码也就是ans-min(need,mx);#includebits/stdc.husingnamespacestd;intconstN2e55;#definelllonglongll n;ll a[N];ll t;intmain(){ios::sync_with_stdio(0);cin.tie(0);cint;while(t--){cinn;for(inti1;in;i){cina[i];}sort(a1,an1);ll ans0;ll mxa[n];ll need0;for(inti1;in;i){if(a[i]need){need;}}if(need0){ansansneed*(1need)/2need*(n-need);}ans-min(need,mx);ansansmx*n;coutans\n;}return0;}C规律前缀和首先分析题目可以发现对于一个合法序列应该是任何一个 的左侧都有一个 对应并且在任何一个位置左侧 数量一定大于等于 的数量。因为左侧 多的序列只需在右侧加入 就可以把当前序列变为有效序列。但是如果左侧有多余的那么就无法通过添加变为有效序列。所以有思路了代码中就可以把 当作1当作-1这个序列是合法序列当且仅当 最后一个位置的前缀和为0。同时因为这里的有两个序列交换其实可以看做从两个括号中分别选择添加到两个已有序列后面目标就是把这两个序列最后前缀和为0。#includebits/stdc.husingnamespacestd;#definelllonglongintN2e55;intt;intmain(){ios::sync_with_stdio(0);cin.tie(0);cint;while(t--){intn;string a,b;intca0;intcb0;intf1;cinnab;for(inti0;in;i){if(a[i]b[i]){if(a[i](){ca1;cb1;}else{ca-1;cb-1;}}else{if(cacb){ca-1;cb1;}else{ca1;cb-1;}}if(ca0||cb0){f0;break;}}if(fca0cb0){coutYES\n;}else{coutNO\n;}}return0;}

相关新闻

最新新闻

问卷设计黄金三角模型与高级数据分析实战

问卷设计黄金三角模型与高级数据分析实战

1. 问卷设计基础与核心逻辑问卷作为数据收集的基础工具,其设计质量直接影响研究结果的可靠性。从业十年间我处理过超过300份不同领域的问卷,发现90%的问卷问题都出在基础设计环节。一个合格的问卷应该像精密仪器——每个问题都是经过校准的传感器&#x…

2026/7/22 8:47:20
Python游戏开发三剑客实战指南:从Arcade快速入门到项目发布

Python游戏开发三剑客实战指南:从Arcade快速入门到项目发布

1. 项目概述:为什么是“三剑客”?如果你对用Python做游戏开发感兴趣,可能已经听过Pygame、Pyglet和Arcade这三个名字。它们常被圈内人戏称为“Python游戏开发三剑客”。这可不是随便叫的,背后反映的是它们在生态位、上手难度和社区…

2026/7/22 8:47:20
AI赋能自媒体全流程:从选题到爆款,5步搭建你的专属AI工作流

AI赋能自媒体全流程:从选题到爆款,5步搭建你的专属AI工作流

更多请点击: https://kaifayun.com 第一章:AI赋能自媒体全流程:从选题到爆款,5步搭建你的专属AI工作流 AI已不再是内容创作者的“可选项”,而是突破流量瓶颈、实现可持续产出的核心引擎。本章聚焦真实可落地的工作流设…

2026/7/22 8:47:20
动画短片创作技术流程解析:从FIRST影展入围作品看制作要点

动画短片创作技术流程解析:从FIRST影展入围作品看制作要点

最近在关注国内青年电影创作时,发现第二十届FIRST青年电影展主竞赛单元入围了一部很有意思的动画短片《跌倒了要马上站起来》。作为技术博主,虽然这不是纯粹的技术话题,但动画短片的创作过程其实涉及很多有趣的技术要素,从故事板设…

2026/7/22 8:47:20
Godot引擎集成Spine骨骼动画:从方案选型到性能优化的完整指南

Godot引擎集成Spine骨骼动画:从方案选型到性能优化的完整指南

1. 项目概述:为什么要在Godot里折腾Spine?如果你正在用Godot做2D游戏,尤其是那种角色动作丰富、需要流畅动画表现的项目,那你大概率已经受够了传统逐帧动画(Sprite Animation)的苦。调一帧改一帧&#xff0…

2026/7/22 8:47:20
为什么需要它

为什么需要它

在标准的 MCP 部署里,每个用户各自独立地授权某个 MCP 客户端访问某个 MCP 服务器。对消费级应用来说,这种"用户驱动"的模式很理想——个人掌握自己数据的访问权。 但放到企业环境里,这套模式会暴露出摩擦和安全缺口: 员…

2026/7/22 8:42:19

月新闻