随笔分类 - 无类型DP
摘要:满分作法: dp[i][j]表示第i个骰子置出后,总点数为j的概率。
阅读全文
摘要:"题目链接" 满分做法: 考虑DP,dp[i]表示表示前i个符合条件的最小合并次数,再记录一个minn[i]表示仅考虑前 i 朵小花,在操作次数最少的前提下,最终合并得到的最右的小花的最低美丽值。 倒叙转移,保证最小合并次数的前提下,最右值最小。
阅读全文
摘要:满分做法: 本题采用贪心:分出来的区间一定是单调的,因为如果不满足单调可以拆分出单调的使答案更大。DP转移时考虑极值的归属 cpp include include include include include include using namespace std; typedef long lo
阅读全文
摘要:30分做法: 直接暴力选数即可: 满分做法:
阅读全文
摘要:满分做法: 几组样例充分说明,最优的子序列单调区间最多不超过两个。所以可以用树状数组维护三个值,一个是单增的最大值,一个是单减的最大值,一个是有拐点的最大值。最后离散化倒叙处理即可
阅读全文
摘要:60分做法:直接暴力背包 满分做法: 按照K的因数进行背包即可
阅读全文
摘要:满分做法: 有一个专门解决这类问题的算法叫:GarsiaWachs算法。 算法流程:1.从序列开头往后找第一个位置$i$满足$a[i]=a[i]+a[i+1]$,并把合并的值插入到$j$后面。 这样复杂度就降到了$n²$,用vector就可以达到$nlogn$了。(可以用平衡树优化,但我不会┭┮﹏┭
阅读全文

浙公网安备 33010602011771号