JSOI2018冬令营游记&总结(迁移自洛谷博客)
游记
一开始在冬令营还没开始的时候,十分期待,殊不知每天都有一场浩劫在等着我。
Day0
10:50出发,看见lbn同学发了一条说说,也随便发了一个。
然后在车上一直在睡觉,现在感觉挺后悔的,其实可以好好预习预习的,也不至于后面每天上午听得半懵半懂,下午实战天天挂。
yy和zcr他们在车上一直在玩游戏,吵得人心神不宁,不过他们也难得能那么浪了,毕竟每年也只就两次了。
晚上莫名其妙地就去代表开明去领取校团体奖。然后就是一场跟去年一模一样的讲座。
Day1
早上调闹钟5:30醒来,结果又在床上赖到了5:50才起来。然后赶紧去刷牙洗脸,全用冷水,让自己充分清醒。干完以后6:20,赶紧去食堂吃饭。
到了教室,遇到了夏令营的老朋友,就在旁边坐下了。写了一点作业。到了7:50,看见yy和zcr三个人才来,还不知道又睡到了几点。这些人,真不知道是怎么给初一初二当学长的,天天打游戏,睡到七点多钟...
然后由蒋炎岩老师来给我们讲课,ppt名字叫“好玩的字符串”。一开始是讲半节课的自动机,还是比较能听懂的。然后开始讲KMP,这个也没啥问题。然后期待他能开始讲AC自动机,结果AC自动机被三句话带过。。。下面就是一大堆题目,倒也还能听懂,因此第一天的课还是能听懂的。
下午就是我们的第一次实战。
看到T1,可以一眼看出这个是考组合数的。几个组合数的式子很明显,如果没有取模的话,完全可以做到O(K)的。然后这个除法取模,由于我见识浅薄,并不会。好吧,写一个O(nk)的骗点分吧。
T2题目不难,但是实现起来感觉挺烦的,于是直接放弃了。T3直接写了一个最暴力的暴力,其实稍微好一点的暴力也不难想,没想到还是很不应该的。
于是就这样很遗憾地30+0+30=60,低得可怕。下午听说BCD班那么多同学ak了,深感自己不行。晚上回来看了一下题解,T1的取模竟然是逆元相关,赶紧学了一下,又长见识了。晚上写出了T2。T3是“大根笛卡尔树”,还是决定回去以后再学吧。
Day2
上午基本上跟昨天一样的感受,能听懂。
下午的题目因为太粗心,T1的有个变量没有赋初值,T2因为自作聪明"为保险起见",把循环次数开大一倍,然后就这样超时了。于是30+60+0=90,其实T1T2完全有能力AC的。T3暴力都没写对,实在不应该。
Day3
上午也还行,听得也不错。
下午的实战更加悲壮了。T1用了一大堆数据结构笨拙地维护,只骗到了40分。T2想到了树形dp,但是不敢写,感觉有点不大对劲。T3的话还是很简单的,但我竟然没做出了太不应该了。
Day4
上午的网络流。讲课老师一开始认为我们“已经有了充分的网络流基础”,于是前面的基础部分10s一张幻灯片的速度跑过,后来发现我们很不行,就有重头开始讲。但由于老师备课是按照“有基础”的思路备的,所以讲的也不大听懂。还好我之间看过一些,但后面讲费用流的时候还是不大听懂,看来回去以后还是要好好看看。后半节课基本上是讲题目。一开始老师讲,下面同学一脸懵,老师可能也感觉到了,于是下面就出现了,一道题老师给我们看25分钟,讲5分钟的尴尬局面,后面的同学有不少开始自己干自己事情了。
下午的实战,第一题一开始对着小数据看规律,后来干脆用excel把n<=10的情况全画出来了,后来坐我左边的一个常州同学“自觉地”凑过来和我一起研究,最后一起发现了图形上的规律。其实完全可以对于4以后的几项,直接看数上的规律———它们的差的差相等。而这个规律在前4项上是不存在的,这也是这题坑的地方。然后T3的话一开始打算用二进制来存,但发现这样搞跟暴力几乎没有区别。然后突然想到可以建上15棵线段树,非常简单地就可以把这题做出来了。于是100+0+100=200,也还说的过去。
Day5
随后就是我们的积性函数和莫比乌斯反演,一开始听得还是能懂得,但后来听得就有点跟不上了,也不是不懂,就是思维总是比老师讲的慢几拍。
下午的实战更可怜了。第一题暴力结果尽然能过,原来是老师把数据弄错了。T2题目就没看懂,于是就没写。T3感觉应该是某种自动机,但由于自动机类的东西我还没写过,于是就写了暴力。
Day6
上午的概率和期望听得不错,但下午实战就彻底挂了。T1的dp其实是非常简单的,但是最后题目让我把答案对某个数取逆元,只能放弃。T2一开始感觉是递推,但后来发现这个递推式是无限的,又忘了可以通过一些运算转为有限,所以只能放弃。T3的根本方向搞反了。其实应该把一个点从下往上推,其实从上往下也能做但比较麻烦,就写出了一大堆bug。
Day7
上午就是计算几何基础了,结果一大堆的式子与方程把我绕得晕乎乎的,只能回去以后慢慢推了。
下午就回去了,在车上看了一会儿AC自动机,结果看睡着了。又被lbn在服务站喊醒,回来接着睡。毕竟这几天每天接近12点才睡,5:30就起来了,还是很困的唉。
总结
说实话上面的游记可以当废话看,总结才是最重要的。
这一次冬令营报了A层次,虽然在那里受尽神们的折磨,但我并不后悔。因为这一次冬令营告诉我,我存在着什么问题。如果单单只是以现在的状态和水平,去参加以后的考试的话,一定不会有好的结果的。同时,也让我见识到了外面学校的同学,是有多么强。
现在的水平与能力肯定还是不足以应对提高组的比赛的。算法与数据结构的积累只是一个方面,更重要的还是在已学过的算法里面的思维能力。能够想出正解才是真本事,学的东西再多不会用,那也只是纸上谈兵。
每天上午的听课,有的时候听不太懂,肯定是有原因的。有的时候可能会因为稍不留神错过了一点东西,而这恰恰是后面很重要的。或者是自己的思维与理解没有跟上老师的节奏,或是不能充分理解老师讲的每一个字。这些种种原因都有可能会给我的以后的学习带来一些困扰,所以都要努力克服。
下午实战的时候,经常不能拿到让自己满意的成绩。主要归结下来也还是这几点:
- 自己思考出了正确的解法,但是写出了问题。或者可以说,是自己写代码时候粗心所致,其实通过对拍等一系列手段完全是可以避免的。但是每天实战的时候,其他题目都还没有写就去对拍这一题,一直让我舍不得,所以没去对拍;或是实战的时候,看见那么多题不会写,受到了心理创伤,心里烦,不想对拍了。也有的是因为自己自以为是,擅自篡改数据范围,导致的超时等原因。
- 自己完全可以思考出正解,但没有思考出来。一方面是自己水平不够,不能对题目进行很深入的分析,透过题目的本身和出题人进行思想交流;另一方面,是自己平时经验不够,不能根据平时的经验给自己以一些提示。当然,上一点所说的心里烦乱的原因也是有的。但这里“水平不够”还是最主要的原因啊。
- 自己确实没有学过相关的算法。这样的问题,我还是需要通过广泛地学习来弥补自己的缺陷了。但是,这一个原因还是只占很少部分的,并不是主要原因。
- 想出的是错误的算法。这个归根到底还是属于第二条的原因了。还有的还是因为思维不够严谨,那么思路就很容易出漏洞。
经过上面的分析,其实关键词还是在“水平”和“严谨”两个词上面。水平问题,其实还是通过做题目,以及多加思考,训练思维,才能弥补自己能力水平与思维上的缺陷,这是我目前面临的一个主要的大问题。还有的就是严谨上面的问题了。严谨可以是思维严谨,也可以是代码严谨,没有写出不该写出的bug,白白失去那么多的分。严谨的这个问题可以说从初一开始就在困扰我,一直到现在都还没有解决。看来这是一个任重道远的过程了。我们的严谨主要就是能够不出不该出的错误,在出错以后,能够立即发现并改过来,使自己最后的程序是没有错误的。
因此,下一阶段的任务,主要还是着力于这两个方面上。我相信,只有通过我每天都认认真真的学算法,做题目,才能解决目前的这两个主要问题。我愿意为这付出我所有的时间和绝对的努力。
JSOI2018冬令营游记&总结(迁移自洛谷博客)的更多相关文章
- UVA10779 Collectors Problem 【迁移自洛谷博客】
这是一道不错的练最大流建模的基础题. 这种题目审题是关键. Bob's friends will only exchange stickers with Bob, and they will give ...
- Uva10491 Cows and Cars 【迁移自洛谷博客】
题目大意 假设有a头牛,b辆车(门的总数为a+b),你先选一个门,然后你最终选择前主持人会替你打开C扇有牛的门(不会打开你已经选择的门),问你要不要换门,输出"总是换门"的策略下, ...
- UVa1636 Headshot 【迁移自洛谷博客】
说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...
- 题解-洛谷P7114 字符串匹配
题面 洛谷P7114 字符串匹配 \(T\) 组测试数据.给定字符串 \(S\),问有多少不同的非空字符串 \(A\),\(B\),\(C\) 满足 \(S=ABABAB...ABC\) 且 \(A\ ...
- 【洛谷 P4934】 礼物 (位运算+DP)
题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...
- 洛谷 P3958 奶酪
谨以此题来纪念我爆炸的NOIp2017 这个题虽然很多人说是并查集,但是搜索也是毫无压力的,考场搜索细节写挂,爆了个不上不下的80分.今天无意看到这道题,终于AC 首先这道题要考虑一下精度问题,虽然出 ...
- 洛谷 P1019 单词接龙 (DFS)
题目传送门 当时一看到这题,蒟蒻的我还以为是DP,结果发现标签是搜索-- 这道题的难点在于思路和预处理,真正的搜索实现起来并不难.我们可以用一个贪心的思路,开一个dic数组记录每个单词的最小重复部分, ...
- 洛谷 P1126 机器人搬重物 (BFS)
题目链接:https://www.luogu.org/problemnew/show/P1126 吐槽:这题很阴险 一开始没把格子图转化成点图:30分 转化成点图,发现样例过不去,原来每步要判断vis ...
- 题解 洛谷 P2010 【回文日期】
By:Soroak 洛谷博客 知识点:模拟+暴力枚举 思路:题目中有提到闰年然后很多人就认为,闰年是需要判断的其实,含有2月29号的回文串,前四位是一个闰年那么我们就可以直接进行暴力枚举 一些小细节: ...
随机推荐
- CSS中的背景用法详解
background 属性是CSS中用于设置元素背景的属性,最简单的background属 性名,是针对背景若干设定的合并简写,最早的CSS只能使用单一背景图片,而在现在却可以设置多个背景图片.而不用 ...
- Milking Grid poj2185
Milking Grid POJ - 2185 时限: 3000MS 内存: 65536KB 64位IO格式: %I64d & %I64u 提交 状态 已开启划词翻译 问题描述 Eve ...
- Jquery取得Iframe中的元素
DOM方法: 父窗口操作IFRAME:window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.document ...
- 当执行一条查询语句时,MySQL内部经历了什么?
假如说我们有一张表 T ,表里只有一个字段 ID,当我们执行下边这条SQL语句时: mysql> select * fron T where ID=10; 在我们眼中能看到的只是输入一条 SQL ...
- pom里引入lib下的包后编译报 package com.sun.crypto.provider does not exist问题解决
最近正在迭代开发的一个项目编译安装时出现报“package com.sun.crypto.provider does not exist”的错误,由于本人能力水平有限,也是第一次遇到该问题,来来回回折 ...
- JS-线程、事件循环、任务队列
JS 是单线程的,但是却能执行异步任务,这主要是因为 JS 中存在事件循环(Event Loop)和任务队列(Task Queue). 事件循环: JS 会创建一个类似于 while (true) 的 ...
- unittest测试框架生成可视化测试报告-BeautifulReport
生成报告的样式: 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载Test ...
- day29—JavaScript中DOM的基础知识应用
转行学开发,代码100天——2018-04-14 JavaScript中DOM操作基础知识即对DOM元素进行增删改操作.主要表现与HTML元素的操作,以及对CSS样式的操作.其主要应用知识如下图: 通 ...
- 【Unity 系统知识】 各种路径
一.Assets下的Resources(Unity系统文件夹) :路径 Application.dataPath/Resources 可以使用Resources.Load("文件名字,注:不 ...
- Orcle获取当前时间加小时
如下是oracle 获取当前数据库时间加2个小时 select to_date(TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24: ...