摘要: 题意: 给定01串s,尽量把1改成0,要求所有子区间的LIS长度与原串相等。 思路: 若一个子区间 \([l,r]\) 的LIS是一个全1串,那么把 \(s_l\) 从1改成0无影响。若LIS是全0串或者先0后1,则把 \(s_l\) 从1改成0会让LIS长度+1。 从后往前遍历,只有当以 \(i\ 阅读全文
posted @ 2022-01-15 18:32 Bellala 阅读(39) 评论(0) 推荐(0)
摘要: 题意: 修改数组中的不超过k个数,最小化相邻数之差的绝对值的最大值。 k ⇐ n ⇐ 2000 思路: \(f(i)\) 表示第 \(i\) 个数不变,前 \(i\) 个数合法,至少要改变几个数。 初始化 \(f(i)=i-1\) 表示前面的数都改变。枚举 \(i\) 之前的所有 \(j\),把 \ 阅读全文
posted @ 2022-01-15 13:16 Bellala 阅读(117) 评论(0) 推荐(0)
摘要: 题意: 给定一棵树,然后在所有有相同邻点的点对之间连边。新连的边不能用于判断相邻。求所有点对的距离和。 思路: 法一:烦人的树形dp。维护子树中与根的距离为奇数的点数和距离为偶数的点数。 #include <bits/stdc++.h> using namespace std; using ll = 阅读全文
posted @ 2022-01-15 02:30 Bellala 阅读(49) 评论(0) 推荐(0)