!!!爆零警告

得分


凄凄惨惨戚戚
我上来浏览了一遍题目,觉得都挺简单的(事实证明我太年轻了),挑了我认为最简单的第二题开始做,做了半个小时,A掉了。然后做第二题,拿了部分分(无嵌套30分)。第三题写了一个无-1的情况的部分分(不知道为什么只得了5分)。第四题写了一个爆搜,没得分(连爆搜也写不对了)。第一题没找到规律,结束后看题解发现很简单,自闭。

T1

[2021CSP-J]模拟赛#9-T1-蜗牛老师的瓷砖

简单规律题。。。然而我爆零了

code

#include<bits/stdc++.h>
using namespace std;
int a,n,m;int main()
{freopen("brick.in","r",stdin);freopen("brick.out","w",stdout);scanf("%d",&a);for(int i=1;i<=a;i++){int flag=0;cin>>n>>m;if(m%2!=0) {printf("NO\n");flag=1;}for(int j=1;j<=n;j++){int a,b,c,d;cin>>a>>b>>c>>d;if(b==c&&flag==0) {printf("YES\n");flag=1;}}if(flag==0) printf("NO\n");}return 0;
}

T2

[2021CSP-J]模拟赛#9-T2-蜗牛老师的画

这道A了。
其实有点类似于动态规划吧,第nnn只蜗牛画第mmm幅画的时间只与 前一只蜗牛画这幅画 和 这只蜗牛画上一幅画的完成时间 有关

code

#include<bits/stdc++.h>
using namespace std;
const int N=50005;
long long m,n,mp[N][7],ans[N][7];int main()
{freopen("draw.in","r",stdin);freopen("draw.out","w",stdout);scanf("%lld%lld",&m,&n);for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){scanf("%lld",&mp[i][j]);}}for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){ans[i][j]=max(ans[i-1][j]+mp[i][j],ans[i][j-1]+mp[i][j]);//非常重要}}for(int i=1;i<=m;i++){printf("%lld ",ans[i][n]);}return 0;
}

T3

传送门

这道题其实就是一个不难的模拟,题目怎么说,你就怎么做。读懂题你就发现,答案就是统计 add 语句 的执行次数。得到正确答案,如果说关键点的话,可能就是解决循环嵌套时怎么处理 add 语句的统计问 题。就本题,没有特殊的跳转和括号, 总是跟它前面最近的那个匹配,很容易想到用栈去处理,很方便。具体方法是:每进入一层循环,就将该层循环内语句的执行次数(之前所有for循环执行次数的乘积)压入栈中,遇到一次 add 操作就将答案加上栈顶的值,遇到 end 就弹出栈顶。

特别提醒: 这里要特别注意,在最坏情况下 add 的执行次数,远远超过了long long的表示范围,导致我们无法判断变量的值是否真正溢出。解决这个问题的方法很简单:当压入栈中的值超过了变量最大值(232-1)的时候,我们用 代替真正的执行次数压入栈。最坏情况下,变量的值最大只有 ,在long long的范围之内,这样就可以正确判断变量是否溢出了。

coding…

我暂时还没有做出来。。
张梓烨大佬用递归做的

#include<bits/stdc++.h>
using namespace std;
long long x,sum,ff;
void myfor(long long f) {char c4,c5,c6;cin>>c4>>c5>>c6;sum--;if(c4=='e') {ff--;return;}if(c4=='a') x+=f;if(c4=='f') {ff++;int a;cin>>a;myfor(a*f);}if(ff!=0)myfor(f);
}
int main() {freopen("overflow.in","r",stdin);freopen("overflow.out","w",stdout);cin>>sum;for(int i=1; i<=sum; i++) {char c1,c2,c3;cin>>c1>>c2>>c3;if(c1=='a') x+=1;if(c1=='f') {ff++;int a;cin>>a;myfor(a);}}if(x>4294967296||x<0){cout<<"OVERFLOW!!!";return 0;}cout<<x;return 0;
}

常梓良大佬的做法

2表示for,用-2表示end,用1表示add。很巧妙的做法

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
string s;
long long x;
long long val[N];
long long f[N];
long long ans;
long long Maxn=1;
int id_for[N];
int tot;
int k;
int main(){freopen("overflow.in","r",stdin);freopen("overflow.out","w",stdout);for(int i=1;i<=32;i++) Maxn*=2;Maxn--;cin>>n;for(int i=1;i<=n;i++){cin>>s;if(s=="add") f[++tot]=1;if(s=="for"){f[++tot]=2;id_for[++k]=tot;cin>>val[k];}if(s=="end"){f[++tot]=-2;}}
//  for(int i=1;i<=tot;i++){//      cout<<f[i]<<' ';
//  }
//  cout<<endl;
//  for(int i=k;i>=1;i--){//      cout<<val[i]<<' ';
//  }
//  cout<<endl;
//  for(int i=k;i>=1;i--){//      cout<<id_for[i]<<' ';
//  }
//  cout<<endl;for(int i=k;i>=1;i--){int id=id_for[i];long long temp=0;for(int j=id;;j++){temp+=f[j];if(f[j]==-2){f[j]=0;break;}f[j]=0;}temp*=val[i];f[id]=temp;if(f[id]>Maxn){cout<<"OVERFLOW!!!"<<endl;return 0;}}for(int i=1;i<=tot;i++){ans+=f[i];if(ans>Maxn){cout<<"OVERFLOW!!!"<<endl;return 0;           }}cout<<ans<<endl;return 0;
}

