NOIP2017游记+题解+标程


洛谷题目链接
题解和标程在后面(是在day20的后面,day1和day2里面的是游记不是题解!)
因为今年题目难度和风格太不友善,就不每一题分别写题解了
除了d2t3队列,点击进入


Day0

结束了三周的停课训练(其实不想结束)
回家休息一下(猩球大战3挺好看的)
晚上去广州
这次不在六中比赛,换到了二中
区别在于,六中可以在考场的窗外看到广州塔,二中外面全是山
二中在萝岗区,是个新区,新到晚上想出去玩,都只有一个地方可以去,摩拜也找不到,路灯什么的都没装。
趁着酒店搞消防演习停电,找到理由去万达走了一圈

Day1

这床好舒服啊
毕竟是四星级酒店
早餐也很不错,基本上想得到的都有

提前十五分钟进考场,转了几圈,没有我的位置?
直到快开始才给了我一个备用机
然后我惊奇的发现,我的备用机是win7,6代i5,8G,其他人的都是XP!!
rp++
然后不给试机?
那提前有什么用?

开始看第一题
啊!!!NOIPD1t1考数论??
然后我在草稿纸上写了ax+by=c
然后懵逼了好一会
算了先过

第二题是循环模拟,不久前做过一道题,那个要算具体循环次数,这题还是很简单的,秒掉

再看第三题
要求路程少于一个距离的路径数量
又懵逼了许久
然后猛然发现他的k只有50,意思就是最多求比最短路长50的路
那直接拆点不就行了吗?
切掉

回去看第一题
又看了许久,已经9:10了
我不敢再看了,赶紧打了个暴力,顺便找一下规律
打了个表,好像很有规律啊
然后仔细看了看,不就是n*m-n-m吗?
于是用暴力验证这个规律
好像是对的,那第一题意外切掉

去打第二题,c++字符串处理比较麻烦,调试也花了一点时间,但在10:10之前,大样例也过了

第三题先码了个spfa
然后复制一遍,加上k这个限制
测试样例,错了
接着我发现这种做法好像有错误,在累加方案的时候可能会算重
怎么办??先上个厕所冷静一下
回来之后发现拓扑排序一下就好了
迅速加上拓扑排序(说是迅速,打完已经十一点了)
调过小样例,又花了十分钟
试大样例,没过!!
但是我不会打暴力,也没时间拍
肉眼查错
查出一堆小错,改掉
过大样例了!!
11:50了!!
然而我还没有判无解
保险起见,先放着,把前两题再肉眼一遍,再试一遍有没有错
把提交的文件夹建好,各种操作处理完,已经没时间了
第三题只有70分,被卡成暴力分,AK失败
估分100+100+70

出考场后问大家,发现前两题都稳稳的,第三题大多都有70分
除了某些人有点小爆炸
听说一数论大佬推第一题推了半个钟,用上了各种高级玩意,还弄错了?

午餐在二中饭堂吃
纪中饭堂最烂定律还未被打破
吃饭时毫无疑问的在讨论问题
然后突然发现我第二题有一个bug
对于已经判断是ERR的,剩下的我直接用
scanf("%s\n",s);
处理掉
然后听说这样会读到空格就停止?
有大佬知道会不会的一定要告诉我
那我不就惨了?又被卡掉30分?只剩240了?
郁闷

中午回去,睡的挺舒服
下午骑车出去浪,发现新区人少,空气好,公园全铺了绿道,可以说是广州的世外桃源了
晚饭回二中饭堂,于是就发生了初中生大量请假不跟队去饭堂的事
听说他们会被处理
晚上又去万达(就这一个地方可以去)

其实day1结束后不久,各个Q群上就有各种评论了
UOJ群上的评论有一个很亮
NOIP奇数年必出神搜索题
NOIP2013mayan游戏
NOIP2015斗地主
包括什么靶形数独都在NOIP奇数年
立了个大flag

Day2

和day1一样,早餐很好,睡的很好
早上一个趣事
在酒店自助餐厅吃饭,因为不给试机,就不去那么早,在餐厅坐着和咖啡。突然老师站起来,拍了下手,说走了出发了。于是餐厅里绝大多数人站了起来,涌了出去,餐厅几乎空了……

还是没有我的位置,坐回备用机
看题第一眼
首先看到的是第一题上那个计算公式
woc,d1t1数论,d2t1立体几何??
然后仔细看了看
额这不就是联通块吗
n才1000,那不随便做吗,切掉

t2,看题感觉是最小生成树之类的
然后懵逼了几分钟
突然看到n才12
那不提示状压吗,状压很可做啊
我随手设了一个到x层,选取状态为s
然后就不会了,因为我不知道接下来怎么转移
很快,我想到了应该再枚举新一轮选取的点的状态,但是这些点和哪些点连,我还是不知道怎么做
于是状态加设一维:表示第x层选的是哪些点,预处理一下
好像可以切,先过

看t3
flag果然没破
应该是什么数据结构之类的
但是我只想到了直接模拟,还有n=1的splay
想到9点,无果
算了先打第一题

第一题十分钟打完,很顺利,样例几乎一遍过
打t2,因为考虑还算充分,边打边稍微修改了一下想法,10点左右打完
调过大样例后,试了一下极限
跑3s,好像有希望
算了一下空间,700M,希望破灭
把数组开到适应n=11,空间变成100M
时间是秒过
然后思考了一下70分之后有多少分
觉得大概80分
思考了好久怎么去掉一个状态
思考不到
那就先放着,去搞第三题

第三题很快打完模拟,随后发现并不需要模拟整个数组,仅需对操作模拟就行了
这样是q方的,q只有500,可以过50分
11点左右,看还有时间,就打了个splay&#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值