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:不会。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?