目录

A - Apple

题目描述

题目分析

题目代码

B - Explore

题目描述

题目分析

题目代码

C - Belt Conveyor

题目描述

题目分析

题目代码

D - Iroha and Haiku (New ABC Edition)

题目描述

题目分析

题目代码

赛时代码

赛后代码

我的Atcoder账号


A - Apple

A - Applehttps://atcoder.jp/contests/abc265/tasks/abc265_a

题目描述

高桥去买苹果,已知买一个苹果需x元,买三个苹果需y元,问你买n个苹果至少需要多少钱

题目分析

这道题只需分类讨论,选择最优策略即可

题目代码

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/(gcd(a,b))*b;}
int x,y,n;int main(){cin>>x>>y>>n;if(3*x>y){cout<<n/3*y+n%3*x<<endl;} else{cout<<n*x<<endl;}return 0;
}//ACplease!!!

B - Explore

B - Explorehttps://atcoder.jp/contests/abc265/tasks/abc265_b

题目描述

有n个房间排成一列,起初高桥在第一个房间,且时间限额为t单位时间,从第i个房间到下一个房间需单位时间。在这些房间内,共有m个奖励,每个奖励是在到达特定房间后获得若干单位时间限额。剩余时间限额在任何时刻都必须大于0单位时间。问你能否顺利到达最后一个房间

题目分析

这道题只需要根据题目要求进行模拟即可,并不需要太多编程基础

题目代码

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/(gcd(a,b))*b;}
int n,m;
long long t;
long long a[100005],b[100005];int main(){cin>>n>>m>>t;for(int i=2;i<=n;i++)cin>>a[i];for(int i=1;i<=m;i++){long long x,y;cin>>x>>y;b[x]=y;}for(int i=2;i<=n;i++){t-=a[i];
//      cout<<t<<endl;if(t<=0){cout<<"No"<<endl;return 0;}t+=b[i];}cout<<"Yes"<<endl;return 0;
}//ACplease!!!

C - Belt Conveyor

C - Belt Conveyorhttps://atcoder.jp/contests/abc265/tasks/abc265_c

题目描述

给你一个h行w列的迷宫,迷宫的每一位都标注着U,D,L或者R,你一开始在第1行第1列,重复执行以下步骤:

  • 如果当前位置标注的是U,位置向上移动一格
  • 如果当前位置标注的是D,位置向下移动一格
  • 如果当前位置标注的是L,位置向左移动一格
  • 如果当前位置标注的是R,位置向右移动一格
  • 若执行以上步骤后位置出界,则直接打印之前位置

如果陷入死循环,即移动次数无限,则输出-1

题目分析

这道题移动和判断出界并不难,关键是如何判断是否陷入死循环。所谓死循环,其实就是在一个区域内重复移动,因此我们只需判断每一步到达的位置是否已经来过即可,如果已经来过,那么就说明陷入死循环,直接输出-1

题目代码

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/(gcd(a,b))*b;}
int h,w;
char g[505][505];
bool visited[505][505];int main(){cin>>h>>w;for(int i=1;i<=h;i++){for(int j=1;j<=w;j++){cin>>g[i][j];}}int x=1,y=1;while(1){visited[x][y]=1;if(g[x][y]=='U'){if(x==1){cout<<x<<' '<<y;return 0;}x--;}else if(g[x][y]=='D'){if(x==h){cout<<x<<' '<<y;return 0;}x++;}else if(g[x][y]=='L'){if(y==1){cout<<x<<' '<<y;return 0;}y--;}else{if(y==w){cout<<x<<' '<<y;return 0;}y++;}if(visited[x][y]==1){cout<<-1<<endl;return 0;}}return 0;
}//ACplease!!!

D - Iroha and Haiku (New ABC Edition)

D - Iroha and Haiku (New ABC Edition)https://atcoder.jp/contests/abc265/tasks/abc265_d

题目描述

给你一个长度为n的数组,问你是否存在符合以下要求的整形元组(x,y,z,w):

