Codeforces Round 916 (Div. 3)(A~E2)

A
统计一下每个字母的出现次数然后输出即可

#include <bits/stdc++.h> 
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(register int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f using namespace std;
const int N = 1e5+10;
int t; void solve()
{int n; string str;cin >> n >> str;map<char,int>cnt;rep(i,0,str.size()-1){cnt[str[i]]++;}int ans = 0;for(auto x:cnt){int num=x.first-'A'+1;if(x.second>=num)	ans++;}cout << ans << endl;
}int main()
{IOS	
//  	freopen("1.in", "r", stdin);cin >> t;while(t --)	solve();return 0;
}

B
前k个数是后n-k个数的顺序,后面的数逆序即可

#include <bits/stdc++.h> 
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(register int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f using namespace std;
const int N = 1e5+10;
int t,a[60]; void solve()
{int n, k, cnt=1; cin >> n >> k;rep(i,1,n)	a[i]=0;rep(i,n-k,n)	a[cnt++] = i;fep(i,n-k-1,1)	a[cnt++] = i;rep(i,1,n)	cout << a[i] << ' ';cout << endl;
}int main()
{IOS	
//  	freopen("1.in", "r", stdin);cin >> t;while(t --)	solve();return 0;
}

C

#include <bits/stdc++.h> 
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(register int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f using namespace std;
const int N = 2e5+10;
int t; 
int a[N], b[N], s[N];
void solve()
{int n, k;	cin >> n >> k;rep(i,1,n)	s[i]=0;rep(i,1,n)	cin >> a[i], s[i] = s[i-1]+a[i];rep(i,1,n)	cin >> b[i];int maxx=-INF, ans=-INF;rep(i,1,min(k,n)){maxx=max(maxx, b[i]); int cur=s[i]; cur+=max(0,k-i)*maxx;ans=max(cur,ans);		}cout << ans << endl;
}int main()
{IOS	
//  	freopen("1.in", "r", stdin);cin >> t;while(t --)	solve();return 0;
}

D
考虑维护每一个数组前缀和后缀的最大值
然后考虑3种情况即那个数在中间
a、b、c均可以在中间,
a在中间有b a c和c a b两种情况
b在中间有a b c和c b a两种情况
c在中间有a c b和b a c两种情况
这里只说a在中间的情况
我们枚举a的位置 i ∈ [ 2 , n − 1 ] i\in[2,n-1] i[2,n1]
那么对于b a c,b在a左边所以就是b应选择的是 [ 1 , i − 1 ] [1,i-1] [1,i1]中的最大值,也就是lb[i-1]
c在右边应选择的就是rc[i+1]
这种情况的最大值就是 a [ i ] + l b [ i − 1 ] + r c [ i + 1 ] a[i]+lb[i-1]+rc[i+1] a[i]+lb[i1]+rc[i+1]
然后对其他几种情况做同样的处理即可

#include <bits/stdc++.h> 
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(register int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f using namespace std;
const int N = 2e5+10;
int t, a[N], b[N], c[N]; 
int la[N], ra[N], lb[N], rb[N], lc[N], rc[N];void solve()
{int n; cin >> n;rep(i,0,n+1)	la[i]=0,ra[i]=0,lb[i]=0,rb[i]=0,lc[i]=0,rc[i]=0;rep(i,1,n)	cin >> a[i];rep(i,1,n)	cin >> b[i];rep(i,1,n)	cin >> c[i];rep(i,1,n)	la[i] = max(la[i-1], a[i]);fep(i,n,1)	ra[i] = max(ra[i+1], a[i]);rep(i,1,n)	lb[i] = max(lb[i-1], b[i]);fep(i,n,1)	rb[i] = max(rb[i+1], b[i]);rep(i,1,n)	lc[i] = max(lc[i-1], c[i]);fep(i,n,1)	rc[i] = max(rc[i+1], c[i]);ll ans=0;rep(i,2,n-1){ll maxx=0;maxx = max(maxx, (ll)a[i] + lb[i-1] + rc[i+1]);maxx = max(maxx, (ll)a[i] + lc[i-1] + rb[i+1]);maxx = max(maxx, (ll)b[i] + la[i-1] + rc[i+1]);maxx = max(maxx, (ll)b[i] + lc[i-1] + ra[i+1]);maxx = max(maxx, (ll)c[i] + la[i-1] + rb[i+1]);maxx = max(maxx, (ll)c[i] + lb[i-1] + ra[i+1]);ans = max(ans, maxx);}cout << ans << endl;
}int main()
{IOS	
//  	freopen("1.in", "r", stdin);cin >> t;while(t --)	solve();return 0;
}

E1、E2
这道题目从数学的角度推公式比较好理解
考虑A、B选择的策略
考虑两列
a:x,y
b:u,v
a选择前面的得到的结果是x-1-(v-1)=x-v
a选择后面的得到的结果是y-1-(u-1)=y-u
哪个更优选择哪个
( x − v ) > ( y − u ) → x + u > y + v 也就是每个人会选择当前 a [ i ] + b [ i ] (x-v)>(y-u) \rightarrow x+u > y+v也就是每个人会选择当前a[i]+b[i] (xv)>(yu)x+u>y+v也就是每个人会选择当前a[i]+b[i]值较大的这一列进行操作

#include <bits/stdc++.h> 
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(register int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f using namespace std;
const int N = 2e5+10;
int t; 
struct wy
{ll x, y, sum;
}a[N];
bool cmp(wy a, wy b)
{return a.sum > b.sum;
}
void solve()
{int n;	cin >> n;rep(i,1,n)	cin >> a[i].x;rep(i,1,n)	cin >> a[i].y, a[i].sum=a[i].x+a[i].y;sort(a+1,a+1+n, cmp);ll ans=0;rep(i,1,n){if(i&1)	ans += a[i].x-1;else	ans -= a[i].y-1;}cout << ans << endl;
}int main()
{IOS	
//  	freopen("1.in", "r", stdin);cin >> t;while(t --)	solve();return 0;
}

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

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

相关文章

【深度学习】序列生成模型(四):评价方法

文章目录 一、困惑度&#xff08;Perplexity&#xff09;1. 定义2. 计算3. 衡量两个分布之间的差异4. 意义 二、BLEU&#xff08;Bilingual Evaluation Understudy&#xff09;1. 定义2. 意义3. 实例 三、ROUGE&#xff08;Recall-Oriented Understudy for Gisting Evaluation&…

linux 内核经典RCU

如果不关心使用的RCU是不可抢占RCU还是可抢占RCU&#xff0c;应该使用经典RCU的编程接口。最初的经典RCU是不可抢占RCU&#xff0c;后来实现了可抢占RCU&#xff0c;经典RCU的意思发生了变化&#xff1a;如果内核编译了可抢占RCU&#xff0c;那么经典RCU的编程接口被实现为可抢…

分布式全局ID之雪花算法

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 雪花算法 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是雪花算法&#xff1f…

Kafka--Kafka日志索引详解以及生产常见问题分析与总结

一、Kafka的Log日志梳理 ​ 这一部分数据主要包含当前Broker节点的消息数据(在Kafka中称为Log日志)。这是一部分无状态的数据&#xff0c;也就是说每个Kafka的Broker节点都是以相同的逻辑运行。这种无状态的服务设计让Kafka集群能够比较容易的进行水平扩展。比如你需要用一个新…

嵌入式开发工程师

嵌入式开发 岗位需求 上岗必备 文章目录 嵌入式开发前言一、负责新产品的电路图、PCB、嵌入式程序、软硬件调试等工作二、负责对现有产品进行硬件优化、调试、维护、排故等工作三、 负责各种单片机,传感器,元器件选型以及BOM表整理四、 负责硬件产品研发和量产过程中项目设计…

网络技术基础与计算思维实验教程_3.1_单BSS实验(基本服务集合实验)

无线局域网的最小基本组件是基本服务BSS 实验内容 实验目的 实验原理 实验步骤 为了显示AP的有效通信范围 切换到物理工作区 把物理工作区导航到城市家园 直接在城市家园放置AP0 可以看到AP0的通信范围 放置笔记本电脑 在默认情况下 笔记本电脑上 安装了以太网卡 现在换成无…

大模型之二十一-小语言模型塞道开启

当前提到大语言模型&#xff0c;大家想到的都是动辄百亿规模以上参数量的模型&#xff0c;13B、70B都是稀疏平常入门级的&#xff0c;但是目前从模型层面来看&#xff0c;模型参数量的规模两极分化已经来临&#xff0c;早期各大公司为了效果怼上去&#xff0c;采取了简单粗暴的…

[Angular] 笔记 4:ngFor

ngFor 是一个 for 循环&#xff0c;只能用于循环遍历 list&#xff0c;不能用于遍历单个实体。 下图中的 pokemons 通常是数据库中的数据&#xff1a; 例子&#xff1a; app.components.ts: // 使用类型检查 interface Pokemon {id: number;name: string;type: string;// is…

c++学习:static在类中的空间分配+实战+单例设计模式

目录 情况一&#xff1a; 证实方法&#xff1a; 结果&#xff1a; 情况二&#xff1a; 证实方法&#xff1a; 结果&#xff1a; 实战1&#xff1a;在同一个类中不同对象中传递消息 方法一&#xff1a; 方法二&#xff1a; 实战2&#xff1a;该类只用创建一次&#xff0…

【postgresql】PSQLException: An I/O error occurred while sending to the backend.

org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend. 发送到后端时发生I/O错误。 java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 34284 尝试将超出范围的整数作为2字节值发送&#xff1a;34284 pos…

C++学习——访问限定符

在C中&#xff0c;protected, friend, 和 public 是访问限定符&#xff0c;用于指定类成员的访问级别。 访问限定符 public public 成员可以从类的任何地方访问&#xff0c;包括类的外部。这通常是你希望外部代码能够直接访问和操作的那些方法和属性。比如&#xff0c;一个类…

OpenHarmony开发环境快速搭建(无需命令行)

一. 搭建Windows环境 在嵌入式开发中&#xff0c;很多开发者习惯于使用Windows进行代码的编辑&#xff0c;比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段&#xff0c;大部分的开发板源码还不支持在Windows环境下进行编译&#xff0c;如Hi3861、H…

LLM微调(四)| 微调Llama 2实现Text-to-SQL,并使用LlamaIndex在数据库上进行推理

Llama 2是开源LLM发展的一个巨大里程碑。最大模型及其经过微调的变体位居Hugging Face Open LLM排行榜&#xff08;https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard&#xff09;前列。多个基准测试表明&#xff0c;就性能而言&#xff0c;它正在接近GPT-3.5…

助老理发,寒冬送暖从头开始

为进一步弘扬尊老、敬老、爱老、助老的中华民族传统美德&#xff0c;解决老年人年龄大、冬季出行不便的问题&#xff0c;2023年12月20日&#xff0c;绿萝志愿服务队在翠堤社区开展了“助老理发”志愿活动。 大雪过后天气格外寒冷&#xff0c;但志愿者们依旧早早的来现场做…

【Flink-Bug】Flink 自定义 Sink 重写 RichSinkFunction 方法时重复调用 open 的解决方案

【Flink-Bug】Flink 自定义 Sink 重写 RichSinkFunction 方法时重复调用 open 的解决方案 Flink 自定义 RichinkFunction 时可能会重写 open 方法进行某些连接的初始化操作&#xff0c;但是会出现重复调用 open 方法的问题&#xff0c;如&#xff1a;MQ&#xff0c;如果重复调用…

【Unity实现海浪盒_GerstnerWaves算法_焦散Caustics效果_案例分享】

Unity实现海浪盒效果 背景设置好顶点色参数海浪盒水体部分效果为了快速实现效果,下面用Shadergraph实现效果。ShaderGraph水体全节点ShaderGraph全节点模块序号ShaderGraph属性ShaderGraph Graph Setting1. GerstnerWave 顶点动画部分,输出的是顶点偏移和NormalOSWaves算法Ge…

扭蛋机小程序搭建,“互联网+”下的发展优势

随着我国生活水平和消费能力不断提高&#xff0c;人们对各种潮流文化类的产品需求也快速上升。至此&#xff0c;我国潮流文化市场得到了快速发展&#xff01; 扭蛋机作为潮玩中的一种商业模式&#xff0c;深受不同年龄层用户的喜爱。并且扭蛋机的种类也是各式各样&#xff0c;…

MYSQL单表删除重复的数据方法

先简述遇到的问题&#xff1a;我要删除一张表的数据&#xff0c;先是查询到所有的重复的数据id直接进行删除操作&#xff0c;但是一直执行不完&#xff08;一直执行就是删除不完&#xff09; DELETE FROM table WHERE id IN ( SELECT MAX(id) id from table where rId…

P2089 烤鸡

烤鸡 题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡&#xff08;本是同畜牲&#xff0c;相煎何太急&#xff01;&#xff09;Hanke 吃鸡很特别&#xff0c;为什么特别呢&#xff1f;因为他有 10 10 10 种配料&#xff08;芥末、孜然等&#xff…

Vue 官方周报 #124 - 使用JSDoc记录组件属性

Hi &#x1f44b; 当你将鼠标悬停在IDE中的组件上时&#xff0c;显示组件属性所对应的描述&#xff0c;这个功能在开发过程中会很有用。你可以在传递给defineProps函数的TypeScript接口中使用JSDoc来实现这一点&#xff1a; MyComponent.vue <script setup lang"ts&…