T4

传送门
贪心,模拟。可以发现对于某一段序列,越长越好。贪心保证每段都是最长就可以了。注意:等差数列的公差可以为0 。这道题思维细节比较多,考查代码实现能力。

coding…

T5

区间DP
感觉跟暑假集训没学一样(白学公主)。考场上写了个dfs大法师,写错了,一分也没得。

大佬学长的博客总结

大佬们的智慧

赛后总结

没啥好说的,只能说OpenEnglish变得更智障了

部分分很重要,一定要好好写
爆搜很重要,一定要会
在考场上遇到 不会的 or 没见过的题 不要慌,集中精神仔细思考
学会寻找规律
最后一点,还是做的题太少了

[CSP冲刺班]CSP-J2021模拟赛#9相关推荐

  1. 洛谷 P5594 【XR-4】模拟赛 视频讲解(二维数组、模拟)

    洛谷 P5594 [XR-4]模拟赛(需要 二维数组) 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 ...

  2. P5594 【XR-4】模拟赛

    题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OIer 都有各自的时间安排,巧合的是,他们在接下来的 ...

  3. 洛谷:P5594 【XR-4】模拟赛

    [XR-4]模拟赛 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nnn 名 OIer 参与这次集训,教练为他们精心准备了 mmm 套模拟赛题. 然而,每名 OIer 都有各自的时间安排, ...

  4. 洛谷P5594-【XR-4】模拟赛(模拟)

    题目描述: X 校正在进行 CSP 前的校内集训. 一共有 nnn 名 OIer 参与这次集训,教练为他们精心准备了 mmm 套模拟赛题. 然而,每名 OIer 都有各自的时间安排,巧合的是,他们在接 ...

  5. 洛谷P5594-【XR-4】模拟赛

    题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OIer 都有各自的时间安排,巧合的是,他们在接下来的 ...

  6. 用vis数组保证只入队一次P5594 【XR-4】模拟赛

    文章目录 [XR-4]模拟赛 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 样例 #3 样例输入 #3 样例输出 #3 提示 小 ...

  7. 「CSP-S模拟赛」2019第四场

    「CSP-S模拟赛」2019第四场 T1 「JOI 2014 Final」JOI 徽章 题目 考场思考(正解) T2 「JOI 2015 Final」分蛋糕 2 题目 考场思考(正解) T3 「CQO ...

  8. 2020/10/31模拟赛

    CSP第二轮前模拟赛 我太菜了 T1 题目描述 奶牛们对围栏的高度非常敏感.奶牛希望围栏高度既不太矮以至于他们没有安全感,也不太高以至于她们看不见围栏外的天地.所以每头奶牛都有自己喜欢的高度.奶牛有N ...

  9. 长沙学院2022蓝桥杯模拟赛一

    长沙学院2022蓝桥杯模拟赛一_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJhttps://ac.nowcoder.com/acm/contest/26010#ques ...

最新文章

  1. Fiori 出试(WEBIDE平台)day1
  2. 【Python】利用graphviz和pycallgraph库自动生成Python函数调用关系图
  3. mysql unix_timestamp 格式化_FROM_UNIXTIME 格式化MYSQL时间戳函数_MySQL
  4. Linux中的 硬链接ln和软连接ln -s
  5. requestparam的作用_Spring MVC:请解释@RequestParam和@ModelAttribute之间的区别
  6. Android使用jxl快速生成Excel表
  7. Centos 7安装docker实战
  8. python分片上传_分片上传_分片上传_上传文件_Python_SDK 示例_对象存储 OSS - 阿里云...
  9. ise生成msk文件的用处_ISE中上载程序出错,msk文件缺失有关问题
  10. Codeforces Round #324 (Div. 2) C. Marina and Vasya 贪心
  11. python pip 快速安装第三方库和下载好whl文件
  12. 使用Secure Store Service连接数据库
  13. 深度deepin安装腾达U12无线网卡驱动
  14. ERROR ITMS-90096: Your binary is not optimized for iPhone 5 错误
  15. 青山常在,绿水长流,又一个新地方了
  16. 漂亮的网络验证php源码,好用的冰心php网络验证和源码例子
  17. NHibernate(一) 转自止于至善
  18. “真正的”欧洲杯,鸡冻不鸡冻?
  19. Matlab 许可证文件过期
  20. 《CAT NAUGHTY CARP》App Store 隱私政策網址(URL)

热门文章

  1. JOI2017 春季合宿:Railway Trip
  2. vue加载图片出现404用默认图片替换的方法
  3. 进入docker容器的方法
  4. App中所有页面添加水印(支持单行和多行)
  5. 推荐一个Web前端程序员必须要吃透的书籍!
  6. 基于Java毕业设计安路友汽车租赁源码+系统+mysql+lw文档+部署软件
  7. Uniapp|image无法显示图片
  8. 自用PTA题目记录0024
  9. 对有序表的查找(快步搜索算法)
  10. iOS 仿百度外卖,饿了么-商品列表页