2023GDKOI总结

说明:不是GD选手,只是因为来zsjz集训就顺便参加了GDKOI,不过也不参与GD选手排名。

考前看了看GDKOI2021的题,当时是考了3天,每天4题,而里面只有一道题是我一眼能看出来做法的,所以感觉考试的难度不小。

Day1

考试是8:30开始。先打开了VScode,发现已经装好了C++的插件,很良心。然后就开始看题。T1一直没有特别好的做法,然后想到了判行和与列和,一会就写完了,简单对拍了一下感觉没问题,就去看T2了。T2是个数学题,先通过打表推出了错排的方案数,然后就开始不停推式子,先推了一个\(n^3\)的式子,然后写出来发现有问题,然后又重新推,好不容易推了个单次\(O(n)\)的式子,担心过不了第3档部分分就写了个map防止重复计算,自己造数据发现跑得很快就没管了。T3感觉很难,只打了20分的暴力就没管了。然后再回头看T1,决定造很小的数据测正确性,结果真的拍出错来了,发现是\(A=\begin{pmatrix}0&1\\1&0\end{pmatrix}\),\(B=\begin{pmatrix}0&1\\1&0\end{pmatrix}\),\(C=\begin{pmatrix}0&1\\1&0\end{pmatrix}\)的情况把我卡掉了,然后发现只要查一下对角线上的点是否正确就行了。考试快结束了,把文件拷到虚拟机里测了一下,发现没问题,就准备交卷了。

考完才知道T1直接随机一个向量就是正解,感觉自己的做法容易没卡,好在最后把暴力拼上去了,不至于会挂太多分。期望得分:(20 ~ 100)+60+20=(100 ~ 180)

Day2

还没开始的时候监考老师说有道题有spj,但是就害怕是不是有什么神秘构造题。考试一开始,就发现T1是构造题,T2T3又是不可做题,感觉还是T1更好得分,于是开始全力攻T1。先发现链的情况很简单,可以直接找直径,然后就开始在草稿纸上画出一般的情况,发现3个点到其中两个点的LCA的距离是一定的,找出每个点最长的3条链,然后就可以用三维偏序解决。可是看数据范围,普通的三维偏序过1s有点困难,而且一时忘记了三维偏序怎么写,就决定边写前面一步边想后面的怎么解决。前面的部分就是简单的换根DP,没花多久写完了,看了一眼感觉没问题。然后就开始想后面的怎么做,突然就灵光一现,想到按照一维离线后,对第二维建线段树,每个位置维护第3维的最大值,这样每次查找时只需求一个区间最大值就行了,于是就开始写,写完发现最后输出时还得找两点路径上第k个点,这就可以用简单的树上倍增做,然后大概在10:30写完了,代码有6k,在11:00左右就调好拍上了。然后发现T2暴力一分都没有,就跳了,看T3,很快写了10分的暴力,然后回头看T1,测了测时间,发现超过了1s,于是就开始卡卡常,最后好不容易卡进了1.02s,还想继续优化,结果时间不够了,只是拿到虚拟机下编译了一下考试就结束了。

考完出来发现T1我们学校就两个人写出来了,但还是怕自己超时了,T2也没什么人得分,T3倒是有人拿了30左右。期望得分:(60 ~ 100)+0+(10 ~ 20)=(70 ~ 120)。

最终得分:100+60+20+100+0+0=280,过了GD的金牌线。

总结:这场考试考得比春测要好不少,一是解决了两天的T1,而且D1T2也拿了很高的分,但是也有很多不足的地方。比如D2的T2T3一分没拿,T2可以用fwt或矩阵乘法拿到不少暴力分,T3如果没写挂有20分,再拼一点别的暴力分(如线段树合并)有30分,这些分都没有拿到,这说明一是暴力分要拿稳,而是要提升水平,拿到更高的暴力分。还有就是两天的T1都是因为数据不强才过的,以后遇到这种可能被卡的题要尽量优化,减少被卡的几率和被卡的分数。

2023GDKOI总结的更多相关文章

  1. 2023GDKOI游记

    2023GDKOI游记 DAY-5: 3.5 周五回家提前一天返校,连续打了两场比赛,第二场清华ACM就只打出了最后一题世界杯(签到题),然后就只会做第二题了,调了一下午没想到正解. DAY-4: 3 ...

随机推荐

  1. GraalVM & Spring Boot初体验

    前言 这两天封在家里,一直在琢磨想去把这个博客项目改成微服务的形式.不过就目前而言我的服务器内存放好几个Java进程是吃不消的,原因在于一个独立的JVM所占用的内存资源太吃内存.不过在云原生时代,使用 ...

  2. JAVA第六七八次大作业

         21201411-李英涵            前言:这几次的作业较为简单,主要思路就是利用正则表达式来过滤掉不需要的信息.  题量设置较为合理,比之前的多边形好做一些,应该是老师为了捞起来 ...

  3. 第三讲: xpath定位方法

    ​ 如果大家有机会做web自动化测试的工作,在框架搭建好之后,大部分的工作都是在写定位表达式,然而,8大元素定位方法中,id.name.class_name.link_text.partial_lin ...

  4. Jmeter三、重要组件(元素)介绍

    一.组件 1.sampler 2.计时器timer 3.(sampler的)前置处理器pre processors, 后置处理器post processors 4.断言assertion==loadr ...

  5. Jmeter一、开源软件的崛起

    一.jmeter自身特点: 1.开源,轻量级,更适合自动化和持续集成. 2.学习难度大. 3.资料少.多英文. 二.性能测试工具选型的原则 1.成本: a.工具成本 b.学习成本 2.通信协议: a. ...

  6. SpringIOC以及AOP注解开发

    和 XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作. 本质上:所有一切的操作都是 Java ...

  7. 启动Springboot 的批处理

    记下启动Springboot的批处理文本步骤:新建文本文档 > 参考下面文本内容 > 保存 > 修改后缀,作为个人笔记,提供参考: Linux  start.sh: #!/bin/s ...

  8. linux 修改password

    passwd 命令,手动修改: [root@localhost testuser]# passwd testuser Changing password for user testuser. New ...

  9. 跨域请求 jQuery的ajax jsonp的使用

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  10. MySQL数据库封锁机制和事务隔离级别

    参考: 数据库技术:MySql学习笔记之事务隔离级别详解 详解MySQL 数据库隔离级别与MVCC MySQL 事务&&锁机制&&MVCC 数据库系统原理 - MySQ ...