CSP2019-S宝典

——\(Memory\_of\_winter\)

放图镇楼

模板

博客

博客模板链接

如平衡树,网络流,最短路,\(\mathrm{LCT}\),\(\mathrm{LCA}\),可并堆,\(\mathrm{tarjan}\)缩点,\(\mathrm{ODT}\),\(\mathrm{KMP}\),\(\mathrm{AC}\)自动机等

快读

namespace io {
struct istream {
#define M (1 << 25)
char buf[M], *ch = buf - 1;
inline istream() { fread(buf, 1, M, stdin); }
inline istream& operator >> (int &x) {
while (isspace(*++ch));
for (x = *ch & 15; isdigit(*++ch); ) x = x * 10 + (*ch & 15);
return *this;
}
#undef M
} cin;
struct ostream {
#define M (1 << 23)
char buf[M], *ch = buf - 1;
inline ostream& operator << (int x) {
if (!x) { *++ch = '0'; return *this; }
static int S[10], *top; top = S;
while (x) { *++top = x % 10 ^ 48; x /= 10; }
for (; top != S; --top) *++ch = *top;
return *this;
}
inline ostream& operator << (const char x) {*++ch = x; return *this;}
inline ~ostream() { fwrite(buf, 1, ch - buf + 1, stdout); }
#undef M
} cout;
}

vim配置

如果考场没有\(\mathrm{vim}\)我也没办法,希望我\(\mathrm{dev}\)还用的习惯

source $VIMRUNTIME/vimrc_example.vim
se nu rnu ts=4 sw=4 ci si list lcs=tab:\|\- go=
" syntax on
" filetype plugin indent on
se guifont=Courier\_New:h14
colorscheme desert map <F9> <ESC>:w<CR>:!g++ -o "%<" "%" -Wall -Wl,--stack=16777216<CR><CR>
map <C-F9> <ESC>:w<CR>:!g++ -o "%<" "%" -Wall -Wl,--stack=16777216 -std=c++11 -O2<CR><CR>
map <F10> <ESC>:!"%<"<CR><CR>
map <F11> <F9><F8>
map ya <ESC>gg<S-V>G"+y imap <F9> <ESC>:w<CR>:!g++ -o "%<" "%" -Wall -Wl,--stack=16777216<CR><CR>
imap <C-F9> <ESC>:w<CR>:!g++ -o "%<" "%" -Wall -Wl,--stack=16777216 -std=c++11 -O2<CR><CR>
imap <F10> <ESC>:!"%<"<CR><CR>
imap <F11> <F9><F8> imap <C-s> <TAB><BS><ESC>:w<CR>a
map <C-s> <ESC>:w<CR>

对拍

@echo off
:loop
gen.exe > in.in
S.exe < in.in > S.out
M.exe < in.in > M.out
fc S.out M.out
if not errorlevel 1 goto loop
pause

CSP2019-S注意事项

考前

  1. 记得看模板
  2. 注意休息,不要睡太晚
  3. 设个闹钟
  4. 考前不要太紧张

考时

  1. 先全面浏览题目,简单分配一下时间
  2. 注意看数据范围,有没有什么特殊性质,把可能的也注意一下
  3. 如果看不出正解,可以先把所有可以写的部分分计算一下,确定保底分和预计写的时间
  4. 不要太紧张,可以通过喝水等方式缓解压力
  5. 计算答案和中间变量的大小,记得取模和开\(\mathrm{long\ long}\)
  6. 注意变量名,不要有\(\texttt{time,y1}\)等
  7. 计算数组大小,不要开小,变量类型不要写错
  8. 注意测试极限数据边界数据
  9. 有时间要写对拍
  10. 最后要跑一遍大样例,检查是否有注释未删除
  11. 最后留出\(15\texttt{min}\)时间检查文件夹(不要建双层文件夹)和文件名

考后

\(16\)号下午泼一泼隔膜,调整心态,不要影响到第二天

把\(Day1\)出问题的地方重新复习一下

游记

不一定会有。如果有的话可能直接附在后面,也可能是链接。(如果写了的话预计考完后也会放一份游记的博客)

UPDATE:2019-11-17:游记链接

Day -2(UPDATE:2019-11-14)

完了,我写游记了,是不是要被禁赛了。

刚刚写完不一定会有游记,然后开始写,感觉自己打脸真/cy快。

经过\(11,12,13\)连续三天的期中考的摧残(原来教务处说不用考,然后变成非创新班的要考语数英和选考科目,幸好技术不用考,不然要考\(6\)门更自闭),人要没了。

