2024.9.25训练记录

上午 whk

下午 noip模拟

T1:结论题。考场想不出来。
只需要顺序做第一个1前的数。
原因:考虑三个数时的情况。
顺序是 \((a^b)^c\) 或者 \(a^{(b^c)}\)
相当于,比较 \(b^c\)\(bc\) 的大小。显然有:
\(b,c \geq 2\) 时,\(b^c \geq bc\)
所以按照正常顺序做,在 \(A_i \geq 2\) 时最优。
当出现 \(1\) 时,后面就不用做了。所以结论就是顺序做到第一个 \(1\)

考场一眼30的部分分是一个 \(O(n^3)\) 区间dp。感觉不可能优化到 \(O(n)\)。就寄了。

T2:简单题。考场忘开LL挂20
注意到加边时,比原生成树上大的边不会造成影响。所以最后的生成树一定就是原来那棵。
于是模拟 kruskal 连边过程。
可以在当前并的两个集合之间连满权值大于当前边权的边。
直接模拟这个过程有80分(注意启发式合并)。
注意到挂在存下来所有M-m条边的空间不够,所以将 \([1, M]\) 用原图的 \(m\) 条边分成 \(m+1\) 个区间,就能存下来。
用了 set 存边和 lowerbound。加上启发式合并,总复杂度 \(O(nlog^2n)\)

T3:聪明题。考场拿了30pts暴搜。
盖一次印章就相当于可以花费一个次数走到点旁边的一个边长为 \((2*n+1)\) 的正方形去掉四个最边上的点。
这个奇怪图形可以拆成四个边长小2的正方形的并。
于是盖一次印章相当于可以在这个正方形里八连通无花费走完。
这样写01BFS就行。(不能带log)

T4:不会。

posted @   docx君  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示