2022icpc ec-final 游了记

发布时间 2023-03-29 12:48:03作者: gmh77

承上NOI2021退役记(密码123456):
https://www.cnblogs.com/gmh77/p/15079696.html

老年人的大学生活

3.23 day-1

下午鸽了程序设计去收东西

第二天9:10的飞机,打算6点出发和zxr他们一起去

晚上强迫舍友早睡,9点上床睡觉,11点被热醒,然后发现飞机延迟到了早上12点??

然后躺到晚上12点,然后飞机取消了???

3.24 day0

凌晨的时候睡了,3队的飞机还没取消

起来之后他们也没了


早上队友买了高铁票,11点和3队一起打车过去

然后冒雨+赶时间,勉强赶到了高铁站

高铁从早上12点坐到晚上9点40,加上后面地铁兜兜转转,晚上12点才到酒店,没时间洗澡,难蚌

和lzy一间房

3.25 day1

早上10点比赛,9点要报道,所以zzz计划8点过去

然后我7:40下去吃早餐(感觉不如学校饭堂),和zzz一起过去了

队友8点才起床,我9点领完物资之后在那里等到了9:30……

然后一起进场,9:40出来拍了个照

神必小故事:

队牌是在领物资的时候发的,进场前我给了ozy

然后据ozy所说,(没注意到队牌不知道什么时候不见了),然后进场时一个志愿者拿着我们的队牌给了我们,还被踩了一脚

就是从他的视角来说,进场时一个志愿者拿着一个队牌找他,问是不是你们学校的牌子,然后发现就是我们的牌子???

大凶之兆

wjt带了咖啡,非常得劲


10点开赛,冲冲冲

开场14min过了M,65min过了J

这时我想了交互题F,ozy准备搞C,wjt在搞L

然后92min我过了E,这时ozy和wjt轮流上场梦游

C是我说数位dp,他说ok,记了哪些位置进位了,然后写了挂了,发现一些小坑之后又挂了,然后改了记哪些非0位置进位了结果又挂了
L是wjt先搞了4*4重复的构造,然后卡了一段时间之后发现n=3会挂,加上还是挂了,之后wjt特判了n,m%4=1的情况来特殊构造保证连通性,又挂了

这时候卡住了,ozy在调C,我在想B,wjt去看了I,之后他134min过了I

之后在190min时ozy改了直接记数字,终于在190min喜提4次罚时过了

然后我先和wjt想了一下L,之后去想B,我在写B时他们开始看H

---240min封榜---

这个B看着就很agc,转成箭头独立相消就ok了,在241min过了B

然后他们发现了H是简单题,开始写H,这时我又去想L

我手玩了一下L,发现在n,m%4=2时wjt一开始的构造还没有n,m%4=1的特殊情况优??
发现盲点

大概260min时想到了n,m>=4时一定是一个4*4的矩阵重复,而矩阵里面一定是一个排列p[i],然后(i,p[i])填0其他填1


278min时他们过了H,然后我上去冲L,缝了wjt之前写的n=2,3的

就是枚举排列p[i],放完之后特判四个角不连通的情况(角落1,旁边两个0)

结果这样还是挂了,因为当(p[i]+i)%4全相等或(p[i]-i)%4相等时会不连通(0排成斜线把矩阵割开了)

然后最后10min改,中途交了原始版本+n,m%4=2的特判试了一发挂了,最后298min绝杀with 罚时*7

(最后结果是封榜前5题,封榜过3题,rk17,学校排名11)

好消息:封榜过三题
坏消息:封榜过三题

金稳了,出线基本寄了


晚上zzz开庆功宴,点了30个菜花了2k

神必小故事:

貌似zzz原本打算用优秀教练(学校排名前10)的2k奖金来请我们,结果最后是rk11(

回去拆蛋蛋的新作,拆了前两区全绿(二区省钥匙失败,卡了好久

开摆!

3.26 day2

挑战赛赚大米

9点挑战赛,8点吃了早餐和ozy、wjt一起过去

卡着点去的,没仔细听完题意


AB两道题,手速哥可以拿两次奖

A题几何题,看不懂润了

B题网格题,看着有点意思

然后看了一个多小时,2小时的时候才写完第一版

题目大意:
给出n*n的网格图,一些格子里有人,第i个人需要接受type[i]类信息

一开始在某地有一个发射器,之后你需要建立一些中转站,使得尽可能多的人收到信息
分数主要取决于收到信息的人数,以及和建立中转站/确定中转站发射次数的花费cost,以及传播的总时间time有关

规则:
发射器、中转站发射的信号是沿着水平或竖直传播(进入每个格子有相应的时间)
你需要确定中转站的位置,以及发射器和中转站在接受到信号之后往四个方向传播的信号类型(不同类型的信号转换需要时间),每个方向只能传播一次一种信号(指定某个接收者传,即信号可以跨过非目标的发射器/中转站/人而不会被阻挡)

笔记:

N:n*n
M:人数
F:信号种数
P:transmitter的cost
g:传到i,j的time
f:信号转化的time
i,j,k:人的坐标,需求

output:
type:0传给transmitter,1传给consumer
idx:t/c的编号(编号从1开始)
fmt:传出信号的编号

坐标是0-based

开始乱搞.jpg

一开始没看到只能四方向传,瞎写了一波wa了

然后看完题了,想到以发射器为原点释放十字斩,就是这样搞:

黑圈是发射器,红三角是人,蓝圈是中转站

就是把人垂直映射到xy轴上,然后在对应位置建立中转站以及确定方向,之后把新建的中转站和之前的发射器/中转站连接

(实际实现是以发射器为原点往四方向枚举来处理

2h时写完了,获得陪跑奖1800分

之后继续优化,在发射器扩展完十字之后,再依次对每个中转站再扩展十字影分身十字斩

一开始写的是按照标号来搞的,之后花了1h改成了按照坐标处理

由于延时了15min,在3h10min时写完交了,获得2006

之后把选择中转站扩展十字的顺序随机(忘了随机方向……),最后一分钟狂暴随机优化了一下尾数

最后是rk4(一开始榜放错了是rk3,差点以为没钱了

3.27 day3

旅游

?