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. 一文理解GIT的代码冲突

    对于GIT,不知道有没有人和我一样,很长时间都是小心翼翼.紧张兮兮,生怕一不小心,自己辛苦写的代码没了. 特别是代码冲突,更是难到我无法理解,每次都要求助于百度,跟着人家的教程一步步解决,下一次还是这 ...

  2. Golang之旅——内存管理

    转载放在最前 一文带你了解,虚拟内存.内存分页.分段.段页式内存管理[Golang三关-典藏版]一站式Golang内存洗髓经 | Go 技术论坛 刘丹冰Aceld感谢以上文章作者,收获满满 存储器管理 ...

  3. 部署Harbor镜像仓库

    Harbor介绍 Harbor是一个开源的企业级容器注册表服务.它由VMware和Pivotal联合开发,旨在为云原生应用程序提供一种安全可靠的容器镜像管理解决方案. Harbor是一个功能丰富.安全 ...

  4. C#是否应该限制链式重载的设计模式?

    1.代码的可阅读性 一眼看懂是什么意思,并且能看出生成的SQL是什么样的 var list = db.Queryable<Student>() .GroupBy(it => it.N ...

  5. XV6中的锁:MIT6.s081/6.828 lectrue10:Locking 以及 Lab8 locks Part1 心得

    这节课程的内容是锁(本节只讨论最基础的锁).其实锁本身就是一个很简单的概念,这里的简单包括 3 点: 概念简单,和实际生活中的锁可以类比,不像学习虚拟内存时,现实世界中几乎没有可以类比的对象,所以即使 ...

  6. 如何通过API接口获取淘宝的商品评论

    在淘宝网上购买产品时,人们通常会查看其他客户留下的评价和评论.这些评价和评论对于购买决策非常有帮助,因为它们提供了其他客户的观点和建议.通过使用淘宝API接口,可以轻松地获取淘宝上任何商品的评论. 以 ...

  7. 如何通过API接口获取微店的商品详情

    微店是一款电商平台,对于商家而言,了解商品详情数据是非常重要的.通过API接口获取微店的商品详情,可以让商家更加便捷地管理和分析商品数据.下面就让我们详细了解一下如何通过API获取微店的商品详情. 第 ...

  8. Spring中事务的传播行为有哪些?

    Spring中事务的传播行为有哪些? 现在我们来谈一个场景,再来引出事务传播行为这个概念.现在有methodA( ) 和 methodB( ),而且两个方法都显示的开启了事务,那么methodB( ) ...

  9. 图解 LeetCode 算法汇总——回溯

    本文首发公众号:小码A梦 回溯算法是一种常见的算法,常见用于解决排列组合.排列问题.搜索问题等算法,在一个搜索空间中寻找所有的可能的解.通过向分支不断尝试获取所有的解,然后找到合适的解,找完一个分支后 ...

  10. 云原生(docker jenkins k8s)docker篇

    docker (1)架构 ● Docker_Host: ○ 安装Docker的主机 ● Docker Daemon: ○ 运行在Docker主机上的Docker后台进程 ● Client: ○ 操作D ...