SNOI2019场外VP记

教练突然说要考一场别省省选来测试水平...正好还没看题那就当VP咯w...

Day 1

八点开题打 .vimrc.

先看了看题目名...一股莫名鬼畜感袭来...

怎么T1就是字符串鸭?HEOI 2019 D1T2的心理阴影为啥我会xjb套那么多东西上去啊QAQ...T2数论T3通信? 不好的感觉...

读了读T1, 神仙字符串排序, 溜了溜了

读了读T2, 模两个模数同余? 溜了溜了...

读了读T3. 诶这个东西怎么这么费用流啊? 看看数据范围...诶这个 \(n\) 才 \(1000\) 啊? \(n^2\) 条边暴力建图信仰一发是不是就可以了鸭?

等等好像有 \(80\%\) 的数据 \(n\le300\), 这个数据范围费用流好像稳稳啊? 赶紧码...

\(20\texttt{min}\) 之后码了个费用流板子码得真慢, 一遍把样例A穿了, 爽翻.

交上去之后回去看T1.

冷静分析了一波, 发现好像和某道要花式求后缀数组的题很像, 对原串求个SA然后分段求LCP来得到两个要排序的串的第一个不同字符的位置, 这样就可以 \(O(1)\) 比较两个串了. 能比较之后丢到 std::sort 里这题就做完了.

这才是T1嘛233

码了半拉小时之后Pretest Passed.

这时候时间过去 \(90\texttt{min}\), 当时我就觉得我稳了, 于是上了个厕所准备正面刚T2.

思考了一会之后感觉除了知道这东西有个长度为 \(\operatorname{lcm}\) 的周期之外就啥也不知道了.

那个 \(\operatorname{lcm}(P,Q)\mid T\) 的部分分好像明示要先想想一个周期里的情况...还能有啥啊? \(\operatorname{lcm}(P,Q)=\frac{PQ}{\gcd(P,Q)}\)?

等等分母是 \(\gcd\)?

想起「Bézout's Lemma」

也就是说只有 \(A_i\equiv B_j\pmod{\gcd(P,Q)}\) 才会存在某个 \(x\) 满足 \(x\equiv A_i\pmod P\) 以及 \(x\equiv B_j\pmod Q\) 咯?

\(P\) 和 \(Q\) 除掉 \(\gcd\) 之后就互质了, 根据CRT这个差除以 \(\gcd\) 的值是有唯一解的? 也就是说一个循环里 \(A_i\) 和 \(B_j\) 相遇且仅相遇一次咯?

感觉挺靠谱的, 好像能拿 \(40\) 分了. 这样的话就可以把 \(T\) 模掉一个 \(\operatorname{lcm}\) 了. 问题只剩剩下的值了qwq...

好像搞出关键结论了正解也不远了? 是不是把一个 \(\gcd\) 长度的块看成一个整体然后再给这些块按照另一个模数的访问顺序排成一个环然后直接在这个环上二分就可以了得到 \(<T\) 的匹配数了鸭?

YY了一下好像以 \(O(n\log n)\) 的圆满复杂度解决了这个问题. 虽然感觉超级难写但是还是作死开始写.

写了一个多小时果然弃疗了, 删掉了二分的部分改成暴力从 \(0\) 到 \(T\bmod \operatorname{lcm}\) 枚举了.

剩下的时间摸掉了.

出分, \(100+80+80=260\)? 啥玩意?

怎么这个T2数据可以这么水啊...是不是故意构造的鸭...

校内rk3, 前面是两个 \(280\) 的神仙.

hahamengbier&Jumbo用KM二分图最大权匹配碾掉了T3还顺手拿了LOJ榜一.

神仙hzoizcl用玄学NTT干掉了T2...wtcl...

看了看noi.cn的成绩公示好像已经上队线了?(woc我也想去SN了码单)

Day 2

由于前一天题比较水于是莫名感觉能上400(flag)

开题.

淦哦怎么上来就开始麻将计数了? 跳跳跳...

