酱油记:GDKOI2018
GDKOI2018,走出机房的第六场考试
DAY0
这一次GDKOI,第一次在广州二中考,第一次住在柏高酒店(住宿条件杠杠的!),晚上就到对面的万达广场吃了顿烤肉,到老师那里开会,然后就回酒店睡了
DAY1
蒟蒻世界:
T1:给出一张地铁路线图,有若干条路径,每条路经有地铁和若干个站,路径与路径之间有可能有相同的站,给出每条路径的首班车和末班车的时间和出车间隔,而且地铁在除了首站和末站的其它站中,需要停靠1的单位时间才能继续前行,而且一条路径左右两端的站同时发车,相当于有两辆地铁相对而行。好吧,看了20min,不会,跳T2,留到最后,结果搞完其他题之后,仍不会。。
T2:给出一个母串和许多模式串,求出这个母串的所有子串中不含有任意一个模式串的子串数量。手画了一下图,发现可以用KMP处理一个模式串,自然就想到AC自动机来处理多串匹配,赶紧码,毕竟是自己的专题,所以模版没写炸,数据也过了,但是没打对拍
T3:给出一个平面直角坐标系,给出n个点,每个点有自己的种类编号,如果两个相同种类的点所连成的线段中点为一个不同种类的点,那么这个不同种类的点的不和谐度+1,最后求出所有点的不和谐度。想着能够把整张图放进数组里面,然后把一个点作为中点向不同方向扩展,结果时间复杂度还是太大了,就打了个暴力O(n^3)
T4:给出n个数,并且给出k个数和L,使得构成一个n-k个数的数列,并且两个数之间的差小于等于L,且这个数列不能存在给出的k个数,求出能构成不同数列的数量。不会,果断DFS暴搜
神犇世界:
T1:反向最长路
T2:AC自动机
T3:FFT,将二维坐标传化为一维坐标
T4:哈密顿计数???插头DP???wtf
DAY1:0+10+30+10=50,真想撞墙,T2代码思路与正解几乎一样,不过要加long long,不加就只有70,但是也不至于只有10分吧,代码写萎了,心痛
DAY2
DAY2就是来讲算法的
第一:数论入门
woccccc,黄镇,我初一GDKOI的时候就认识了,上去讲了题,膜膜膜
数论。。讲了质数的定理,互质的运用,lucas模版。。
还有莫比乌斯反演没讲,还有NTT。。。
第二:树上启发式合并
哇,听过这玩意,好像很强大
总结起来就是要离线处理,不支持修改,每次保存子树节点最多的子树,然后进行操作(至于怎么操作,没听懂)
不给代码,差评
第三:动态规划的一些小姿势
说实话,我感觉这个是最实用的,学会了很多DP的小姿势,实用性高
DAY3
蒟蒻世界:
T1:给出一个矩阵,将矩阵里两两匹配,匹配的条件是横坐标之差和纵坐标之差的最小值>=k,而匹配的收益是两点的曼哈顿距离,求出最大收益。直接贪心,不说话,因为不会正解
T2:给出一张图,给出图中每条边边权的取值范围,给出一条路径,询问是否有可能为最短路,如果不可能则输出前多少条边有可能成为最短路的一部分。按照最大取值跑一遍最短路,然后走一遍路径,最小最大权值进行处理,然后再判断,本来以为能过,结果出考场发现,这个做法不对
T3:给出n,m,k,数的总类型为m种,要求长度为n的环中,不能有任意连续的k个数中出现重复的数,求这样的环的总个数,结果mod1e9+7。好吧,面向数据编程,搞了一种情况。。
T4:m种颜色染n个球,一种染色方案获得收益为1/没有用到的颜色数+1,求总染色方案的总收益,结果mod998244353。想了很久,没有头绪
神犇世界:
T1:将矩阵分成四块,左上连右下,右上连左下
T2:二分断点,断点前路径全取最小,其它路径全取最大,然后跑dijkstra
T3:矩阵快速幂+优化状态数
T4:数论(没听懂具体是什么)
DAY2:40+0+20+0=60
总结:还是太菜了,要多做题,要打对拍!