[技巧] 思维题 长期更新
由于笔者很菜,这篇文章里的术语使用可能有误。
要求用最少步数构造出的某种结果,但不用输出最少步数
例题:2024.10.19 模拟赛 T4。
直接考虑最后的结果长什么样,可能不用真正得到变过去的整个方式。
相邻交换问题
注意:这里说的不是那个 邻项交换排序贪心。
题
给一个序列,可以交换任意相邻的两个数任意次,问最少多少次能够使这个序列满足某种条件。
例题:2024.10.19 模拟赛 T4。
思路
相邻交换对大小关系的影响不大,交换
考虑每一对数值的位置关系,对每一对数值找必须怎么走才最优。[合到一起(即贪心)后的正确性考虑能不能使得每个限制都被满足。](?)
增量法
自己规定顺序来增量
好处:
- 满足限制(如:大小关系)(我没想起这种做法能做的其他限制)。例:P2513 [HAOI2009] 逆序对数列、[《算法竞赛进阶指南》上 DP 部分的第一道例题](?)。
- 在之前的基础上做。例:2024.10.21 模拟赛 T1。
[字典序](?)、位运算结果 最值、第 小值
高位具有决定性。具体:如果高位已经分出了大小就不用比较低位了,此时已有大小关系。
于是:
- 最值:从高位到低位贪心。
- 第
小值:确定此时那一位(高位),算低位随意选有多少种方案,根据其与 的关系判断此时那一位选什么,可能要让 减掉[与方案数有关的值](?),再接着选下一位(更低的一位)。
某个东西的个数很少(某个个数很小)
- 很小:状压、搜索。
- 特别小:状压、搜索、作为 DP 状态的维度个数(可能还有其他的维度,即可能小于维度个数)。第三点的例题:[《算法竞赛进阶指南》上 DP 部分的第一道例题](?)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端