首页 > 其他分享 >Codeforces Round #661 (Div. 3)

Codeforces Round #661 (Div. 3)

时间:2023-02-03 11:38:13浏览次数:41  
标签:题意 int rep Codeforces 661 ans Div now sd


A. Remove Smallest

题意:

给定一个序列,每次操作可以任选两个差的绝对值小于等于 Codeforces Round #661 (Div. 3)_元组

排序后计算相邻数的差,只要有大于 Codeforces Round #661 (Div. 3)_元组

AC代码:

const int N = 2e5 + 50;
int n, m;
int a[N];

int main()
{
int t;
sd(t);
while (t--)
{
sd(n);
rep(i, 1, n)
sd(a[i]);
sort(a + 1, a + 1 + n);
bool flag = 1;
rep(i, 1, n - 1)
{
if (a[i] == a[i + 1] || a[i] == a[i + 1] - 1)
continue;
else
{
flag = 0;
break;
}
}
if (flag)
puts("YES");
else
puts("NO");
}
return 0;
}

B. Gifts Fixing

题意:

Codeforces Round #661 (Div. 3)_最小值_03 份礼物盒,礼物盒中又分了 Codeforces Round #661 (Div. 3)_子序列_04 类和 Codeforces Round #661 (Div. 3)_子序列_05 类的数量,为了公平,让 Codeforces Round #661 (Div. 3)_最小值_03 份礼物盒中 Codeforces Round #661 (Div. 3)_子序列_04 类的数量相同,Codeforces Round #661 (Div. 3)_子序列_05

分别找到 Codeforces Round #661 (Div. 3)_子序列_04 类和 Codeforces Round #661 (Div. 3)_子序列_05 类中的最小值,只要判断当前 Codeforces Round #661 (Div. 3)_子序列_04Codeforces Round #661 (Div. 3)_子序列_05

AC代码:

const int N = 2e5 + 50;
int n, m;
int a[N], b[N];

int main()
{
int t;
sd(t);
while (t--)
{
int mina = inf;
int minb = inf;
sd(n);
rep(i, 1, n)
{
sd(a[i]);
mina = min(a[i], mina);
}
rep(i, 1, n)
{
sd(b[i]);
minb = min(b[i], minb);
}
ll ans = 0;
rep(i, 1, n)
ans += max(a[i] - mina, b[i] - minb);
pld(ans);
}
return 0;
}

C. Boats Competition

题意:

给定一个数字序列 Codeforces Round #661 (Div. 3)_子序列_13

记录每个重量出现的次数,枚举每个二元组的和,对于每个和,看看可以组成多少二元组,然后找最大值。

AC代码:

const int N = 2e5 + 50;
int n, m;
int a[N], b[N];

int main()
{
int t;
sd(t);
while (t--)
{
sd(n);
mem(b, 0);
rep(i, 1, n)
{
sd(a[i]);
b[a[i]]++;
}
int ans = 0;
rep(i, 1, 2 * n)
{
int res = 0;
rep(j, 1, i - 1)
res += min(b[j], b[i - j]);
ans = max(ans, res / 2);
}
pd(ans);
}
return 0;
}

D. Binary String To Subsequences

题意:

给你一个长度为 Codeforces Round #661 (Div. 3)_最小值_14Codeforces Round #661 (Div. 3)_最小值_15 串,要你把他分成若干个子序列,使得每个子序列都满足 Codeforces Round #661 (Div. 3)_最小值_16Codeforces Round #661 (Div. 3)_元组 交替出现,即没有相邻的 Codeforces Round #661 (Div. 3)_最小值_16 和相邻的 Codeforces Round #661 (Div. 3)_元组,要你求最少能分成多少个子序列,以及每个元素分别分给哪一个子序列

用队列分别记录 Codeforces Round #661 (Div. 3)_最小值_16Codeforces Round #661 (Div. 3)_元组

AC代码:

const int N = 2e5 + 50;
int n, m;
int a[N], b[N];
char s[N];
int ans[N];
int main()
{
int t;
sd(t);
while (t--)
{
sd(n);
ss(s + 1);
int cnt = 0;
queue<int> q[2];
rep(i, 1, n)
{
int now = s[i] - '0';
if (q[now ^ 1].size())
{
int tmp = q[now ^ 1].front();
q[now ^ 1].pop();
ans[i] = tmp, q[now].push(tmp);
}
else
{
ans[i] = ++cnt;
q[now].push(cnt);
}
}
pd(cnt);
rep(i, 1, n)
printf("%d%c", ans[i], i == n ? '\n' : ' ');
}
return 0;
}


标签:题意,int,rep,Codeforces,661,ans,Div,now,sd
From: https://blog.51cto.com/u_15952369/6035713

相关文章

  • Codeforces Round #662 (Div. 2)
    A.RainbowDash,FluttershyandChessColoring题意:有手动写几个找找规律。AC代码:intn,m;intmain(){intT;sd(T);while(T--){sd(n);pd(n/2+1);......
  • Codeforces Round #658 (Div. 2)
    ACommonSubsequence只要找到有一个相同的元素输出即可。AC代码:constintN=1010;inta[N],b[N];intans;intcnt[N];intmain(){intt;sd(t);while(t--){......
  • Codeforces Round #657 (Div. 2)
    A.AcaciusandString题意:给你一个串,你可以把换成任意字符,使得这个串最后只出现一次暴力枚举AC代码:strings;intn;stringT="abacaba";boolcheck(string&a){int......
  • Codeforces Round #656 (Div. 3)
    A.ThreePairwiseMaximums题意:给你三个正整数和,请你找到正整数和,使得,或者确定不可能找到这样的和AC代码:intmain(){intt;sd(t);while(t--){int......
  • Codeforces Round #655 (Div. 2)
    AOmkarandCompletion只要找两个相加不等的数交叉构造即可。AC代码:intmain(){intt;sd(t);while(t--){sd(n);rep(i,1,n){if(i&1)......
  • Codeforces 1360 D. Buying Shovels
    题意:要买个铲子,商店中有中不同的卖法,依次每一次卖到个铲子,现在只能选择其中的一种买法,问最少买几次同一种的买法,使得刚好买到直接选择小于的AC代码:intn,m,k;......
  • Codeforces 1360 E. Polygon
    题意:在一个的网格上方和左边都有一排大炮,每次可以发射一个,遇到边界和都会停下来,有没有一种发射频率可以组成给出的大炮的位置在左和上,所以每个非右边界或者下边界的......
  • Codeforces 1358 C. Celex Update
    题意:一个矩形内有多个方格,每个方格都按照顺序填写了一些数。给两个坐标,求这两个坐标间路径经过的数字和不同的路线总数。可以看出比如要从走到,这两种走法和第二个比......
  • Codeforces 1354 D. Multiset(树状数组)
    题意;要你实现一个求第k大数的数据结构。树状数组模板题。AC代码:constintN=1e6+50;inta[N];intn,q;voidadd(intp,intval){while(p<=n){a[p]+=va......
  • codeforces 580C Kefa and Park (树上DFS)
    Description:Kefadecidedtocelebratehisfirstbigsalarybygoingtotherestaurant.Helivesbyanunusualpark.Theparkisarootedtreeconsistingof n ve......