傳送門
分析
對於第二問的感性理解就是有上下兩條線,一些點在上面的線的上面或者下面的線的下面,然後看它們變成哪個線的位置更優
**
#include#include#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define int long long
const
int inf = 1e9+7
;int a[100100],d[100100],dp[100100],ddp[100100],sum1[100100],sum2[100100
];vector
v[100100
];signed main()
v[0].push_back(0
);
for(i=1;i<=n;i++)v[dp[i]].push_back(i);
printf(
"%lld\n
",n-ans);
ddp[
0]=0
;
for(i=1;i<=n;i++)ddp[i]=inf;
for(i=1;i<=n;i++)
for(j=0;j1].size();j++)
printf(
"%lld\n
",ddp[n]);
return0;
}
HAOI2006 數字序列
現在我們有乙個長度為n的整數序列a。但是它太不好看了,於是我們希望把它變成乙個單調嚴格上公升的序列。但是不希望改變過多的數,也不希望改變的幅度太大。輸入格式 第一行包含乙個數n,接下來n個整數按順序描述每一項的鍵值。輸出格式 第一行乙個整數表示最少需要改變多少個數。第二行乙個整數,表示在改變的數最少...
HAOI2006 數字序列
現在我們有乙個長度為n的整數序列a。但是它太不好看了,於是我們希望把它變成乙個單調嚴格上公升的序列。但是不希望改變過多的數,也不希望改變的幅度太大。輸入格式 第一行包含乙個數n,接下來n個整數按順序描述每一項的鍵值。輸出格式 第一行乙個整數表示最少需要改變多少個數。第二行乙個整數,表示在改變的數最少...
HAOI2006 數字序列 題解
題目鏈結 現在我們有乙個長度為 n的整數序列 a。但是它太不好看了,於是我們希望把它變成乙個單調嚴格上公升的序列。但是不希望改變過多的數,也不希望改變的幅度太大。第一行是乙個整數,表示序列長度 n。第二行有 n個整數,第 i個整數表示序列的第 i項 ai 第一行輸出乙個整數,表示最少需要改變多少個數...