傳送門: 題目
dp[i][j][k] 表示 考慮到第i個數 計算前j個數的和 進行了k次操作
則有若不把第i個數放入前j個數中
dp[i][j][k] = dp[i-1][j][k]
若把第i個數放入前j個數中
至少需要把第i個移到第j個,即進行i-j次操作
if(k >= i-j)
dp[i][j][k] = dp[i-1][j-1][k-(i-j)]
然而如果直接開陣列,則要開dp[151][151][151*151]這麼大 這顯然是不可取的
又因為 dp[i][ ][ ] 始終只和 dp[i-1][ ][ ] 有關,所以考慮滾動陣列
即用 dp[i%2][ ][ ] 表示 dp[i][ ][ ]
話不多說,上**:
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int inf=
0x3f3f3f3f
;int n,k,s;
ll dp[2]
[155][
155*
155]
;ll a[
155]
;int
main()
}}ll ans=inf;
for(
int k=
0;k<=
min(s,n*
(n-1)/
2);k++
) ans=
min(dp[n%2]
[k][k]
,ans)
;printf
("%lld\n"
,ans)
;return0;
}
滾動聯動 單獨滾動與文件滾動
我們的需求是做乙個文件的頁面,需要有標題與內容區。左邊的標題需要根據內容區來滾動,內容區滾動也需要左邊標題區的高亮。這些都是普通文件需要的。文件標題比較多的時候還需要的是標題區的滾動,標題區滾動是因為當標題過多需要有滾動條,內容區的滾動需要把左邊標題區的高亮展示出來。效果看 dp.bytedance...
ListView滾動翻頁 滾動載入
關鍵 1.滾動載入 listview.setonscrolllistener new onscrolllistener override public voidonscroll abslistview view,int firstvisibleitem,intvisibleitemcount,int...
Qt QLabel 文字滾動 滾動字幕
1.實現效果 做了兩種實現方式,畫素滾動比較順滑。支援qlabel樣式表設定字型顏色邊框等。支援實時縮放。2.簡述 實現思路1 準備足夠顯示滿寬的字元,每次刪除最左邊的乙個字元,不夠顯示的時候,在後邊追加字元。實現思路2 畫乙個寬度是label寬度 文字寬度的文字框,從x 0開始,每次將文字框的起始...