zoukankan      html  css  js  c++  java
  • NOIP2021游记

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

    赛前

    Day 0

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

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

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

    Day 1 Morning

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

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

    赛时

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

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

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

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

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

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

    赛后+感想

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

    \(\rm AFO\)

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

    11.29

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

  • 相关阅读:
    2-Rsync备份-全网备份
    1-Rsync备份-备份概述
    复杂声明学习总结
    EasyExcel的用法
    listvue
    解决Error: Cannot find module 'node-sass'问题
    Webpack
    babel的使用
    nodejs的使用
    vue入门
  • 原文地址:https://www.cnblogs.com/juruohjr/p/15699355.html
Copyright © 2011-2022 走看看