摘要: 题意: 求把数组 a[] 变成 b[] 的最小花费。有两种操作: 花费 $X$ 把任一元素 $+1/-1$ 花费 $Y$ 交换相邻的两个数 $n\le 18$ 思路: 很帅的状压dp! 看到 $n\le 18$,就很想状压!但怎么表示状态呢?排列数是阶乘级别的,怎样才能 $O(n2^n)$ 呢? 考 阅读全文
posted @ 2023-01-19 23:11 Bellala 阅读(58) 评论(0) 推荐(0)
摘要: 题意: 选 $S={1,2,\dots , 2^n-1}$ 的一个子集 $E$,要求 $E$ 的子集的异或和取遍 $S$ 的所有元素。选取 $S_i$ 要花费 $c_i$,问最小花费 $2\le n \le 16$ 思路: 从小到大考虑每个数,若当前数不能被前面选的数异或表出则选它。暴力判断即可 最 阅读全文
posted @ 2023-01-19 17:26 Bellala 阅读(39) 评论(0) 推荐(0)
摘要: 题意: 在给定数组中选数,要求任意相邻的两数至少选一个。问选出来的数的最大平均数和最大中位数 $n\le 1e5, 1\le a_i\le 1e9$ 思路: 平均数、中位数的典中典二分+转化 this way: https://blog.csdn.net/Mr_dimple/article/deta 阅读全文
posted @ 2023-01-19 16:00 Bellala 阅读(78) 评论(0) 推荐(0)
摘要: 题意: 求长度为 $n$,值域为 $[1,m]$,最长严格上升子列的长度恰为 $3$ 的数组个数 $3\le n\le 1000, 3\le m\le 10$ 思路: 考虑二分贪心 $O(nlogn)$ 求 LIS 的过程:$g_l$ 表示长度为 $l$ 的 LIS 的最小末尾值,遍历到 $a_i$ 阅读全文
posted @ 2023-01-19 11:37 Bellala 阅读(34) 评论(0) 推荐(0)