题目分析

这道题其实只需要用前缀和配合上二分查找便能解决,不论是用递归还是用set容器,代码量都并不大

题目代码

赛时代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/(gcd(a,b))*b;}
int n;
int res[4],a[200005],s[200005];bool solve(int pos,int k){if(k==4)return 1;while(pos<=n){if(binary_search(s+pos,s+n+1,res[k]+s[pos])){int *p=lower_bound(s+pos,s+n+1,res[k]+s[pos]);if(solve(p-s,k+1)){return 1;}            }pos++;}
//  cout<<k<<endl;return 0;
}
signed main(){cin>>n>>res[1]>>res[2]>>res[3];for(int i=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];}if(solve(0,1)){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}return 0;
}//ACplease!!!

赛后代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/(gcd(a,b))*b;}
int n,p,q,r,sum;
set <int> s({0});signed main(){cin>>n>>p>>q>>r;for(int i=1;i<=n;i++){int a;cin>>a;sum+=a;s.insert(sum);}for(int x:s){if(s.find(x+p)!=s.end()&&s.find(x+p+q)!=s.end()&&s.find(x+p+q+r)!=s.end()){cout<<"Yes"<<endl;return 0;}}cout<<"No"<<endl;return 0;
}//ACplease!!!

我的Atcoder账号

FrankChttps://atcoder.jp/users/FrankC

AtCoder Beginner Contest 265笔记相关推荐

  1. AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...

  2. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  3. AtCoder Beginner Contest 198 (A ~ F)题解

    目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...

  4. AtCoder Beginner Contest 215 G - Colorful Candies 2

    AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...

  5. AtCoder Beginner Contest 215 F - Dist Max 2

    AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi​,yi​),定义两点(xi,yi),(xj,yj)(x ...

  6. AtCoder Beginner Contest 215 E - Chain Contestant

    AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...

  7. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

  8. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  9. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

最新文章

  1. 小红书做直播的背后,隐藏了什么秘密?
  2. 机器学习和计算机视觉的20大图像数据集
  3. angularjs之browserTrigger
  4. java is number_数据类型----Number
  5. 如何遍历一个JS对象中的所有属性,输出键值对--我居然犯错半个小时
  6. [html]如何让元素固定在页面底部?有哪些比较好的实践?
  7. 成为大数据工程师需要哪些技能?(一文秒懂大数据)
  8. android解码芯片,全志V316超清4K视频编解码芯片处理器,
  9. HDU 2076 夹角有多大
  10. 商户都在用的进销存软件,哪一个性价比最高?
  11. 关于Linux性能调优中系统CPU监测信息统计的一些笔记
  12. Mysql sql执行错误#1436 Thread stack overrun:
  13. html svg 线条动画,HTML5 SVG简单的动态绘制轮廓线条动画插件
  14. 亮相SIGGRAPH 太极拳三维教学App制作揭秘
  15. 【Unity】脚本实现动态模型切割
  16. 傻子,疯子,一根筋的人才能创业成功!
  17. 检查两个单词是否为变位词(Anagram)
  18. python多级菜单_多级菜单.py
  19. STM32F4驱动NEC协议的红外接收头
  20. 单片机c语言怎么实现按键松开,灯还保持松开前的状态,单片机C语言程序设计:K1-K4按键状态显示...

热门文章

  1. Vue头像上传,裁剪
  2. 使用python画图案例大全【画玫瑰花、樱花树、小黄人等】
  3. 11个热门物联网开发平台的比较
  4. Lucene.Net 2.3.1开发介绍 —— 三、索引(三)
  5. Axmath实用教程
  6. 华中科技大计算机全国排名,华中科技大学怎么样 2021年全国排名多少
  7. android midi 编辑6,Android6.0MIDI设备相关应用程序开发
  8. 一款BLE-MIDI的蓝牙MIDI模块
  9. 显示控件——图标类之图标变量
  10. Headroom.js 的使用