热门标签 | 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代码:



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


推荐阅读
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了一种高效的算法——线性筛法,用于快速筛选出一定范围内的所有素数。通过该方法,可以显著提高求解素数问题的效率。 ... [详细]
  • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
  • 本文探讨了如何利用NFC技术,将存储在Android手机中的患者信息安全高效地传输到台式计算机。重点介绍了适用于医院场景的NFC USB读卡器(如ACR122U)的应用方法。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • Java中的基本数据类型与包装类解析
    本文探讨了Java编程语言中的8种基本数据类型及其对应的包装类。通过分析这些数据类型的特性和使用场景,以及自动拆装箱机制的实现原理,帮助开发者更好地理解和应用这些概念。 ... [详细]
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社区 版权所有