數的劃分 洛谷 P1025 dp
題解
使用動態規劃求解 設定狀態d[i][j]表示分為i份總和為j
列舉分的份數和當前總和 嘗試增加一份大小為1到N的進行轉移
根據題意1,1,5和1,5,1為同一種 增加的這一份的迴圈需要放在最外面
AC程式碼
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int MAXN = 210;
int d[10][MAXN]; //分成幾份 總和
int main( )
{
#ifdef LOCAL
//freopen("C:/input.txt", "r", stdin);
#endif
int N, K;
cin >> N >> K;
d[0][0] = 1;
for (int i = 1; i <= N; i++) //單份大小
for (int j = 0; j + i <= N; j++) //當前總和
for (int k = 0; k < K; k++) //已有幾份
d[k + 1][j + i] += d[k][j];
cout << d[K][N] << endl;
return 0;
}
相關推薦
數的劃分 洛谷 P1025 dp
題解 使用動態規劃求解 設定狀態d[i][j]表示分為i份總和為j 列舉分的份數和當前總和 嘗試增加一份大小為1到N的進行轉移 根據題意1,1,5和1,5,1為同一種 增加的這一份的迴圈需要放在最外面 AC程式碼 #include <stdio.h> #include
洛谷——P1025 數的劃分
不同的 fff ret define sample esp problem 輸入輸出 過去 P1025 數的劃分 題目描述 將整數nn分成kk份,且每份不能為空,任意兩個方案不相同(不考慮順序)。 例如:n=7n=7,k=3k=3,下面三種分法被認為是相同的。 $1
【洛谷P1025】【JZOJ5195】數的劃分
題目大意: 題目連結: 洛谷:https://www.luogu.org/problemnew/show/P1025 JZOJ:https://jzoj.net/senior/#main/show/5195 將
洛谷 P1433 DP 狀態壓縮
main 二進制表示 out str cstring 等於 ios 二進制 老鼠 題目描述 房間裏放著n塊奶酪。一只小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在(0,0)點處。 輸入輸出格式 輸入格式: 第一行一個數n (n<=15) 接下來每行2個實數
靶型數獨 洛谷P1074
題目描述 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 Z 博士請教,Z 博士拿出了他最近發明的“靶形數獨”,作為這兩個孩子比試的題目。 靶形數獨的方格同普通數獨
(第二題)統計單詞數 【洛谷】P1308
題目描述 一般的文字編輯器都有查詢單詞的功能,該功能可以快速定位特定單詞在文章中的位置,有的還能統計出特定單詞在文章中出現的次數。 現在,請你程式設計實現這一功能,具體要求是:給定一個單詞,請你輸出它在給定的文章中出現的次數和第一次出現的位置。注意:匹配單詞時,
麥森數(洛谷-P1045)
題目描述 形如2^{P}-12P−1的素數稱為麥森數,這時PP一定也是個素數。但反過來不一定,即如果PP是個素數,2^{P}-12P−1不一定也是素數。到1998年底,人們已找到了37個麥森數。最大的一個是P=3021377P=3021377,它有909526位。麥森數有許
dp+高精度(洛谷1005 矩陣取數遊戲NOIP 2007 提高第三題)
結束 efi -m ron highlight std mes c++ brush 帥帥經常跟同學玩一個矩陣取數遊戲:對於一個給定的n*m的矩陣,矩陣中的每個元素aij均為非負整數。遊戲規則如下: 1.每次取數時須從每行各取走一個元素,共n個。m次後取完矩陣所有元素;
【洛谷 2774】方格取數問題 | 狀壓DP
題解 範圍 題目 算法 所在 最大的 狀態 bsp 棋盤 題目描述 在一個有 m*n 個方格的棋盤中,每個方格中有一個正整數。現要從方格中取數,使任意 2 個數所在方格沒有公共邊,且取出的數的總和最大。試設計一個滿足要求的取數算法。對於給定的方格棋盤,按照取數要求編程找出總
洛谷 P1004 方格取數 【多線程DP/四維DP/】
多線程dp adg spa 一個 bre code opened copy clu 題目描述(https://www.luogu.org/problemnew/show/1004) 設有N*N的方格圖(N<=9),我們將其中的某些方格中填入正整數,而其他的方格中則放
【DP】洛谷1004方格取數
一個 應該 什麽 == 美的 ret cstring clas bool 題目在這裏 首先想到的是DFS,附上80分代碼(不知道為什麽WA了一個點): #include <cstdio> #include <cstring> #def
洛谷P4644 [USACO2005 Dec]Cleaning Shifts 清理牛棚 [DP,數據結構優化]
mes false bar lac 過程 -o ive imp space 題目傳送門 清理牛棚 題目描述 Farmer John‘s cows, pampered since birth, have reached new heights of fastidio
洛谷P1216數塔(逆向遞推遞歸+記憶化,dp)
根據 初始 als out 有一個 type lse ++ 遞歸 題目鏈接:https://www.luogu.org/problemnew/show/P1216 題目很簡單,是dp和記憶化搜索的入門練手好題 有一個坑點,全為0的時候,記憶化沒初始化為其它值的話,還是暴
洛谷2657 windy數(數位DP)
傳送門 【題目分析】 數位DP經典題了。 考慮直接統計R內的windy數和L-1內的windy數,兩者相減即為L~R之間的windy數。 考慮DP,記錄當前位以及上一位所填的數,當前是否前面為前導零,以及前面一段是否與原數相同。 然後按題意逐位計算即可。 然後就會驚訝的發現T
帶有技巧的搜尋(洛谷,數獨二進位制優先找列舉順序,旅行商(寫了狀壓DP),數字三角(利用楊輝三角的係數),滑雪(記憶化))
ACM題集:https://blog.csdn.net/weixin_39778570/article/details/83187443 P1118 [USACO06FEB]數字三角形Backward Digit Su… 題目:https://www.luogu.org/problemn
洛谷P1004 方格取數 dp
這一題相當於兩個人從左上角走到右上角 dp[i][j][k][l]表示第一個人走到(i,j)第二個人走到(k,l)時取到數總和的最大值 dp[i][j][k][l]=max(dp[i-1][j][k-1][l],dp[i-1][j][k][l-1],dp[i][j-1][k-1][l],dp[i][j-1
2018.09.29【洛谷P2106】Sam數(數位DP)(矩陣快速冪)
傳送門 解析: 其實這種只用位數轉移的數位DPDPDP,大概都可以用矩陣快速冪推。本質原因是每層的轉移方程與這是第幾層無關,比如這道題。 思路: 可以發現一個很顯然的情況,就是上面說的,這道題可以矩陣
洛谷P1108 低價購買-- 輸出dp方案數
題目描述 “低價購買”這條建議是在奶牛股票市場取得成功的一半規則。要想被認為是偉大的投資者,你必須遵循以下的問題建議:“低價購買;再低價購買”。每次你購買一支股票,你必須用低於你上次購買它的價格購買它。買的次數越多越好!你的目標是在遵循以上建議的前提下,求你最多能購買股票的次數。你將被給出一
2018.09.29【BZOJ1026】【洛谷P2657】【SCOI2009】windy數(數位DP)
洛谷傳送門 解析: 由於資料範圍很小(相對於大部分數位DPDPDP題來說)。 我們只記錄當前位,當前位數字,是否是前導0,是否達到上界。 簡單DP記憶化搜尋一下就好了。 程式碼: #include
洛谷P2657 windy數 [SCOI2009] 數位dp
數位 pan sco span 報告 mar 解題報告 ont 是個 正解:數位dp 解題報告: 傳送門! 這題一看就是個數位dp鴨,"不含前導零且相鄰兩個數字之差至少為2"這種的 然後就直接套板子想唄 洛谷P2657 windy數 [SCOI2009] 數位d