当前位置:网站首页>B. Ternary Sequence(思维+贪心)Codeforces Round #665 (Div. 2)
B. Ternary Sequence(思维+贪心)Codeforces Round #665 (Div. 2)
2022-06-24 15:36:00 【51CTO】
原题链接: https://codeforces.com/contest/1401/problem/B

测试样例:
input
3
2 3 2
3 3 1
4 0 1
2 3 0
0 0 1
0 0 1
output
4
2
0
样例解释:
In the first sample, one of the optimal solutions is:
a={2,0,1,1,0,2,1}
b={1,0,1,0,2,1,0}
c={2,0,0,0,0,2,0}
In the second sample, one of the optimal solutions is:
a={0,2,0,0,0}
b={1,1,0,1,0}
c={0,2,0,0,0}
In the third sample, the only possible solution is:
a={2}
b={2}
c={0}
题意: 给定a序列和b序列,通过给定的合成规则使得合成的c序列元素之和最大。
解题思路: 这是一道典型的贪心题,我们想要让总和最大,那么我们就要让a序列中的所有2和b序列中的所有1配对,使构造数字最大。我们统计这个构造后的元素之和。当然,这并未结束,除了这个之后都不能利用配对获得c序列总和增加了,而我们想要让c序列元素之和最大,我们就要去把b序列中的2给删掉,删掉这个之后序列元素之和才不会减少,我们用a序列中剩余的2和0来消掉,之后再判断是否有剩余,有就只能和a序列中的1配对合成,最后造成我们无法避免的减少。经过这些判定,最后我们 统计的总和即是这个问题的解。
AC代码:
/*
*
*/
//POJ不支持
//i为循环变量,a为初始值,n为界限值,递增
//i为循环变量, a为初始值,n为界限值,递减。
using
namespace
std;
const
int
inf
=
0x3f3f3f3f;
//无穷大
const
int
maxn
=
1e5;
//最大值。
typedef
long
long
ll;
typedef
long
double
ld;
typedef
pair
<
ll,
ll
>
pll;
typedef
pair
<
int,
int
>
pii;
//*******************************分割线,以上为自定义代码模板***************************************//
int
t,
a[
3],
b[
3],
ans;
void
solve(){
ans
=
0;
if(
a[
2]
>=
b[
1]){
ans
+=
b[
1]
*
2;
a[
2]
-=
b[
1];
b[
1]
=
0;
}
else{
ans
+=
a[
2]
*
2;
b[
1]
-=
a[
2];
a[
2]
=
0;
}
if(
b[
2]
>=
a[
0]){
b[
2]
-=
a[
0];
a[
0]
=
0;
}
else{
a[
0]
-=
b[
2];
b[
2]
=
0;
}
if(
a[
2]
>=
b[
2]){
a[
2]
-=
b[
2];
b[
2]
=
0;
}
else{
b[
2]
-=
a[
2];
a[
2]
=
0;
}
if(
b[
2]
>
0){
if(
b[
2]
>=
a[
1]){
ans
-=
a[
1]
*
2;
b[
2]
-=
a[
1];
a[
1]
=
0;
}
else{
ans
-=
b[
2]
*
2;
a[
1]
-=
b[
2];
b[
2]
=
0;
}
}
cout
<<
ans
<<
endl;
}
int
main(){
//freopen("in.txt", "r", stdin);//提交的时候要注释掉
IOS;
while(
cin
>>
t){
while(
t
--){
rep(
i,
0,
2)
cin
>>
a[
i];
rep(
i,
0,
2)
cin
>>
b[
i];
solve();
}
}
return
0;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
边栏推荐
- Learning these 10 kinds of timed tasks, I'm a little floating
- 在Gradle 中对Junit5 测试框架引用
- One article explains Jackson configuration information in detail
- 2021-04-25: given an array arr and a positive number m, the
- Implement Domain Driven Design - use ABP framework - domain logic & application logic
- Paper: Google TPU
- Remember: never use UTF-8 in MySQL
- How does the effective date of SAP PP ECM affect the work order?
- 使用阿里云RDS for SQL Server性能洞察优化数据库负载-初识性能洞察
- 2021-04-28: force buckle 546, remove the box. Give some boxes of different colors
猜你喜欢

Here comes Wi Fi 7. How strong is it?

Wechat official account debugging and natapp environment building

构建Go命令行程序工具链

Solution of intelligent all in one machine in expressway service area

还在担心漏测吗?快来使用jacoco统计下代码覆盖率

【面试高频题】难度 3/5,可直接构造的序列 DP 题

Database tools in intelij can connect but cannot display schema, tables

Using oasis to develop a hop by hop (I) -- Scene Building

如何扩展aws主机上的磁盘空间

ZOJ——4104 Sequence in the Pocket(思维问题)
随机推荐
60 divine vs Code plug-ins!!
一文理解OpenStack网络
Mongodb Getting started Practical Tutoriel: Learning Summary Table des matières
一文详解JackSon配置信息
2021-04-28: force buckle 546, remove the box. Give some boxes of different colors
How to obtain ECS metadata
Flink kubernetes application deployment
Rush for IPO, Hello, I'm in a hurry
60 个神级 VS Code 插件!!
2021-04-29: given an array arr, it represents a row of balloons with scores. One for each blow
2021-04-24: handwriting Code: topology sorting.
2021-05-04: given a non negative integer C, you need to judge whether there are two integers a and B, so that a*a+b*b=c.
My network relationship with "apifox"
Mysql之Binlog
From practical teaching to competition exercise, Tencent experts personally teach Ti-One platform operation strategy!
Here comes Wi Fi 7. How strong is it?
Solution to the problem that FreeRTOS does not execute new tasks
asciinema 搭配 asciicast2gif 实现高效的命令行终端录制能力
[application recommendation] the hands-on experience and model selection suggestions of apifox & apipost in the recent fire
Two problems of qtreewidget returning as DLL in singleton mode