早上的考试自闭,希望明天的“信心赛”真的是信心赛(一不小心就成了自闭赛)

开始写宝典,期待明天见到Mrsrz(毕竟到了\(\mathrm{zhzx}\)半学期多,除了一试见了一次,其他都没见过)。

这应该是我第二次写游记,不知道后面几天还会不会继续写(看我后面泼隔膜泼的程度),估计是最后一次认真比赛了,后面要回去准备文化课了,所以说应该也是最后一次写游记。

到高中后信息学习状态一直起不来,看到题目根本想不出来方法,还没有去年\(\mathrm{NOIP}\)时候状态好,估计成绩还没那次好。希望今年\(\mathrm{CSP}\)可以\(rp++\),至少不要犯大的错误。为\(16,17\)号的考试努力。

经过提醒,突然发现我写的是CSP2019-J,/jk,然后赶紧改过来(肯定是因为我太菜了),幸好我在报名的时候没写错

\(\mathrm{FSB}\)来机房动员经典语句:

  1. \(\mathrm{dp}\)的模板多看看
  2. 变量名取的中文一点
  3. 要跳出题目看题目,从出题人的角度,任何题目都有缺陷
  4. 你们就是每个都低于\(400\)分,只要拍拍胸脯,问心无愧就是好的。我:\(\mathrm{FSB}\),我得到了\(0\)分,这就是我的水平,我拍拍胸脯,问心无愧

Day -1(UPDATE:2019-11-15)

上午信心赛:

T1:[CF24A]Ring road

T2:[CF254C]Anagram

T3:[CF852E]Casinos and travel

感觉是近年来最良心的一次,终于可以正常的得到\(300\)分啦!终于不是自闭赛啦!

\(\texttt{T1}\)最简单然后结束后发现是代码最长的。。。后面两题代码好短啊!\(\texttt{T3}\)原来是用来给我们练习树形\(\mathrm{DP}\)的,然后没几个人写\(\mathrm{DP}\),全写结论去了。

今天这么顺,明后两天估计要凉凉。

在车上得知蛟川出了一些奇妙的事情,可能不能和\(Mrsrz\)一起住。开始各种慌,慌自己“无家可归”。到了宾馆,在门口等了\(20\texttt{min}+\),然后听老师说可以和\(Mrsrz\)住一起,瞬间感觉好多了。

我们房间在\(21\)楼,房间正对面是一个差不多可以直通一楼的东西。害怕自己明天自闭一不小心就下去了。整了下东西,边看\(Mrsrz\)泼雀,一边在群里问有没有人一起吃饭。

\(17:50\)左右,和\(daklqw,Weng\_weijie,Mrsrz,YuHaoXiang\)吃晚饭,绕着宾馆套了无数圈,最后由\(daklqw\)拍板找到一个火锅店,吃得倒是很饱。

晚上到\(8:45\)(也就是我写这句话的时候)还没有开始看模板,明天要慌慌慌了。过会加油看。

今天几乎没有颓过,估计是觉得最后一次考试要认真点吧。

祝我明天能有一个好成绩!

Day 1(UPDATE:2019-11-16)

今天是考试第一天。昨天晚上居然没有泼隔膜,应该是我出来比赛以来第一次晚上没有泼隔膜,睡得挺好。

早饭居然是在小卖部????居然只有一张抵\(10\)元的票子???严重差评。奠定了自闭的一天的基础。

到了文渊中学,厕所也是差评,考点在地下车库,一般般吧。

开始比赛,密码是Ren2Zhen0Si1Kao9,为什么今年的这么正经。

开场先配\(\mathrm{vim}\),咦?为什么改不了字体?为什么显示什么Courier_New中包含1(记不太清了)?改了\(10\texttt{min}+\),算了算了,不改了,就默认吧。。。(考试后发现我写的是se guifont=Courier\_New:14,应该是se guifont=Courier\_New:h14)。果然不好好看\(\mathrm{vim}\)配置是不对的。

看\(\texttt{T1}\),是格雷码,看了一下。嗯,简单,写了一会然后写挂了,然后发现有个地方想错,随手调了一下,应该就过了。

接下来是\(\texttt{T2}\),好像有点不可写,先写个读入吧。去看\(\texttt{T3}\),好像可以写的样子,不然至少\(60\)分应该可以拿的(\(flag\))。突然发现这题是多测,还记得昨天车上,某人说:“\(\mathrm{CSP}\)绝对不会有多测的!”今天立马打脸。

