这次做了ABCE~

A - Rainy Season

懒得想直接分类讨论

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<string>
#include<iostream>
using namespace std;
int main()
{string s;cin>>s;int res=0;if(s[0]=='R'&&s[1]=='R'&&s[2]=='R') cout<<3<<endl;else if(s[0]=='R'&&s[1]=='R'||s[1]=='R'&&s[2]=='R') cout<<2<<endl;else if(s[0]=='S'&&s[1]=='S'&&s[2]=='S') cout<<0<<endl;else cout<<1<<endl;return 0;
}

B - Making Triangle

直接暴力

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=110;
ll a[N];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++) cin>>a[i];sort(a+1,a+1+n);int res=0;for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)for(int k=j+1;k<=n;k++){if(a[i]==a[j]||a[i]==a[k]||a[j]==a[k]) continue;if(a[i]+a[j]>a[k]) res++;}cout<<res<<endl;return 0;
}

C - Walking Takahashi

数学题,先走到最近的。看看还剩几步能走分类一下即可。

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll x,k,d;
int main()
{cin>>x>>k>>d;ll cnt=abs(x)/d;if(k<=cnt) cout<<abs(x)-d*k<<endl;  else{ll now=abs(x)-d*cnt;if((k-cnt)&1) cout<<abs(now-d)<<endl;else cout<<now<<endl;}return 0;
}

D - Moving Piece

考场一直调都没调出来wtcl
预处理dist[i][j]数组,表示从i开始走j步能够得多少分。circle[i]表示从i开始走一圈会走多少步。暴力枚举每一个点为起点开始走,然后暴力枚举从该点开始走最终停到那个点。计算得分取最大。时间复杂度O(n2)O(n^2)O(n2)

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=5010;
ll dist[N][N],circle[N],mark[N];
bool st[N];
int pos[N],n;
ll k;
int main()
{cin>>n>>k;for(int i=1;i<=n;i++) cin>>pos[i];for(int i=1;i<=n;i++) cin>>mark[i];for(int i=1;i<=n;i++){memset(st,0,sizeof st);int j=pos[i],idx=0;while(!st[j]){st[j]=1;idx++;dist[i][idx]=dist[i][idx-1]+mark[j];j=pos[j];}circle[i]=idx;}ll res=-1e18;for(int i=1;i<=n;i++)for(int j=1;j<=circle[i];j++){ll x=dist[i][j];if(k<j) break;if(dist[i][circle[i]]>=0) x+=(k-j)/circle[i]*dist[i][circle[i]];res=max(res,x);}cout<<res<<endl;return 0;
}

E - Picking Goods

动态规划f[i][j][k]f[i][j][k]f[i][j][k]方格取数
状态表示:①集合:走到第iii行第jjj列,并且第iii行已经选择了kkk个的集合②属性:最大值
状态计算:
向右走
不选第iii行第jjj列:f[i][j][k]=f[i][j−1][k]f[i][j][k]=f[i][j-1][k]f[i][j][k]=f[i][j−1][k]
选择第iii行第jjj列f[i][j][k]=f[i][j−1][k−1]+g[i][j]f[i][j][k]=f[i][j-1][k-1]+g[i][j]f[i][j][k]=f[i][j−1][k−1]+g[i][j]
向下走
不选第iii行第jjj列f[i][j][0]=f[i−1][j][0…k]f[i][j][0]=f[i-1][j][0\dots k]f[i][j][0]=f[i−1][j][0…k]
选择第iii行第jjj列f[i][j][1]=f[i−1][j][0…k]+g[i][j]f[i][j][1]=f[i-1][j][0\dots k]+g[i][j]f[i][j][1]=f[i−1][j][0…k]+g[i][j]

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=3010;
ll g[N][N];
int n,m,k;
ll f[N][N][4];
int main()
{cin>>n>>m>>k;while(k--){int x,y;ll w;cin>>x>>y>>w;g[x][y]=w;}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){//不选择这一个格子ll w=max(max(f[i-1][j][0],f[i-1][j][1]),max(f[i-1][j][2],f[i-1][j][3]));for(int k=0;k<=3;k++) f[i][j][k]=max(f[i][j][k],f[i][j-1][k]);f[i][j][0]=max(f[i][j][0],w);if(g[i][j])//说明这个格子有数才能选择{//选择这一个格子for(int k=1;k<=3;k++) f[i][j][k]=f[i][j-1][k-1]+g[i][j];f[i][j][1]=max(f[i][j][1],w+g[i][j]);}}cout<<max(max(f[n][m][0],f[n][m][1]),max(f[n][m][2],f[n][m][3]))<<endl;return 0;
}

要加油哦~

AtCoder Beginner Contest 175总结相关推荐

  1. AtCoder Beginner Contest 175 E.Picking Goods

    AtCoder Beginner Contest 175 E.Picking Goods 题目链接 典型的 DP,如果不加限制条件的话就是从上到下找一条最长路,但是限制了每行只能选 3 个,所以就多加 ...

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

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

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

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

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

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

  5. AtCoder Beginner Contest 215 G - Colorful Candies 2

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

  6. 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 ...

  7. AtCoder Beginner Contest 215 E - Chain Contestant

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

  8. AtCoder Beginner Contest 204 F Hanjo 2

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

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

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

最新文章

  1. 福利,PyTorch中文版官方教程来啦(附下载)
  2. python爬虫项目-23个Python爬虫开源项目代码
  3. D1net阅闻:IBM宣布推出全新存储技术 存储速度快70倍
  4. 本学期的选修课:动感单车
  5. java 运行环境变量_java 环境变量配置与第一个程序运行
  6. 在vue单页应用中使用jquery
  7. Python 小白从零开始 PyQt5 项目实战(2)菜单和工具栏
  8. python图形代码怎么写_【Python3-API】定制化图像接口示例代码
  9. Webwork2之Action Result Type(转载)
  10. 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·003 用训练模型进行预测
  11. 失败的信息化案例分享
  12. 中国高铁走向全球,一个行业标准帮了大忙
  13. 隔行换色+删除+批量删除+排序+模糊查询+修改+添加
  14. 基于matlab的基带gmsk调制解调,基于MATLAB的GMSK调制解调实验
  15. 大学生发展规划与就业指导(三)万学网答案
  16. python案例3:货币转换---初级
  17. iosbanner_ios图片的局部拉伸-------App首页banner图的iPhone X适配
  18. python小数点后任意位_Python计算开方、立方、圆周率,精确到小数点后任意位的方法...
  19. PS 切图 保存图片
  20. 西邮 Linux 兴趣小组 2021 纳新试题

热门文章

  1. vst3插件_Steinberg发布新的VST 3.7 SDK,音乐软件开发者速来围观
  2. 算法题目——省份数量(dfs,bfs)
  3. 软件构造学习笔记-实验4
  4. 地理生物高考成绩查询2021,2021北京中考地理生物成绩查询时间【已公布】
  5. 数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
  6. sqrt()函数的注意事项
  7. python注入进程_向进程中注入Python代码
  8. 总结定时器设计方法_钢结构刚性固定钢柱脚设计方法总结,看完不仅懂操作,还懂了原理...
  9. c语言树写入文件,如何安全地实现文件树遍历(C语言)
  10. LRU和LFU的区别