热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SciseedProgrammingContest2021(AtCoderBeginnerContest219)个人题解

SciseedProgrammingContest2021(AtCoderBeginnerContest219)个人题解比赛链接:SciseedProgrammingContest

Sciseed Programming Contest 2021(AtCoder Beginner Contest 219)个人题解

比赛链接:Sciseed Programming Contest 2021(AtCoder Beginner Contest 219)个人题解


A题 AtCoder Quiz 2


题目大意:

各个等级有一个最低分数,给出当前分数,问要加多少分才能上一个等级


思路解析:

直接判断即可


AC代码:

#include
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair pii;
const int maxn=1e5+5;
int main(){

ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);

int x;
cin>>x;
if(x<40)cout<<40-x< else if(x<70)cout<<70-x< else if(x<90)cout<<90-x< else cout<<"expert"<}

B题 Maritozzo


题目大意:

依次给出3个字符串,再给出一串1,2,3的序列,表示依次输出第几个字符串


思路解析:

模拟即可


AC代码:

#include
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair pii;
const int maxn=1e5+5;
string s[maxn];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int n=3;
for(int i=1;i<=n;i++){
cin>>s[i];
}
string a;
cin>>a;
for(int i=0;i cout< }
}

C题 Neo-lexicographic Ordering


题目大意:

给出 \(26\) 个字母的新字典序,给出 \(n\) 个字符串,按字符串字典序由小到大顺序输出


思路解析:

可以拿 map 把新字典序转换为原字典序,直接 sort 然后映射回来就可以


AC代码:

#include
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair pii;
const int maxn=1e5+5;
string s;
struct node{
int rk;
string s,val;
}a[maxn];
mapmp;
bool cmp(node x,node y){
return x.s}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>s;
for(int i=0;i mp[s[i]]=i+‘a‘;
}
int n;
cin>>n;

for(int i=1;i<=n;i++){
cin>>a[i].val;
a[i].rk=i;
for(int j=0;j a[i].s+=mp[a[i].val[j]];
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout< }
}

D题 Strange Lunchbox


题目大意:

给出 \(X\) , \(Y\) ,有 \(n\) 个物品,每个物品有 \(a\)\(b\) 两个属性,你需要选择最少的物品满足\(\sum a_i \geq X\)并且 \(\sum b_i \geq Y\)


思路解析:

\(O(n^3)\)的DP


AC代码:

#include
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair pii;
const int maxn=305;
int dp[maxn][maxn];
int a[maxn],b[maxn];
int main(){

ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);

int n,x,y;
cin>>n>>x>>y;
for(int i=1;i<=n;i++)cin>>a[i]>>b[i];

memset(dp,0x3f,sizeof dp);
dp[0][0]=0;

for(int k=1;k<=n;k++)
for(int i=302;i>=0;i--)
for(int j=302;j>=0;j--)
dp[i][j]=min(dp[i][j],dp[max(i-a[k],0)][max(j-b[k],0)]+1);

if(dp[x][y]>=1e8)cout<<-1< else cout<}

G题 Propagation


题目大意:

给出一个无向图,给出操作序列,每次操作将点 \(x_i\) 的所有邻接点上的数改为 \(x_i\) 上的数


思路解析:

首先我们观察到 \(1 \leq n \leq 2e5\) , \(1 \leq q \leq 2e5\),所以我们直接模拟的话是会 \(T\) 飞的,所以我们考虑如何优化

我们把点分为两类,一种是度数小于 \(sqrt(m)\) 的,一种是大于 \(sqrt(m)\) 的,对于第一种,我们可以直接把它的所有邻接点更新。


AC代码:



推广一波小飞龙博客:戳这里@不会飞的小飞龙


推荐阅读
  • Spark中使用map或flatMap将DataSet[A]转换为DataSet[B]时Schema变为Binary的问题及解决方案
    本文探讨了在使用Spark的map或flatMap算子将一个数据集转换为另一个数据集时,遇到的Schema变为Binary的问题,并提供了详细的解决方案。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 使用Jsoup解析并遍历HTML文档时,该库能够高效地生成一个清晰、规范的解析树,即使源HTML文档存在格式问题。Jsoup具备强大的容错能力,能够处理多种异常情况,如未闭合的标签等,确保解析结果的准确性和完整性。 ... [详细]
  • 本文介绍了 AngularJS 中的 $compile 服务及其用法,通过示例代码展示了如何使用 $compile 动态编译和链接 HTML 元素。 ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • 通过 CSS 中的 transition 属性,可以轻松实现元素状态变化时的平滑过渡效果。本文将详细介绍如何使用 transition 属性,并提供一个具体的示例。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
author-avatar
谁的围脖搞笑排行榜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有