省选联考总结
2023.12.11
先调整状态,比赛好像不是很能做出题,每次都应该冲一道正解,然后暴力打满,争取高的部分分
T1
题目大意
有个大小为h的画布,大小为n的画笔,定义画笔为,表示可以在的位置涂颜色,要求每个位置都要涂恰好一次,且不能涂出界,问画笔有几种
sulotion
首先观察结论,若有定义其为连续段,可以发现连续段之间的间隔一定要相等,才合法。然后连续段的大小也要相等,设其为x,那么间隔大小一定为x的倍数
考虑一下朴素dp,设表示大小为i的画布,大小为j的画笔,连续段的大小为1的方案数,那么,发现f转移需要容斥...,好像会T
然后考虑优化,设表示大小为i的画布,大小为j的画笔,连续段大小大于1的方案数。然后转移,考虑一下如何从g转移到f
发现一个双射的关系,把连续段长度为1的画笔每次涂的第一个位置提出来,发现恰好对应
所以直接记搜即可
T2
题目大意
- 区间+
- 求一段时间的某个区间的历史最值
solution
考虑一下朴素的线段树,然后每个节点维护一个单调栈,维护历史最值和时间戳(一段连续的上升只维护最后一次),然后发现这样的话,懒标记要像历史最值一样多维护一个,然后每次查询在线段树节点的单调栈上二分即可
小细节就是上push_up和push_down是都要更新单调栈,然后在时间段的左端点上还要额外跑一次区间最值
2023.12.14
T1
题目大意
有一个全部为 的序列,进行了 次区间加 操作,变成 序列。现在可以撤销k次操作,变成 序列,定义时有 的贡献,问可以达到的最大贡献()
solution
因为k比较小,所以我们发现A中大于等于10的我们都不用管了,我们考虑把区间操作都挂在点上,然后进行DP。设 表示到第i位,用了j次撤销,对于当前点挂的区间的撤销状态为s,转移时,我们先把上一个 转移到 上,使得两者共有的区间相对应,然后 内部再进行转移更新新的区间,再去转移
然后我们发现瓶颈在于 的内部转移,是 的。考虑如何优化掉,我们发现只用更新新的区间,所以就用vector把新的区间存下来,只更新新的区间即可,总时间复杂度:
2023.12.15
T3
题目大意
给定一个网格图,上面有些障碍,我们要在某些点放宝箱,使得每一条从左上角到右下角的路径都有恰好一个宝箱,问摆放宝箱的方案数
solution
首先通过简单找规律可以发现,没有障碍时的答案为 这启发我们,宝箱是呈45度的斜线摆放,然后就考虑,宝箱和障碍一定把图分割开了
先把一定走不到的点统计出来,那里的宝箱可以任意摆放,然后就把平面图转对偶图
然后发现一点重边,再去重...
.png)
2023.12.19
T1
...
T2
网络流建模,然后缩点能过...
小tip,如果网络建模,可以先建INF边,然后就可以缩点了
2023.12.20
T1
题目大意
有长度为n的画布,有m种颜色,k条限制,每条都形如,要求中至少有一种颜色出现次数大于一次,问画布的方案数
solution
这是典型的容斥,和at_dp_y几乎是一个思想...
设表示不满足i限制,但满足限制的方案数,然后转移就是简单的容斥,总方案数-非法方案数
代表元容斥,非法方案就是,其中表示从到随便填,但要满足不满足i限制
可以发现就是分两种情况讨论即可
T2
题目大意
给定一棵树,你可以任选起点,每次移动要求移动到距离当前点最远的点,问移动k轮的方案数
solution
首先可以矩乘
可以发现,除了刚开始,其他时刻的位置一定是直径端点
考虑一个小tips,以树的中点为根,把直径端点当叶子,则根的第一代儿子的叶子个数相同的子树,里面叶子的答案都一样,于是就只有个状态,可以直接
2023.12.22
T1
结论题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】