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. 从浅入深了解.NET Core MVC 2.x全面教程【第二章】

    二.Logging 1.诊断中间件 命名空间:Microsoft.AspNetCore.Diagnostics 报告信息并处理异常 2.诊断中间件 UseDeveloperExceptionPage: ...

  2. nflsoj 5924 选排列

    与全排列略微有些不同,只需要将退出条件需要改成 u==r #include <iostream> using namespace std; const int N = 15; int r, ...

  3. 7.1 C++ STL 非变易查找算法

    C++ STL 中的非变易算法(Non-modifying Algorithms)是指那些不会修改容器内容的算法,是C++提供的一组模板函数,该系列函数不会修改原序列中的数据,而是对数据进行处理.查找 ...

  4. 【Hexo】插件推荐以及使用小技巧

    目录 插件推荐 hexo-deployer-git hexo-word-counter hexo-abbrlink hexo-generator-sitemap 小技巧 自定义提交信息 参考资料 He ...

  5. C# 异步执行操作

    为了方便测试异步,先加个计时 计时相关(可以直接跳过该部分) //开始计时 Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 停 ...

  6. 接口自动化测试项目 | IHRM登录接口自动化测试

    项目内容如下: ### 需求- 地址:http://ihrm-java.itheima.net/#/login- 测试接口: - 登录接口:针对登录的13个cases### 技术 - V1:pytho ...

  7. Jmeter获取Websocket多帧消息的实现方法

         由于需要对WebSocket进行压力测试,因此又回归到了JMeter的使用.网络上缺少具体的获取多帧消息的操作,且自己也踩了两个坑,总结一下可行的操作供大家参考.   一.情况说明     ...

  8. 从内核世界透视 mmap 内存映射的本质(原理篇)

    本文基于内核 5.4 版本源码讨论 之前有不少读者给笔者留言,希望笔者写一篇文章介绍下 mmap 内存映射相关的知识体系,之所以迟迟没有动笔,是因为 mmap 这个系统调用看上去简单,实际上并不简单, ...

  9. 拟合优度R2较低怎么办

    拟合优度R2较低怎么办 (1)回归分为解释型回归和预测型回归. 预测型回归一般才会更看重2. 解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著 性即可. (2)可以对模型进行调整 ...

  10. .Net7自定义GC垃圾回收器

    1.前言 CLR和GC高度耦合,.Net7里面分离CLR和GC,则比较容易实现这件事情.本篇来看下,自定义一个GC垃圾回收器. 2.概述 这里首先演示下自定义GC垃圾回收后的效果. 1.下载Custo ...