首页 > 其他分享 >LGR-204-Div.2 补题

LGR-204-Div.2 补题

时间:2024-11-06 19:08:03浏览次数:1  
标签:std cnt int long else Div.2 lst 补题 LGR

Contest link

A

比较明显的题,贪心往下做就可以。

#include <bits/stdc++.h>

using i64 = long long;

constexpr int N = 1e5 + 7;

int k;
int a[N];

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	std::cin >> k;
	for (int i = 1; i <= k; i++) {
		std::cin >> a[i];
	}
	if (k == 1 && a[1] == 1) { std::cout << "1\n"; exit(0); }
	std::sort(a + 1, a + k + 1);
	int dep = 1, ans = 1;
	for (int i = 1; i <= k; i++) {
		ans += (a[i] - dep);
		dep = a[i] - 1;
	}
	std::cout << ans << "\n";
	return 0;
}

B

比较明显的题,模拟一下往下做就可以。

#include <bits/stdc++.h>

using i64 = long long;

void solve() {
	int n;
	std::string s;
	std::cin >> n >> s;
	int cnt = 1;
	std::vector<int> a(n + 1);
	if (s[0] == '=')
		cnt = 2;
	else
		a[1] = 1;

	char lst = s[0];
	for (int i = 1; i < n - 1; i++) {
		if (s[i] == '=') {
			a[i + 1] = a[i];
			cnt++;
		}
		else if (s[i] == s[i - 1]) {
			a[i + 1] = a[i] + 1;
			cnt = 1;
		}
		else if (s[i] != lst) {
			a[i + 1] = cnt;
			cnt = 1;
			lst = s[i];
		}
		else if (s[i] == lst) {
			a[i + 1] = a[i] + cnt;
			cnt = 1;
		}
	}
	i64 ans = 0;
	for (int i = 0; i <= n; i++)
		ans += a[i];
	std::cout << ans << "\n";
}

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int t;
	std::cin >> t;
	while (t--) {
		solve();
	}
	return 0;
}

标签:std,cnt,int,long,else,Div.2,lst,补题,LGR
From: https://www.cnblogs.com/xsyc/p/18530873

相关文章

  • 补题集
    1.https://codeforces.com/contest/2033/problem/B这道题对每个测试样例一个矩阵,求最小次数,观察规律知道只要求最小值的和即可。代码如下:for_inrange(int(input())):n=int(input())mp=[list(map(int,input().split()))for_inrange(n)]s=0fordinrange(-n+1......
  • TOYOTA SYSTEMS Programming Contest 2024(AtCoder Beginner Contest 377) 补题记录(A-E
    AtCoderBeginnerContest377A-RearrangingABC字符串有ABC三个字母即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongsignedmain(){ strings; cin>>s; map<char,int>mp; for(autot:s){ mp[t]=1; } if(mp[......
  • Codeforces Round 978(div.2) D1
    #感觉挺有意思的一道题题目:思路:观察发现对于两个人a,b如果两个人里面没有Impostor那么,你得到的回答是一样的,如果有impostor那么结果不同,那么我们就可以两个两个的询问,先找到2个人里面有impostor然后在找另外一个人来询问就行了。代码:#include<bits/stdc++.h>usin......
  • 2024.10.19 CF2030(Div.2)
    比赛链接Solved:5/8Upsolved:6/8Rank:166E.MEXmizetheScore题意定义一个集合的分数为:将它分成若干个子集,mex和的最大值。(mex从0开始算)给n个数,求所有非空子集的分数之和。\(n\leq2\times10^5\)题解对一个确定的集合,它的划分方式一定是每次分出去一个最长的{0,......
  • 补题。
    顺序小孩子不懂事乱排的。NOI2024集合太难了不会。百万富翁太难了不会。树的定向(待完成)由特殊性质A可知若所有限制均距离不小于\(2\)则可通过对树染色的方式完成,故应当优先考虑距离为\(1\)的边。按顺序填用倍增维护即可,具体细节写了再说。分数(待完成)大概是暴力......
  • 点云学习笔记2——使用VoxelGrid滤波器进行点云降采样(c++)
    #include<iostream>#include<pcl/point_cloud.h>#include<pcl/io/pcd_io.h>#include<pcl/point_types.h>#include<pcl/filters/voxel_grid.h>#include<pcl/common/common_headers.h>#include<pcl/io/pcd_io.h>#inclu......
  • 国庆day1补题
    国庆day1补题单调数据结构单调栈的性质:1.单调栈里的元素具有单调性2.元素加入栈前,会在栈顶端把破坏栈单调性的元素都删除3.使用单调栈可以找到元素向左遍历第一个比他小的元素,也可以找到元素向左遍历第一个比他大的元素,具体的,假设要找到一个元素向前第一个比它大的数,就是维......
  • 10.26 吃 Div.2 水分
    10.26CodeforcesRound982(Div.2)Solve:A~D2(4/5)Rank:24Rating:\(2098+114=2212\)Pref:2554发挥评价:Good-果然还是Div.2善良啊!()随便做了前四道,没咋卡住,就这名次了,可惜C有一发罚时吃得不温不火,比较可惜。然后E1咋这么难。CF2027D1/D2长为\(n\)的序......
  • Linux下使用valgrind分析C++程序的内存泄漏
    目录一.前言二.下载安装三.使用valgrind分析内存泄漏一.前言这篇文章介绍一下Linux系统中如何使用valgrind分析C++程序的内存泄漏。二.下载安装下载地址:官网。或者直接使用命令aptinstallvalgrind安装。三.使用valgrind分析内存泄漏先看代码//main.cpp#inc......
  • 模拟八补题报告
     S15192一、题目报告        第一题100分,第二题100分,第三题100分,第四题100分。二、赛中概况    第一题很简单,遍历删除一下就可以。    第二题不难,设一个cnt数组统计一下就行。    第三题模拟下就可以。    第四题,见过类似的,所......