洛谷試煉場 動態規劃專練

2022-07-27 17:42:10 字數 2300 閱讀 5121

// 最近才發現洛谷也有整理好的分類題集,於是前來加強練習一番。

在普及練習場分分鐘解決了動態規劃的揹包問題,最後卡在 -->

重學了一遍分組揹包終於解決了該問題。 參考揹包問題九講

注意分組後不能重複選啊!!!

將附件做01揹包求得在不同金錢下購買若干附件獲得的最大價值,將所有方案加入到主件。現在新的主件中只能選擇購買其中一種,於是轉化為分組揹包問題。

#include#include#include#includeusing namespace std;

struct node ;

vectormain[64];

vectorpart[64];

int dp[33000];

int main() );

else

part[q].push_back((node));

} for(int i=1;i<=m;i++)

} // 金錢j+main[i][0].v 最多獲得 dp[j]+main[i][0].p

// 全部放入main分組

int last = 0;

for(int j=1;j+main[i][0].v<=v;j++) ), last = dp[j];

} }// 分組揹包

memset(dp, 0, sizeof(dp));

for(int i=1;i<=m;i++)

} }printf("%d\n", dp[v]);

return 0;

}

思路:單次攔截飛彈個數就是求(不上公升的)lis, 總的攔截次數怎麼求呢 ? 嘗試貪心莽了一次發現第二問幾乎都wa了。一看題解就是求(上公升的) lis 。。。

why?

西江月 · 證明
即得易見平凡,仿照上例顯然。留作習題答案略,讀者自證不難。

反之亦然同理,推論自然成立,略去過程 q e d,由上可知證畢。

**:

#include#include#includeusing namespace std;

int h[100010];

int dp[100010];

int main()

dp[1] = h[1];

int len1 = 1;

for(int i=2;i<=n;i++)

} printf("%d\n", len1);

for(int i=1;i<=n;i++)

h[i] = -h[i];

dp[1] = h[1];

len1 = 1;

for(int i=2;i<=n;i++)

// cout

for(int i=1;i<=n;i++)

cin>>h[i];

getlis(d1, lis1);

reverse(h+1, h+1+n);

getlis(d2, lis2);

reverse(lis2+1, lis2+1+n);

int ans = n;

for(int i=1;i<=n;i++)

printf("%d\n", ans);

return 0;

}

思路:區間dp模板題變形,區間變成了環形區間,加乙個取模操作即可。

**:

#include#include#include#includeusing namespace std;

int h[110];

int sum[110][110];

int dp[110][110];

int main()

**:#include#include#includeusing namespace std;

char s[110], t[110];

int n, m;

int dp[110][110]; // s[i] 與 t[j] 位匹配的最大值

const int v[5][5] = ,

, , ,

};int id(char c)

int main()

} printf("%d\n", dp[n][m]);

return 0;

}

洛谷試煉場 DAY 01

在網上看到說,藍橋杯的比賽形式和洛谷相似。這就尷尬了啊,之前一直在力扣上努力,雖然都是刷題,但是刷題的形式還是有一點不同的。洛谷上的coding環境更類似於演算法競賽。所以吧,洛谷試煉場 day 01 開始 超級瑪麗是乙個非常經典的遊戲。請你用字元畫的形式輸出超級瑪麗中的乙個場景 這道題是洛谷的零號...

洛谷試煉場 普及練習場 貪心

1.p1090合併果子 noip2004 優先佇列 貪心 題目鏈結 題目鏈結 2.p1181數列分段 貪心 題目鏈結 蒟蒻題解 3.p1208 usaco1.3 貪心 題目鏈結 蒟蒻題解 4.p1223排隊接水 貪心 題目鏈結 蒟蒻題解 5.p1094紀念品分組 noip2007普及 貪心 題目鏈結...

洛谷試煉場 洛谷新手村 迴圈!迴圈!迴圈!

1.p1008 三連擊 題目鏈結 include using namespace std int main 2.p1035 級數求和 題目鏈結 include using namespace std int main cout 1 0 3.p1423小玉在游泳 題目鏈結 include using ...