GDKOI 2024 游记
Day 0
上午上课,下午请假从珠海跑到了东莞。报了个到,和我爸还有在东莞的叔叔吃了个饭,就结束了。
Day 1
上午吃了个早饭,跑到报告厅听讲座。讲了构造专题,听得一头雾水。
中午去干饭,然后去报告厅玩原神午休。玩了会原神叠 buff,结果走的时候牌子忘拿了,又跑回去找了半天。
下午开始模拟赛。
等了半天发密码了:!Kuai&Le*Shua&&Ye!(最后一感叹号没看见,输了好几次才看见)。快乐刷什么玩意?
进去一看前三题:刷野 I,刷野 II,刷野 III。哦原来是快乐刷野(
题意简述见 here
T1
看完题一头雾水,于是打了个 \(m=0\) 的部分分:用平 a 按血量从小到大一个个刮。然后扔了。
T2
看完还是一头雾水,发现他居然还给输入测试点编号,不过似乎没啥用。我直接输出了样例骗分,然后扔了。
T3
看完题一头雾水,于是看了一眼样例解释:
样例 #1
in
2 1 10 15out
15解释
一直攻击一个怪物直到死亡,最差需要 \(15\) 次。
样例 #2
in
2 1 10 30out
20解释
先攻击某个怪物 \(10\) 次,如果没死就是打到了 \(30\) 血的怪,换个怪打 \(10\) 下,一定能死,最差需要 \(20\) 次.
看完差不多理解了。先思考部分分。把 \(n=m\),\(m=1\),所有 \(a_{i}\) 相等的部分分都打出来了。
之后开始研究,发现两个样例对应做法:样例 #1 可以直接暴打,答案为前 \(m\) 大数和;样例 #2 可以把每个怪都打最小怪的血量下,这样肯定能打死最小的,然后再把剩下每个怪都打次小怪剩下的血量下,以此类推打死 \(m\) 个。根据贪心思想,发现如果像后者那样“每个怪都打最小怪的血量下”,那么需要最大的比最小怪的 \(n\) 倍大,否则明显前者更优。于是就能得出核心代码:
//a 数组排完序,这样方便些
if(a[n]<a[1]*n)
{
ll as=0;//不开 long long 见祖宗
for(int i=n;i>n-m;i--)
as+=a[i];
}
else
{
ll as=0;
for(int i=1;i<=m;i++)
as+=(a[i]-a[i-1])*(n-i+1);//剩下的血量*剩下的怪数
}
最后输出答案就好了。
因为脑子瓦特了没测大样例,但是应该思路没问题,可能就是细节会有一点小问题。虽然最后证实做法假了,正解是 dp。
T4
题意简述
一个 \(n\) 个点 \(m\) 条边的无向连通图,有 \(k\) 次询问,每次询问删除 \(c_{i}\) 条给定编号的边后图是否还连通,一次询问的删边不会影响其他询问。
终于不是刷野了
一开始觉得能写并查集,但是发现打不出来。然后想着正常存图打个暴力,结果发现 vector 不好删边,前向星忘了咋写了。于是愤然不可以总司令,输出连通。出来听人说 \(m=n-1\) 那里树删任意边都不连通,输出不连通还能骗到 \(10\) 分,然后我光荣爆零(
又补了一些题目,然后开始搞迷惑行为(误)。每题里都写了个 !快&乐*刷&&野!,T1 写了个 Never Gonna Give You Up;T2 写了个原神启动和一个有很多离谱错误(如 bits\stdc++.h,sdt,itn mian,分号后面按到了 ',等等)的代码;T3 表达了出我俩小时切题的神和让你们快 % 我的感情,还留了个洛谷 UID;T4 估分,并且给人说把我写进迷惑行为大赏(
晚上打 ABC,C 不会,把 D 切了。rk4756,+35.
Day 2
咕了一个星期终于开始补了
早上去报告厅听讲座,讲了超算,吐槽 CCF 要是能配一秒 \(10^{18}\) 的评测姬那再也不怕 TLE 了 (f**k C*F)。
讲完超算之后开始讲题。T1 正解确实是贪心,T3 我做法假了(大悲)。
之后就到了大家最期待的滚榜环节!我的前两题光荣爆零(悲),我当时直接大喊:
我 T1 的 \(15\) 分呢?!你**把那 \(15\) 分还我!!!
T3 乱搞搞出了 \(20\) 分,T4 因为判断错误成功爆零。大寄。最终挂了 \(0+0+20+0=20\) 分,大大大寄。
中午吃完饭在报告厅爆肝作业。
下午模拟赛。
进去等发密码。密码:$Lai^RiFang*Chang$。来日方长(
题意简述见 here
T1
乱搞猜结论。求距离的 bfs 好像还假了。
T2
打了个 \(O(n^{2})\) 的 \(40\) 分暴力,就扔了。
T3
输出 \(n\) 个 \(1\) 骗分。
T4
毒瘤大模拟。死磕半天,发现要写高精。死磕半天后比赛结束了。
吃了晚饭就返程了。晚上累死了倒头就睡。
总结
咕咕咕。。。

浙公网安备 33010602011771号