跳到T2之后看见配图感觉一阵更浓的鬼畜感袭来...

T3是啥神仙数据结构趴? 等等这个 \(5\times 10^6\) 好像数据结构不太会能做鸭? 算了打个暴力跑路趴T_T...

完蛋, 二试被翻盘的节奏不对啊反正day1就已经上队线了我慌什么快醒醒你不在SN这不是你的省选

虽然这个T2看上去就很坑而且没有部分分, 可是我偏要玩玩(提答多好玩鸭)

玩了一会, 好像只要 o 不在该在的位置都可以用一步移动让两个坏块成为好块?

诶好像一直这么翻可以把所有联通的坏块都干掉啊? 那我是不是翻完一整块找下一个整块就可以了?

走过去产生的新坏块好像会在fix旧坏块的时候顺便fix掉? 那岂不是稳稳了?

是不是得找最近的鸭? 脑抽感觉找最近的好像得用k-DTree...算了趴...

于是YY了一个智障寻路算法, 每次找坏块集合里的第一个然后在所有可行走路方案中选最接近那个坏块的.

感觉好难写好难写, 于是回去搞T1.

大力猜测了一波, 看了看这个数据范围感觉怕不是对于 \(n\times C\) 的情况有 \(O(1)\) 式子...诶然后再补集转化一下用 \(O(XC)\) DP出选少了的情况是不是就可以了啊?

头铁搞了一会 \(O(1)\) 式子把自己搞自闭了.

搞 \(O(1)\) 式子的时候感觉这东西好像只判合法性, 也就是说可以用顺子把模 \(3\) 不同余的部分搞掉然后剩下的填刻子?

诶那我是不是可以用DP在状态里记录一下最后两个编号分别有几个顺子没有完成就可以转移了鸭?

好像状态只有⑨种? 那把转移写成矩阵然后分段快速幂一下不就是个⑨题咯?

时间复杂度是啥啊...\(O(X\times 9^3\log n)\)? 好像 \(X\le 1000\) 很靠谱的样子.

感觉超好写, 于是就开始码, 码完又把Pretest A穿了...

交上去之后开始搞T2, 码了一个多小时码出来了, Pretest弱的不行直接就过了, 手捏了一组坏块不连通的数据也过了.

交上 T2 的时候已经 \(11:20\) 了, 感觉不太能写 T3 状压于是就写了个 \(d=n-1\) 的sb \(10\) 分.

剩下时间又双叒叕摸掉了

出分, \(100+10+10=120\), 大家 T2T3 都是暴力分233

看了看T2代码发现我调试用的 if(++cnt>2)exit(0); 没删...白扔 \(10\) 分.

神仙 Asttinx64 T2 写了一堆 lambda 于是编译超时保龄了...再加上 static 的debuff好像LOJ上也保龄了...(去掉 static 就A了, 太强辣!)

校内排名又是rk3 qwq...

两天总分 \(380\).

跑到noi.cn上查了查SN的成绩, 发现这分可能稳A类? 怎么这个ranwen才365啊

下来翻了翻LOJ的AC代码, 发现好像只要把那个找下一个坏块的过程改成DFS就星了...我太菜了QAQ...

所以麻麻我要去SN

