闲话8.9
今天上午打了一场模拟赛,垫底喽。
T1 上了写了写画了画想了一个小时想出来个做法,估计是假了,但是能拿 80pts 就够了。T2 一眼不会,还没看见数据范围给的表格,上来写了个矩阵快速幂,白挂 5 分。T3 一眼感觉不是我能做出来的,打了个逆天复杂度的做法(还挂了)再把树的部分分写了。T4 感觉不可做,跳了、
最终得分:\(80 + 10 + 35 + 0 = 125\)。
喜提 rk7,被北校暴打喽🤣🤣🤣。
下午 zzz 讲题,中午没睡下午直接困死。讲完就回二中机房改题了。下午被 jimmy 叫出去总结模拟赛,同时 jimmy 让我多运动多晒太阳,属于是让我养生了🤣。
晚上周默买的炸鸡真香🥰🥰🥰,晚上又花了一个小时调 T3,哈哈。
发点聊天记录:
Tibrella:
能不能发点涩图啊群主@crimson000
crimson000:
没涩图
Tibrella:
吗的,什么垃圾群主,怎么没有涩图
Johnsonloy:
吗的,什么垃圾群主,怎么没有涩图
crimson000
吗的,什么垃圾群主,怎么没有涩图
mjsdnz:
妈的,什么垃圾色图,怎么没有群主
bingxin:
吗的,什么垃圾群主,怎么没有涩图
下面 crimson000 发了一堆珍藏图片
bingxin:
发涩图@crimson000
Johnsonloy
发涩图@crimson000
Tibrella
发涩图@crimson000
下面又是一堆图
推歌:Darling♡BAN! -あやぽんず*/あよ/lily-an
我不会模仿zun语,所以刚才一段删掉了。
总之这首歌确实很好听,而且很可爱
LOJ539
很容易想到一个状态设计 \(f[u][c][d]\) 为当前在 \(u\) 点,当前油量为 \(c\),走的路程为 \(d\) 时的最小花费。转移直接按边转移即可。
但是这样没有利用到 \(p_i\le n^2\) 这个重要条件,而且走的路程也能达到 \(10^9\) 级别,因此这个状态必然不行。我们考虑把路程和花费这两个状态交换。我们设 \(f[u][c][p]\) 为当前在 \(u\) 点,油量为 \(c\),花费为 \(p\) 时的最长路程。我们发现状态还是太多,因为你到一个点后如果加油的话油量是固定的,因此我们可以直接设 \(f[u][p]\) 为到 \(u\) 点,且在 \(u\) 点加油,花费为 \(p\) 的最长路程。
而 \(f\) 的转移可以直接枚举中间点 \(x\) 进行转移。因此转移方程为
这里 \(w(u, v, c)\) 是指从 \(u\) 到 \(v\),且路程不超过 \(c\) 时的最长路径。我们考虑如何求出这个玩意。很显然的转移是按边直接转移,但是那样的复杂度过高,我们考虑用倍增优化。
我们再设 \(g[u, v, k]\) 为从 \(u\) 到 \(v\),路程不超过 \(2^k\) 时的最长路径,转移显然,枚举中间点即可:
有了 \(g\) 之后我们就能优化 \(w\) 的转移了,我们考虑把 \(c\) 二进制分解,对于每一位都枚举中间点,我们就能得到转移方程:
这样我们就能预处理出所有的 \(f\) 值。对于每个询问,由于花的钱数越多走的路程一定不降,我们就可以二分求解。
复杂度 \(O(n^4+n^3\log C + T\log n)\)。
试图理解姐姐的恋恋
发下原图(by Tibrella):