诶?我好想\(\texttt{T2}\)会了?似乎就是一个拿栈保存一下前面的右括号,然后\(\mathrm{dfs}\),对每个点统计一下以这个点为结尾的合法串个数,前缀和一下就好了。回去花了不到半个小时把\(\texttt{T2}\)写了。嗯?大样例\(\texttt{RE}\)了?一看\(\mathrm{vim}\)配置,我把开栈写成了--static???怎么配置出错这么多。。

弄完配置发现没过大样例,调一调发现一个右括号好像不止加一个,改了一下过了大样例我就放在一边。

看起来时间还挺充裕的,难道今年\(Day\;1\)和去年难度差不多?不会人人\(300\)吧?开始写\(\texttt{T3}\),写写写,写了\(30\texttt{min}+\)。我写完了!一测数据,全部炸裂。突然感觉\(\texttt{T2}\)有点慌,时间看起来很够的样子,回去写对拍。一拍,\(n=500\)的数据一拍一个\(\texttt{WA}\)。怎么这么多错误,不会我暴力写挂了吧?看了一下,好像没问题???跑了个小数据,手模了一下,诶我的程序挂了诶!赶紧调,发现栈加元素的时候值写挂了。调掉。嗯?怎么还锅?然后发现我改的时候又加了一个锅。汗。

然后拍上啦(我也不知道到底过了没有)!去看了一眼\(\texttt{T1}\),输出了\(n=5\)的数据,看了一下没问题。时间也到了\(10:30\)。赶紧回去调\(\texttt{T3}\),今天最不幸的事情发生了。\(11:00\),因为我前面程序开栈都是\(10^9\)。然后我内存没了???大概每三次编译只有一次可以成功的样子?(内存没了?肯定是因为今天太热了[1])。就有点慌。到了\(11:50\)左右,彻底无法编译了。感觉今天自己要垫底了,心态爆炸,向监考老师反映了一下,让我重启,彻底没有时间写暴力,\(\texttt{T3}\)爆零,最后还申请延长了\(5\texttt{min}\),然后并没有干什么。

预计\(100+100+0=200\),不知道挂了没有。

出来发现,绝大部分人\(\texttt{T3}\)打的都是\(10\)分暴力,也没有被拉太多,但肯定是低于大多数的人的分数。内心有点崩溃,出来的时候袋子刚好发完,我也没拿。

中午和昨天的人吃饭,在路上看到一家饭店叫“梁大妈妈菜”(居然\(D\)梁大的妈妈菜???)

下午和\(Mrsrz\)以及\(Weng\_weijie\)一起玩\(\mathrm{Minecraft}\)(其实有点不想玩了),后面心态又好了点。晚上还是一样的人出去吃饭。回来后,\(8:15\)应\(Mrsrz\)的要求,泡了碗泡面,边吃边写这游记。我居然写了\(1\texttt{h}\)?期间被\(Mrsrz\)怒\(D\)若干次“你好了没有啊?怎么写这么慢啊?”

希望明天可以发挥的比今天好吧,加油

Day 2(UPDATE:2019-11-17)

第二天,今天考完试直接走,早上整东西退房。

到考场,昨天晚上没看信息的东西,感觉有点慌?密码是@zhuajin1SHIJIAN7,看起来今天时间不够(笑)?打\(\mathrm{vim}\)配置,这次没有出问题,害怕内存又不够了,就没有手写开栈,打算遇到题手动再打一遍。

打开题目,\(\texttt{T1}\)看起来还行?仔细想了想好像不是很能写,看了下数据范围猜测复杂度\(O(n^2m)\)。然后就去看\(\texttt{T2}\),莫名感觉好像暴力很好写的样子(\(flag\))?接着去看\(\texttt{T3}\),这个暴力肯定是可以写的,\(55\texttt{pts}\)应该是稳的,就放了放,去想\(\texttt{T1}\)。

大概\(9:30\)的时候,我还没有得分,有点慌。突然\(\texttt{T1}\)有点想法,先求出只满足条件一的方案数,求出其中不满足条件二的部分减去。可以知道最多只有一种菜超过了一半,枚举哪一种菜超过了一半,做一个背包。写了个\(O(n^2m)\)的,写完一测样例,发现我在写背包的时候没有考虑到总共做了几道菜,然后只得又加了一个循环。对于每一种菜,记录总共做了\(i\)道菜,其中\(j\)种是这种菜的方案数,复杂度\(O(n^3m)\),可以拿到\(84\texttt{pts}\)的分数。后面想想也不会优化,就放着了。

