AtCoder_abc329

比赛链接

A - Spread

A题链接

题目大意

输入一个字符串由大写字母组成的\(S\),输出\(S\)并在每一个字符之间加上空格

解题思路

随便打打就能过.jpg

代码

// Problem: A - Spread
// Contest: AtCoder - Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 329)
// URL: https://atcoder.jp/contests/abc329/tasks/abc329_a
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int main(){
char c=getchar();
while(c!='\n'){
cout<<c<<' ';
c=getchar();
}
return 0;
}

B - Next

B题链接

题目大意

给出\(N(2 \le N \le 100)\)个整数\(A_1,A_2,A_3.....A_N(1 \le A_i \le 100)\),输出其中第二大的整数

解题思路

数据量不大,使用sort()排序之后输出倒数第二个

代码

// Problem: B - Next
// Contest: AtCoder - Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 329)
// URL: https://atcoder.jp/contests/abc329/tasks/abc329_b
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n;
int a[105];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
int p=n-1;
while(a[p]==a[p+1])p--;
cout<<a[p];
return 0;
}

C - Count xxx

C题链接

题目大意

输入一个长度为\(N(n \le 10^5)\),由小写字母组成的字符串\(S\),输出\(S\)中由同一字母组成的非空子串的个数(完全相同的子串不会被重复计数)

例如像是:ssskkyskkkky

他有s,ss,sss,k,kk,kkk,kkkk,y这八个符合要求的子串

解题思路

可以枚举a~z这26个字母。对于每一个字母,遍历一次字符串\(S\),记录最长的、连续的、由这个字母构成的子串的长度,那么这个由这个字母构成的子串数量即为该长度数。

代码

// Problem: C - Count xxx
// Contest: AtCoder - Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 329)
// URL: https://atcoder.jp/contests/abc329/tasks/abc329_c
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n,ans;
string s;
int main(){
cin>>n>>s;
s=" "+s;
for(int c='a';c<='z';c++){
int len=0;
for(int i=1;i<=n;i++){
int t=0;
while(s[i]==c&&i<=n)
i++,t++;
len=max(len,t);
}
ans+=len;
}
cout<<ans;
return 0;
}

D - Election Quick Report

D题链接

题目大意

有一场选举,从\(N\)名候选人中选出一名获胜者,候选人编号为\(1,2.....N\)。每张选票只投给一位候选人,第\(i\)张选票投给候选人\(A_i\)。

选票将按从第一张到最后一张的顺序进行计数,每次计数后,将更新并显示当前的获胜者。

在统计的票数中得票最多的候选人是获胜者。如果有多个候选人得票最多,则编号最小的候选人为获胜者。

对于每一个\(i=1,2,....M\),在只计算前\(i\)张选票时确定一名获胜者。

解题思路

我一看见这道题:这不明显是堆吗,简单。

然后很快啊,就打出了第一版代码:

// Problem: D - Election Quick Report
// Contest: AtCoder - Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 329)
// URL: https://atcoder.jp/contests/abc329/tasks/abc329_d
// Memory Limit: 1024 MB
// Time Limit: 2000 ms #include<bits/stdc++.h>
using namespace std;
int n,m;
int vn[200005];
struct node{
int id;
int votes;
bool operator < (node b){
if(votes!=b.votes)
return votes<b.votes;
return id>b.id;
}
};
priority_queue <node> heap;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x;cin>>x;
vn[x]++;
node np;np.id=x,np.votes=vn[x];
heap.push(np);
cout<<heap.top().id<<endl;
}
return 0;
}

然后一编译,发现连编译都过不了!

我查了大概半个小时左右,只知道是priority_queue <node> heap;这一句报错,大概是定义结构体的时候出了什么问题。

然后就打开了浏览器认真思考,发现只要我吧结构体重载运算符的部分改成:

bool operator < (node b) const {
if(votes!=b.votes)
return votes<b.votes;
return id>b.id;
}

加上一个const,问题就神奇的解决了。

代码

见上

随机推荐

  1. 行行AI人才直播第16期:【无界AI首席研究员】刘秋衫《AI创新设计:AIGC赋能设计行业的新思维》

    在这一轮生成式AI浪潮中,设计行业是受波及最为广泛的一个行业.这是设计师们始料未及的事情,至少在此之前,人们认为以设计.艺术为首的创意产业是最难被AI改变的产业之一.而生成式AI的出现,与其说是一次冲 ...

  2. Api接口如何防止被刷?

    ​ 当今,越来越多的应用程序和服务都提供了API接口,使得开发人员可以方便地与这些应用程序和服务进行交互.但是,由于API接口是公开的,因此很容易被黑客利用,对系统造成损害.为了确保API接口的安全性 ...

  3. 使用 Sealos 在离线环境中光速安装 K8s 集群

    作者:尹珉.Sealos 开源社区 Ambassador,云原生爱好者. 当容器化交付遇上离线环境 在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段.在可以访问公网的环境下, ...

  4. linux shell根据关键字用sed注释掉整行

    一.将带有ab的行注释掉 # cat test # sed -i '/ab/s/^\(.*\)$/#\1/g' test ab是关键字 s是语法替换 ^是行首 $是行尾 \是转义符 数字1带表前述匹配 ...

  5. 在线PNG, JPG, BMP 转ICO图标,适用WINDOWS XP, VISTA, 7, 8, 10

    在线PNG, JPG, BMP 转ICO图标网址: http://static.krpano.tech/image2ico 该网站可以把PNG, JPG和BMP图片转换成包含多个层级的ICO图标, 可 ...

  6. JavaAgent寄生在目标进程中引起的ClassNotFoundException

    今天有解决方案部的小伙伴反映,我公司XWind产品在分析客户应用程序的潜在性能问题时,总是显现诊断任务异常,为了定位问题的根因,我们马上要求解决方案部的小伙伴提供XWind相关的日志,从日志中找到了如 ...

  7. Nhk R1 Editorial

    前言 这场比赛的锅貌似有点多-在准备的时候就已经推迟过三次,在这里为对各位比赛时造成的困扰抱歉.这是出题组第一次放比赛,欢迎批评指正. 主要问题在于 C 的数据造水了,hack 数据造反了于是没有 h ...

  8. 基于AvaSpe 2048测定物体的光谱曲线

      本文介绍基于AvaSpec-ULS2048x64光纤光谱仪测定植被.土壤等地物高光谱曲线的方法.   AvaSpec是由荷兰著名的光纤光谱仪器与系统开发公司Avantes制造的系列高性能光谱仪,广 ...

  9. 圆角android

    资源地址 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid an ...

  10. 算法学习笔记(3.1): ST算法

    ST表 在RMQ(区间最值)问题中,著名的ST算法就是倍增的产物.ST算法可以在 \(O(n \log n)\) 的时间复杂度能预处理后,以 \(O(1)\) 的复杂度在线回答区间 [l, r] 内的 ...