正睿 Day3Day4 T1&T2 总结
上午:正睿场NOIP20连T1T2合并 😉#
T1:上升序列#
给定
矩阵,其中每行行内单调不降,在每一行选一个数,求组成单调不降序列方案数
简单DP,因为每行已经排好序,故双指针转移即可✌️
T2:划分#
给定序列
,求一个划分方案 使得 最大
sol1:
因为题目中出现 最小值最大 的字眼,考虑二分答案
sol2:
非常高贵的线段树优化DP
直接设
考虑分讨拆开其中的
那么我们将
T3: 风・珍珠#
个物品,代价为 ,价值为 ,进行 次操作,每次可以删去一个物品,或询问代价和至多为 的最大价值
, 严格递增
首先看到这个 “背包” 的不同寻常之处:代价为
那么我们先考虑不带修改的:
不难发现”性价比“即为:
那么我们将
于是对于一般情况,删点变加点。因为加点顺序不变,没有了前文中
那么拿出高贵的根号分治!阈值设为
- 对于
,因为 严格递增,故这一类之多只有 个物品,正常暴力 DP 复杂度 - 对于
,先排序预处理出初始背包,每次加入暴力维护背包, 。每次查询时需要合并两种 “代价“ 定义不同的背包,可以枚举在 中希望得到的价值, 合并。
根号平衡,取
T4:花・焦骨#
需要在
的矩阵内的 个位置填上非负整数,并满足第 行最大值恰为 ,第 列最大值恰为 ,求最小的数字和
的每个限制值在行/列的限值中至多出现 次
首先容易发现,每次只用填最大值!
但对于一个位置
发现这样代价为两个点,显然不优。较优的是在两个限制相同的行列交点处放置。
咦?一个交点可以覆盖两个限制条件,这不就是匹配吗?
那么我们尝试做二分图最大匹配,左部点为行,右部点为列,两限制值相同时两部分连边,那么其最大匹配的权值就是我们省下来的权!
建图后跑 dinic ,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】