csp-j2019游记
我一pj蒟蒻这点水平还来写游记?
算了,毕竟是第一次,记录一下吧
noip->csp
话说我跟竞赛是不是天生八字不合啊......
小学的时候学小奥,等我开始报名比赛,当时似乎所有竞赛都被叫停了,就剩一个特别水的建模
初一学了OI,到初二准备参加普及组,可是......你们都知道,因此我就成了一个从未参加过noip的OIer
我真是个竞赛杀手
csp-j2019
day -34
luogu秋令营pj第一次膜你赛居然让我一个蒟蒻得了\(rank1\),算是找回点信心吧.....
day -29
明天就初赛了我居然还在熬夜补数学?
day -28
csp-j初赛
本来这几天这天学校是要研学的,所以我们考初赛的就只好呆在学校了好像只有3个人这样欸
看我都为OI放弃研学了是不是应该让我AK?
中午在家看了看tg的题,复习了一下语法细节和排序相关的内容
济南是用机试,可能是因为报的人少?
话说那网页真的好卡......
不过今年初赛明显的改变就是终于没有那些令人厌恶的计算机历史了,多了对数学能力的考查
阅读程序也终于不再是只写结果了,虽然变成了全选择但难度我认为没降
其实这样也挺好,减少了考那些对OI没用东西,初赛也能一定程度上反应真实水平了
晚上还要上物理课.....
自测应该差不多80左右,群里的大佬说应该能过。
看到青岛当天就公布成绩了欸,看到大佬们都80+,90+,心里还是有点慌
day -23
提前知道成绩了,85.5,居然比自己估的还高,而且我还是市第五欸
前面的单选错的不多,主要是最后一个补全程序和那些阅读程序太恶心了可能也是我太蒻
那些能90+的也太强了吧%%%
开始冲刺复赛......
day -11&-10
期中考试,这几天基本没怎么学OI
怎么每年都和期中在同一段时间啊
像我们竞赛氛围不浓的弱省,平时能拿出点时间来学OI就不错了,期中附近自己想学学校、家长也不给这个时间啊
day -2
luogu的最后一场膜你居然在工作日下午,话说这是我学OI以来第一次停课
感觉这次FMT没暑假那次有意思,可能更侧重考前答疑吧
晚上终于通过了pj练习场,数论题太毒瘤了
day 0
上午做几道任务列表里的题,下午就去考场了
火车位置竟然还能排错,还要换车厢...
在宾馆刷几道dp,信心--
day 1
没去报道,继续刷dp,感觉没啥用了
我和dp真是没缘
午觉醒来感觉更困了,看了看博客里exgcd的板子,但感觉可能用不上......
进考场,调好编译器,可别人都有题就我电脑上没题是什么鬼?网也关了只能拿优盘考
我们考场居然还有不会文件读写的问监考怎么写freopen
读一遍题,感觉总体不难,至少没有去年摆渡车那种大dp
T1,字符串读入和简单处理,长度还是确定的,真是创了pjT1难度的新低
T2,只能算模拟吧,手写一个队列,如果是地铁就把时间和价格入队,是公交就先把过时的优惠卷出队,再依次查找符合条件的价格
我是把用过的优惠卷先不出队(否则容易超时),标记时间和价格为极小值,这样接下来就会被弹出
结果样例2就出问题了,这才发现编译器的调试不能用,一摁F5就error,只能手动输出变量调试了我可以把考不好赖在编译器身上吗?
我居然把\(continue\)都写成了\(break\)......
大样例还是没过。不管了直接看T3吧
果然是复杂的dp没思路,考完才知道并不太复杂
厕所是个好地方,你总能在那找到灵感思路然鹅我并没有
所以骗分:
- \(t=1\)直接输出m
- \(n=1\)和\(n,t\leq4\),搜索,感觉过不了,我怎么连复杂度都没估计就开始写了啊dfs套dfs?也许我这个程序等量子计算机出世才能跑出样例来吧
- \(t=2\)完全背包,以两天的价格差为价值出考场才想起来输出忘加m了...
- 剩下的写了个很扯的dp,连样例都没过
果然我还是死在dp上了
回头看T2,突然发现我只改了用过优惠卷的时间没改价格,改完程序终于过了大样例光T2就调了一个多小时
看T4,自以为图论不错但还是只想到奇偶判断就不会写了
写了个爆搜,到1号就判奇偶性
期望得分:\(100+100+10+40=250\)
实际得分:\(100+100+10+15=225\)
不过为什么考试的时候膜你抄的旋律一直在脑海中回想
出考场,听大佬们说T3就是完全背包,之后恍然大悟,每一天是独立的,那不就是跑\(t-1\)个完全背包吗?
之后T4好像是记录点到1好点的路径奇偶之类的反正我不会
听kkk说这是pj最简单的一次那为什么我还不会QAQ
晚上吃饭的时候看洛谷上说T3T4都是原题欸,可惜我没做到
两道原题而且还是T3T4这CCF也太过分了吧......
晚上回去把那道T3原题写了,才发现这题原来这么简单
其实这道题想不出真是不应该,\(T=2\)的部分分不就是提示吗。哎还是平时思考的太少(关于比赛的反思下面还会提到)
大佬们说今年pj真的简单了很多,心中也有点慌能不能上1=,毕竟我估的分也不一定能达到
day 2
在回去的车上一直用手机看洛谷,各种300+的大佬还在装蒻......
好像一共就留下这么几张模模糊糊的照片
晚上看到洛谷上好多初三高三的发了AFO的帖,希望他们都能在OI中有所获得吧。不过大学还有ACM呢
其实我毕竟才第一年,而且就算考不好也用不着AFO吧。心情终于好点了
明天就去上课了才发现还有一堆作业等着我
day 3
继续写游记......
还有一堆周末辅导班的视频要看......
看到zcysky发的帖子也是感慨一番
虽然自己只入坑不到一年,但OI已经给我了不少改变 文化课下降?
其实大多数人学OI为的肯定也不只是最后的那个奖吧,能和志同道合的一些人一同奋斗就已经是值得的了,所以享受这个过程吧
day 4
游记终于基本写完了,语文不好太费劲了
而且一天天数日期真是太麻烦了
day 7
牛客输考号查成绩只有\(0+100+0+0=100\)
全市连前50%都进不了,而且T1为什么会爆零呢?
一下午的好心情顿时没了。。。想知道为什么有好心情吗
day 17
下午出成绩,\(100+100+10+15=225\),还是比估的低了点,应该能1=吧
反思&总结&题目代码
T2调了一个多小时真是太浪费时间了....
其实也不是时间规划的问题,因为就算时间比预计的长了也不能放弃T2啊
所以以后写题的时候出了错尽量不要接着就跑到题解区去对照,那样对调试能力的提高真的不大。其实自认为考场上调试能力比代码能力有时候更重要吧,因为一个代码写出来调半天过不了在比赛上是很浪费的我太蒻了
而且不算太难的题本地多花点时间调一调,尽量一次AC
还有题解的问题,我感觉自己有时候就是太依赖题解了,即使不看代码好多题的思路还都是题解提供的。这就导致考场上即使比较简单的转换自己也完成不了
有时候自己想一道题稍微有点思路就想去题解区看看是否正确,其实这样虽然能减少一些时间,但对自己的提升真是少了好多。因为即使有的题有了点模糊的思路也不一定能实现出代码。
而且就算是错误的思路也能让自己总结出一些教训(比如往哪些方面思考必定时死胡同)之后避免吧
还是要多思考吧
所以我要立flag了,下次csp之前简单的蓝题和蓝题以下不看题解不看题解不看题解
T1,cin读入自认为最保险
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<queue>
#define LL long long
#define R register
char s[15];
int main(){
std::freopen("number.in","r",stdin);
std::freopen("number.out","w",stdout);
std::cin>>s;
int ans=0;
for(R int i=0;i<8;i++) ans+=(s[i]=='1');
std::printf("%d",ans);
return 0;
}
T2,day 1中说了,t和ti是时间,pr和pri是价格
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<queue>
#define LL long long
#define R register
int n;
LL t[100006],pr[100006];
int l=1,r=0;
LL ans;
int main(){
freopen("transfer.in","r",stdin);
freopen("transfer.out","w",stdout);
int bus=0,sub=0;
std::scanf("%d",&n);
for(R int i=1;i<=n;i++){
LL ty,pri,ti;std::scanf("%lld%lld%lld",&ty,&pri,&ti);
if(ty){//bus
bus++;
int flag=1;
for(;;l++){//find right time
if(l>r){
ans+=pri;
flag=0;break;
}
if(ti-t[l]<=45) break;
}
if(!flag) continue;flag=1;
R int use;
for(use=l;;use++){//find right price
if(use>r){
ans+=pri;
flag=0;break;
}
if(pr[use]>=pri) break;
}
if(!flag) continue;
t[use]=-99999999;pr[use]=-99999999;
}
else{//subway
sub++;
ans+=pri;
t[++r]=ti;
pr[r]=pri;
}
// std::printf("%lld l=%d r=%d i=%d n=%d\n",ans,l,r,i,n);
}
std::printf("%lld",ans);
return 0;
}
T3,t遍完全背包考场上为啥就没想到呢?。。。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstring>
#define R register
#define EN printf("\n")
#define LL long long
inline int read(){
int x=0,y=1;
char c=std::getchar();
while(c<'0'||c>'9'){if(c=='-') y=-1;c=std::getchar();}
while(c>='0'&&c<='9'){x=x*10+(c^48);c=std::getchar();}
return x*y;
}
int n,m,t;
int w[106],v[106];
int f[10006];
inline void max(int &x,int y){(x<y)&&(x=y);}
int main(){
t=read()-1;n=read();m=read();
for(R int i=1;i<=n;i++) v[i]=read();
while(t--){
for(R int i=1;i<=n;i++){w[i]=v[i];v[i]=read();}
std::memset(f,0,sizeof f);
for(R int i=1;i<=n;i++)
for(R int j=0;j<=m;j++)
if(j>=w[i]) max(f[j],f[j-w[i]]+v[i]-w[i]);
m+=f[m];
}
std::printf("%d",m);
return 0;
}
T4,分别存奇偶最短路,注意一号点可能是孤立的,就是没有边与它相连。因此bfs初始要从与一号点相接的点开始
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<queue>
#include<cstring>
#define R register
#define EN printf("\n")
#define LL long long
inline int read(){
int x=0,y=1;
char c=std::getchar();
while(c<'0'||c>'9'){if(c=='-') y=-1;c=std::getchar();}
while(c>='0'&&c<='9'){x=x*10+(c^48);c=std::getchar();}
return x*y;
}
int n,m,qq;
int to[200006],fir[100006],nex[200006],tot;
int dis[100006][2];
inline void add(int u,int v){
to[++tot]=v;nex[tot]=fir[u];fir[u]=tot;
}
std::queue<int>q;
inline void bfs(){
std::memset(dis,0x3f,sizeof dis);
for(R int i=fir[1];i;i=nex[i])
dis[to[i]][1]=1,q.push(to[i]),q.push(1);
while(!q.empty()){
int u=q.front();q.pop();
int w=q.front();q.pop();
for(R int i=fir[u];i;i=nex[i]){
int v=to[i];
if(dis[v][!(w&1)]>w+1){
dis[v][!(w&1)]=w+1;
q.push(v);q.push(w+1);
}
}
}
}
int main(){
n=read();m=read();qq=read();
for(R int i=1;i<=m;i++){
int u=read(),v=read();add(u,v);add(v,u);
}
bfs();
while(qq--){
int a=read(),lev=read();
if(dis[a][lev&1]<=lev) std::puts("Yes");
else std::puts("No");
}
return 0;
}
最后以zcysky那个帖中的几句话结尾吧
愿你们的人生,除了算法竞赛的深度,还有ctf的广度。愿你走遍大江南北,带着一身技术,去做自己喜欢的事。
这一次,让我们不计输赢,只谈乐趣。
code for win ×
hack for fun √
人活着,最重要的还是开心。
放下对输赢的执念,做个黑客吧
大多流水账,毕竟众所周知OIer的语文都不好
csp-j2019游记的更多相关文章
- CSP 2019 游记
Day -32 开坑. 没什么好说的,等个 5 天等初赛(应该叫第一轮认证)挂掉之后就能弃坑了. 今天开始停课,虽然每天只停半天,但是感觉还是特别的舒服~ 然而得等初赛过了才能全天停课-- 没关系,熬 ...
- CSP 2019游记 & 退役记
扶苏让我记录他AK CSP 的事实 ZAY NB!!! "你不配" 两年半的旅行结束了,我背着满满的行囊下了车,望着毫不犹豫远去的列车,我笑着哭了,笑着翻着我的行囊-- 游记 Da ...
- 第十八次CSP认证游记 | 2019.12.15
CSP认证的考试是Haogod介绍的,取得一定成绩之后能有机会参加CCSP的分赛区和全国决赛.这次来参加认证要感谢老师的奔走为我们申请学校的报销,虽然最终因为这不是比赛所以报名费和差旅费下不来,但是老 ...
- 2020 CSP&NOIP 游记
CSP初赛 CSP初赛 Day -1 早上打了模拟赛,T2寒假正好做过,然而还是还是被踩Orz,郑外NB!.中午出校吃了大盘鸡和拉面,还带回来了三瓶可乐. 初赛知识点看了两页不(看)想(不)看(懂)了 ...
- 2019年十一月(CSP S游记及AFO)
DAY-4 晚自习和班里以及搞OI的两个dalao商量了下决定停课了,当时觉得停得好晚,有的dalao都停一个月了.(现在感觉是明智的选择,我OI辣么菜还不如专注文化课) 晚上回家洗了个澡. DAY- ...
- CSP 2021 游记
\(\text{Day -INF}\) 看见了 \(\text{SCP2021}\) 的报名通知,想着应该教练会让我们统一报名,就没放在心上 然后-- 然后过了二十多天教练根本没有提报名的事情,搞得我 ...
- CSP2019 游记
\(\text{CSP 2019}\) 游记 \[\text{草}\] \[\text{By:Luckyblock}\] \[Day\ -1:\] \(19:00\) 送行饭, 被摁在墙角干了 因为偏 ...
- 2019CSP-S游记(真)
本来是考完了的,但是由于江西省的负责人员的不小心(?),江西oier的大部分代码都被删掉了, 所以我们需要重考,想看我之前CSP的游记可以看这个点我.下面是我江西重考的游记: Day0 又集训了一个星 ...
- CSP2019 滚粗记
目录 CSP 2019 游记 DAY 0 DAY 1 DAY 2 CSP总结 自测之后 CSP 2019 游记 坐标:GD,GZ 人物:hyf 组别:J和S 任务:划水 目标:划水 任务奖励:退役证书 ...
- 【CSP游记S】
简略:初三小蒟蒻本想体验一下提高,结果尝到了省选的滋味.fclose没有打,目前不知道会不会有影响,很伤心. day 1 大早上的6:30起床天好黑啊~,想起这次没有面包吃,到华生园买了包熊博士(毕竟 ...
随机推荐
- flask 入门 之 Python Shell (一)
1.安装插件: pip install flask_script 2.代码: #encoding:utf-8 from flask_sqlalchemy import SQLAlchemy from ...
- String 对象-->charAt() 方法
1.定义和用法 charAt() 方法获取指定下标的字符,下标从0开始 语法: string.charAt(index) 参数: index:指定的下标 举例:获取下标为2的字符 var str = ...
- N皇后问题 回溯非递归算法 C++实现2
运行结果 代码如下 #include <bits/stdc++.h> using namespace std; ; const char *LINE32 = "--------- ...
- 理解SVG的缩放 偏移的计算公式
SVG中DOM元素的偏移与缩放都是基于SVG元素的左上角,所以如何理解与计算SVG中元素的真实位置就比较难,下面的例子都以圆(circle)为例. 1.缩放假定缩放的比例为s,执行缩放后,圆的圆心坐标 ...
- threejs点击事件
示例浏览地址:https://ithanmang.gitee.io/threejs/home/201807/20180703/02-raycasterDemo.html 双击鼠标左键选中模型并显示信息 ...
- Julia基础语法复数和分数
1.复数 2.分数
- Java匹马行天下之JavaSE核心技术——异常处理
Java匹马行天下之JavaSE核心技术——异常处理 异常的简介 在Java中,异常就是Java在编译.运行或运行过程中出现的错误. 程序错误分为三种:编译错误.运行时错误和逻辑错误 编译错误是因为程 ...
- I. 蚂蚁上树
蚂蚁上树(Sauteed Vermicelli with minced Pork),又名肉末粉条,是四川省及重庆市的特色传统名菜之一.因肉末贴在粉丝上,形似蚂蚁爬在树枝上而得名.这道菜具体的历史,已不 ...
- java文件上传、下载、图片预览
多文件保存到本地: @ResponseBody @RequestMapping(value = "/uploadApp",produces = { "applica ...
- CentOS7.7下二进制部署MySQL多版本多实例实战
第一章 需求说明 部署MySQL5.7的三个多实例环境(端口分别为3307,3308,3309) 部署MySQL5.6和8.0版本数据库实例((端口分别为3316和3326) 第二章 环境准备 1.虚 ...