这时候大概\(10:10\),赶紧打了一个\(\texttt{T3}\)的暴力,拿了\(55\texttt{pts}\)。\(10:30\),去看\(\texttt{T2}\),写个两个假算法,然后感觉从后往前考虑,取最短的可行的段作为一段似乎可以,然后继续写,复杂度\(O(n^3)\),写完样例一二都过了,心中还是有一点兴奋的,然后样例三就挂了。已经\(11:20\)了,赶紧写了个\(O(2^n)\)的暴力,拍了组小数据,然后发现我在判断把后面一部分变成一段是否可以上有问题,但是我还不会写,自闭了。

大概\(84+12+55=151\),总分\(200+151=351\),考试出来后突然想起\(\texttt{T2}\)应该把暴力的范围开大,这样如果数据有梯度也可以多得一点分,不过考试已经结束了。

出考场后,发现人人\(230+\)。退役了。这次\(\mathrm{CSP}\)准备不是很充足,状态也没有去年好,出发前就估计这是我最后一次认真参加信息竞赛了,明天应该就是只是参加比赛而不准备了。现在结果真实放在眼前,有一点不舍吧,毕竟是从五年级开始学的,和各个同学关系也特别好;但是我也知道我无法沿着这条路一直走下去,今后也不需要担心是应该学信息还是文化课了,也算是为我指明了一条路吧。以后还是会怀念和竞赛的同学们一起学习的时光,祝愿他们都可以得到他们满意的结果。

\(skip2004\)似乎\(AK\)了\(\mathrm{CSP}\)?无敌啊。

问了下同学,\(\texttt{T1}\)只需要改为对每种菜,记录这种菜的道数减去其他菜的道数就可以到\(O(n^2m)\)了。\(\texttt{T2}\)大部分人写的\(O(n^2)\)的\(\mathrm{DP}\),\(\texttt{T3}\)写一个线段树合并。\(\texttt{T2},\texttt{T3}\)我都没有去搞懂,毕竟不学信息了嘛。

想想这一次比赛,感觉我什么也没有做,隔膜也没怎么泼,信息学也没有什么成绩。要回去补文化课了。

这篇游记应该是我最后和信息学的关联了,写完这篇游记就专心投入文化课了。以后应该只有在选修课的时候才可以见到我了,也许会写一点题,博客也可能会发一些题解,但是肯定不会完全尽心了。\(\mathrm{AFO}\)啦!

在出分了以后这篇游记可能还会更新一下,不过都是以后的事了……

Day3(UPDATE:2019-11-18)

还是没法完全忘记信息学。

正式进入文化课学习了,发现期中考我参加的学科试卷就讲完了,我没参加的学科试卷都没讲完。。。

才停课三周,其中还有一周是期中考,一些科目就已经有点跟不上了,习惯了机房的生活,在教室总是有点不舒服。怀念在机房无所顾忌没有担忧的生活。每天对着电脑,想写代码就写,不想写的时候也可以颓废;没有什么明确的任务;可以随时和同学聊天……然而这一切都已经过去了。

今天下午体活课前,还是没忍住,去了趟机房,借用\(little\_gift\)的电脑在洛谷和校内\(\mathrm{OJ}\)上发了\(\mathrm{AFO}\)的消息,宣告着今后信息学最多只能成为我的兴趣爱好,而再也不可能为之奋斗了。听说\(little\_gift\)因为\(\mathrm{MLE}\)可能有点爆炸,希望他不会有事。我花了\(5\texttt{min}\)做完这些事就离开机房回了教室,毕竟这再也不会容纳我了。

从去年\(\mathrm{PKUWC}\)结束就开始讲什么“明年\(\mathrm{NOIP}\)后就退役”。然后,因为升学的几次提前招生的失利,我有差不多一个学期没有再碰\(\mathrm{OI}\)。而后在得知\(\mathrm{NOIP}\)取消后,同学们笑我:“这下你退役不了了。”我也是一笑了之。我知道我很难再有好的状态来参加竞赛了。

一个多学期的生疏和由于升学考失利而导致的分班问题,是本来就不拔尖的我连恢复到以前的水平也做不到。

我终于能有较为完整的假期了!我终于不用假期里天天早起坐车赶去蛟川了……但是,当这结果真摆在眼前的时候,我还是想选择这忙碌却又充实,与同学们一起玩闹的时光。

明明自己对一切事都看得很开,而且这也不会是我最后一次来到这个机房,但我总还是有一些伤感,一丝想哭的冲动。上一次这样大概是初中毕业晚会吧。

晚上回到家,看到洛谷上征集游记,就发了一下。这一篇是在晚上晚自习时候写完,然后回家后更新的。

