提示也行啊
我瞟见了超短的代码……
首先你是不是可以发现,答案要么是数组中的最大值,要么是最大值+1?
不是吧
那要是
2 2 2 2
2 2 2 2呢
主要没搞懂他的合并是怎么操作的
哦,好像不是
我用的是另一种方法
嘿嘿
666
就是用 f_i 表示第 i 个数最大是多少
转移方程就是:
if(a[i]==a[i-1]||a[i]==f[i-1]) f[i]=a[i]+1;
else f[i]=a[i];
?f[i][j]表示i行j列的数最大是多少吧
一行只有一个吗?
不要误导他人,这题正解是区间dp(虽然我的dp也写挂了,自己hack了自己)
看不懂思密达
就是一维数组啊,不过是每行输入一个数