[日常] SNOI2019场外VP记的更多相关文章

  1. [日常] HEOI 2019 退役记

    HEOI 2019 退役记 先开坑 坐等AFO 啥时候想起来就更一点(咕咕咕) Day 0 早上打了个LCT, 打完一遍过编译一遍AC...(看来不考这玩意了) 然后进行了一些精神文明建设活动奶了一口 ...

  2. Codeforces Round #485 Div. 1 vp记

    A:对每种商品多源bfs一下每个点到该商品的最近距离,对每个点sort一下取前s个即可. #include<iostream> #include<cstdio> #includ ...

  3. 日常工作问题解决:记一次centos7上的lvm表错误解决过程

    问题描述: 公司大数据hadoop2服务器采用电信云服务器,后来故障,电信恢复该服务器,需要重新部署程序,需要扩展lvm分区,但是使用pvsan命令发现有报错信息,需要解决以防重启后,因挂载问题,无法 ...

  4. Accounting_会计电算化工作指南

    会计电算化工作指南 会计电算化实施的内容目标及原则 企业会计电算化的实施,也就是企业建立会计电算化的整个过程,是一项复杂的系统工程.在整个系统的实施过程中,包括会计电算化工作的规划,会计信息的建立与管 ...

  5. [日常] NOIWC 2018爆零记

    开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...

  6. Java练习 SDUT-2737_小鑫の日常系列故事(六)——奇遇记

    小鑫の日常系列故事(六)--奇遇记 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 今天,小鑫在山上玩的时候,意外被推下 ...

  7. [日常] PKUWC 2018爆零记

    吃枣药丸...先开个坑... day -1 上午周测...大翻车... 下午被查水表说明天必须啥啥啥...(当时我差点笑出声) 晚上领到笔记本一枚和一袋耗材(袜子) 然而班会开太晚回去没来得及收拾就晚 ...

  8. [日常] NOIP 2017滚粗记

    突然挑了这么个滑稽的时间补了游记... (成绩日常延时再加上人太菜估计基本上就是颓废记录) 然而文化课太废可能会被强制退役QAQ所以先补了再说吧 day0 一大早被老姚交代了个开十一机房门的任务... ...

  9. 日常记Bug

    前记:后端写代码应该对数据的交互更加掌握,不要被编码.数据模型细节坑住 Unicode编码.Django数据迁移偶尔产生的不稳定 处理细项工资记录模型: class TeachRoll(models. ...

随机推荐

  1. Windows10 下利用Hyper-V安装CentOS系统

    开启Windows10的Hyper-v功能(需要重启电脑) 控制面板→程序→启用或关闭Windows功能→打开Hyper-v→确定 创建虚拟机 在Windows管理工具中找到Hyper-v管理器并双击 ...

  2. Python GUI教程一:Hello World

    STEP 1:PyQt5基本介绍 Qt是GUI编程中非常受欢迎,也是非常强大的一个工具. PyQt5 是Qt的Python版本.它大概涵盖了620个类,6000多个函数.PyQt5进行双重许可,开发者 ...

  3. js input radio点击事件

    html代码: <input type="radio" name="myname" value="1" />1 <inpu ...

  4. Jenkins—Master/Slave模式

    Jenkins可部署在windows或者linux平台上,项目系统的用户多数为windows系统.如果Jenkins部署在linux上,而自动化任务要在windows平台执行,那么就需要使用Jenki ...

  5. Linux内核驱动之GPIO子系统API接口概述

    1.前言 在嵌入式Linux开发中,对嵌入式SoC中的GPIO进行控制非常重要,Linux内核中提供了GPIO子系统,驱动开发者在驱动代码中使用GPIO子系统提供的API函数,便可以达到对GPIO控制 ...

  6. SQL --- where 1=1 与 1<> 1

    1.Sql 中的查询语句中的where 字句是为了带条件进行查询,那么使用where 1=1  后查询的是什么 首先:查询表   tb_obge  中的所有字段 select * from dbo.o ...

  7. 【linux】linux 查看物理CPU个数、核数、逻辑CPU个数

    ①物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id) cat /proc/cpuinfo| grep "physical id ...

  8. C# event

    class Program { static void Main(string[] args) { Thermostat thermostat = new Thermostat(); Heater h ...

  9. python基础(23):面向过程与面向对象的优劣、初识面向对象

    1. 面向过程与面向对象的优劣 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程 ...

  10. Linux网络——配置网络之iproute家族命令

    Linux网络——配置网络之iproute家族命令 摘要:本文主要学习了iproute家族用来配置网络的命令. ip命令 ip命令用于查看和管理IP地址.接口.路由.隧道等.用来取代ifconfig命 ...