摘要:
$LIS$简单变形。 状态表示: \(l[i]\):$1~i$的最长上升子序列长度 \(r[i]\):$i~n$的最长下降子序列长度 注意最后是输出出列的人数=_=。 const int N=110; int a[N]; int l[N],r[N]; int n; int main() { cin> 阅读全文
posted @ 2020-12-15 21:03
Dazzling!
阅读(111)
评论(0)
推荐(0)
摘要:
经典的区间$DP$问题。 区间$DP$特征:从小区间逐渐向大区间扩展递推。 题解 贪心只能处理“任取两堆”,而不能处理“相邻两堆”。任取两堆的题目就是合并果子。 状态表示:\(f(i,j)\):合并区间$[i,j]$的最小代价 状态转移:$f(i,j) = \begin0,i = j\ \under 阅读全文
posted @ 2020-12-15 20:38
Dazzling!
阅读(94)
评论(0)
推荐(0)
摘要:
经典哈夫曼树的模型,每次合并重量最小的两堆果子即可。 const int N=10010; int a[N]; int n; int main() { cin>>n; priority_queue<int,vector<int>,greater<int> > heap; for(int i=1;i< 阅读全文
posted @ 2020-12-15 20:14
Dazzling!
阅读(85)
评论(0)
推荐(0)
摘要:
新名词$get$:序列自动机 思路挺好想的,一共$n$个位置,对每个位置建立$26$个指针,指向后面第一次出现对应字母的位置。倒序处理一遍即可。 注意: 不存在对应字母的话位置记为$0$ 下标$0$也要初始化 子序列进行匹配时从下标$0$开始匹配,下标$0$存放的指针代表$1~n$中第一次出现对应字 阅读全文
posted @ 2020-12-15 17:32
Dazzling!
阅读(159)
评论(0)
推荐(0)

浙公网安备 33010602011771号