NOIP2021游记

这个东西其实在考完第二天就写了,但是一直没放到博客上。
源代码是 T e x \rm{Tex} Tex 文件,直接用 p a n d o c \rm{pandoc} pandoc 转换,可能会有些问题。

赛前

Day 0

7 : 00 7:00 7:00 从学校出发,没想到 7 : 30 7:30 7:30 左右就到了,酒店名字是亚洲大酒店,看起来似乎有点旧,但是还是很豪华。

晚上的时候想着“好不容易出来玩玩,还是要吃顿好的。”,于是去 M \rm{M} M 记吃了点东西,顺便请 l j z \rm{ljz} ljz t j p \rm{tjp} tjp ,沾一沾光。

爸妈居然跟过来了,有点震惊。

Day 1 Morning

早餐非常好,就是餐厅转得有点慢,吃完早餐也只是转了个几十度。

进考场之前被告知食物和水不能带进考场,表示非常无奈,只好提前吃了两个巧克力,喝了半瓶水。

赛时

开考的时候心跳很厉害,尝试冷静 … … \dots\dots

先看第一题,题目似乎很好理解,想到了一个类似某素数筛法的算法直接打出所有合法数字,然后用一个数组 nxt \verb|nxt| nxt 记录一下某个位置之后的第一个合法数字,大样例用了大概 0.53 s 0.53s 0.53s 左右,看起来还行,下一题。

第二题开局看错题,序列看成了集合,还好多看了几遍。可以设出 dp \verb|dp| dp 方程,状态看起来有点鬼畜,要考虑到第几个 v v v ,当前用了序列中的多少个位置,当前的 k k k 以及进位信息,状态数是 O ( m n 3 ) O(mn^3) O(mn3) 的,貌似可以,转移很简单,要把可重排列的阶乘逆元乘进去做贡献,最后统计答案的时候再把 n ! n! n! 乘上,一个傻错误调了很久,还好还是过了样例,下一题。(当前用时 1   h o u r + 20 min ⁡ \rm 1\ hour + 20 \min 1 hour+20min

看第三题,熟悉的 a i = a i + 1 + a i − 1 − a i a_i=a_{i+1}+a_{i-1}-a_i ai=ai+1+ai1ai ( % % % y y c \%\%\%yyc %%%yyc) ,弄成差分数组,原操作就是交换相邻两项差分值,因为 a a a 必定递增,只能让较小的差分值放在中间( d 1 d_1 d1 另当别论),然后 … … \dots\dots 然后就不会了,考场的时候拆差分数组化式子,化了个寂寞。(当前用时 2   h o u r \rm 2\ hour 2 hour)然后看看原始的计算式,发现 88 p t s 88\rm pts 88pts 实际上就是记录当前用了多少个多少个差分值,当前序列的和是多少,然后让平方的和最小的 dp \verb|dp| dp ,新的差分值可以插到当前序列的开头或者结尾,转移式子非常恶心,当时太贪心,想拿 100 p t s 100\rm pts 100pts ,但是脑子已经抽了,想不到差分值 0 0 0 一定是放在中间的,想了半天,于是只好写 88 p t s 88\rm pts 88pts ,但是脑子没缓过来,式子写错了很多次,花了大量时间终于过了样例,下一题 (当前用时 3   h o u r + 10 min ⁡ \rm 3\ hour+10 \min 3 hour+10min

第四题看背景以为是博弈论,结果不是(幸好),是个非常多细节的数据结构题,看起来似乎是线段树合并一类的东西,但是只剩一个小时多了,只好去写部分分了,部分分依然恶心,想写一个只有直行道路的离线并查集都难,放弃思考,去冲暴力了。没想到暴力就写了 100 + l i n e s 100+ \rm lines 100+lines,过了前三个样例, r u n \rm run run了。(当前用时 4   h o u r + 15 min ⁡ \rm 4\ hour+15 \min 4 hour+15min

检查前三题,过样例 + + +检查数据范围 + + +心理安慰。

赛后+感想

最大愿望:不挂分,除此别无所求。

A F O \rm AFO AFO

左脚长疣,拖了一段时间才治疗,恐怕最近是动不了了。

11.29

成绩出来了,没有挂。有点不爽, T 3 \rm T3 T3 写随机化轻松 100 p t s 100 \rm pts 100pts ,数据有点水啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值