我热爱过信息学,我为之努力过,我无怨无悔!致无悔的青春!


  1. 我名字:\(Memory\;of\;winter\),被同学们戏称为“冬天的内存”,只要是冬天,我就有无尽的内存,笑 ↩︎

CSP2019-S宝典的更多相关文章

  1. OpenGL超级宝典笔记----框架搭建

    自从工作后,总是或多或少的会接触到客户端3d图形渲染,正好自己对于3d图形的渲染也很感兴趣,所以最近打算从学习OpenGL的图形API出发,进而了解3d图形的渲染技术.到网上查了一些资料,OpenGL ...

  2. 《LoadRunner12七天速成宝典》来了

    看到自己的新书又要发行了,算算从09年第一本书开始,不知不觉已经是第四本书了(帮朋友合写的书不算),每次写完之后都会说太累了,不想再写了,但是却又次次反悔,吞下食言的苦果.如果非要说第四本书的感受,那 ...

  3. 【转】Java面试宝典2015版(绝对值得收藏超长版)(一)

    (转自:http://mp.weixin.qq.com/s?__biz=MjM5MTM0NjQ2MQ==&mid=206619070&idx=1&sn=fcb21001d442 ...

  4. OpenGL超级宝典visual studio 2013开发环境配置,GLTools

    做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...

  5. .NET工程师面试宝典

    .Net工程师面试笔试宝典 传智播客.Net培训班内部资料 这套面试笔试宝典是传智播客在多年的教学和学生就业指导过程中积累下来的宝贵资料,大部分来自于学员从面试现场带过来的真实笔试面试题,覆盖了主流的 ...

  6. SEO实战宝典阅读笔记

    1. 对搜索引擎更友好 1.1 sitemap sitemap自动生成 https://www.xml-sitemaps.com 谷歌 sitemap.xml 百度 sitemap.html 1.2 ...

  7. Getting Real 开发宝典

       此书是管理者.程序员或设计师必学的宝典.它以更小的规模,更快的速度,更高的质量来完成软件开发,使产品更简单.粗暴(精致).      近百条精炼总结,不要奢望一次全部记住或理解,只要能理解或做到 ...

  8. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  9. 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决

    看OpenGL超级宝典的时候,遇到一个函数 “gltDrawTorus”,在TRANSFORM和SPHEREWORLD中都有用到.但是一开始在自己写示例代码里时却没法使用,而在作者的代码目录结构下却可 ...

  10. 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程

    看<OpenGL超级宝典(第四版)>的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思. 在第4.5.2节之前,自己写的的代码都没有使用作者的gltoo ...

随机推荐

  1. Get SAP Code Page by External Name

    CL_ABAP_CODEPAGE - SAP_CODEPAGE 取SAP对应code page内码:

  2. 两个概念:CCA和LDA

    典型相关性分析(CCA) https://blog.csdn.net/Mbx8X9u/article/details/78824216 典型关联分析(Canonical Correlation Ana ...

  3. javascript之DOM(三Element类型)

    Element类型用于表现XML和HTML的元素,提供了对元素标签名.子节点及特性的访问. 要访问标签名可以使用nodeName和tagName属性,其返回值是一样的. <p id=" ...

  4. Shiro RememberMe 1.2.4 反序列化漏洞详细复现

    0x00 前言 今天上班的时候收到了一个复测的任务,打开一看,shiro反序列化漏洞,What?这是个什么东西,经百度查找后才知道,原来是Java的开发框架,好吧,还是没听说过..由于初测报告上的过程 ...

  5. 3. 卷积神经网络(CNN)

    关于数据集的介绍 top-N正确率指的是图像识别算法给出前N个答案中有一个是正确的概率. 在图像识别方面,基于卷积神经网络的图像识别算法给图像识别问题带来了质的飞跃,从2013年之后,基本上所有的研究 ...

  6. pycharm调试添加命令行参数

    UI界面: Run->Edit Configurations->Parames

  7. MySql数据库中的datediff函数

    MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数   一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果:

  8. USACO Slowing down

    洛谷 P2982 [USACO10FEB]慢下来Slowing down 洛谷传送门 JDOJ 2684: USACO 2010 Feb Gold 3.Slowing down JDOJ传送门 Des ...

  9. 【java】int与bigdecimal的相互转换

    int转bigdecimal BigDecimal number = new BigDecimal(0); int value=score; number=BigDecimal.valueOf((in ...

  10. KDiff3使用指南

    http://kdiff3.sourceforge.net/ KDiff3 is a diff and merge program that compares or merges two or thr ...