【動態規劃】 擺花 【NOIp普及組 2012 第三題】 (ssl 2360/luogu 1077)
擺花
題目大意
有n種花,每種花有ai支,取m支,有多少種取法?(同一種花取第1,第3支和取第1,第2支算一種取法)
解題方法:
用f[i][j]來表示前i種選j支的方案數,然後往後推
動態轉移方程:
f[i][j+k]=(f[i][j+k]+f[i−1][k])mod1000007
#include<cstdio>
using namespace std;
int n,m,x,f[102][102];
int main()
{
scanf("%d%d",&n,&m);
for (int i=0;i<=n;i++)//預處理
f[i][0]=1;
for (int i=1;i<=n;i++)
{
scanf("%d",&x);
for (int j=1;j<=m;j++)
f[i][j]=f[i-1][j];//等於前一種,都不選
for (int j=1;j<=x;j++)//可以選x支
for (int k=0;k<=m-j;k++)//之前選了k支
f[i][j+k]=(f[i][j+k]+f[i-1][k])%1000007;//加在一起
}
printf("%d",f[n][m]);
return 0;
}
相關推薦
【HDU 1024】 Max Sum Plus Plus【動態規劃求最大M子段和詳解-好題 】
Now I think you have got an AC in Ignatius.L‘s "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you a
博弈論(noip普及組2010第四題 三國遊戲)
三國 勝利 沒有 blog hang max efi () turn 小涵很喜歡電腦遊戲,這些天他正在玩一個叫做《三國》的遊戲。 在遊戲中,小涵和計算機各執一方,組建各自的軍隊進行對戰。遊戲中共有 N 位武將(N為偶數且不小於 4),任意兩個武將之間有一個“默
【劍指offer第三題】從尾到頭列印連結串列
import java.util.ArrayList; public class Solution { ArrayList list=new ArrayList();//放在遞迴體外面,每次新
【藍橋杯】2018.B組.Java.第三題
複數冪 設i為虛數單位。對於任意正整數n,(2+3i)^n 的實部和虛部都是整數。 求 (2+3i)^123456 等於多少? 即(2+3i)的123456次冪,這個數字很大,要求精確表示。 答案寫成 “實部±虛部i” 的形式,實部和虛部都是整數(不能用科學計數法表示),中間任何地方都不
【java語言程式設計基礎篇第十章第三題】
package OctTTYwo; public class MyInteger { int value ; String valuel; public MyIntege
NOIP 普及組 2012 尋寶(思維???)
傳送門 https://www.cnblogs.com/violet-acmer/p/9937201.html 題解: 一開始用暴力查詢下一個要去的房間,超時了,emmmmm....... 然後,就稍微優化了一下,具體看程式碼 1 #include&l
NOIP 2018普及組複賽第1題答案詳解
一、C程式 ###解法一:用gets()函式 #include <stdio.h> #include <string.h> int main() { // 將控制檯的
【動態規劃】洛谷_1077 擺花
題意 給出NNN種花,其中第iii種花的數量不能超過aia_iai個,求一共擺MMM個花的方案數模1000007。 思路 動態規劃。設f[i][j]f[i][j]f[i][j]為前iii種花擺jjj個
「NOIP模擬」草地排水【動態規劃】【二分答案】
f[i]f[i]f[i]表示考慮前iii個自動排水裝置的最大效率,然後二分一下答案轉移就好了。 #include <cmath> #include <cstdio> #include <cstring> #include &
【暴力搜尋】【動態規劃】[NOIP 1999]郵票面值設計
其實就是列舉每一個郵票的面值記得保持嚴格遞增,然後DP判斷每一次最多能夠湊出1-哪個面值的郵票,然後下限顯然就是前面一張郵票的面值+1,上限是當前能夠湊出的郵票的面值+1因為顯然如果當前最大為n那麼如果
【Java】【滾動數組】【動態規劃】UVA - 11137 - Ingenuous Cubrency
得到 lose math scanner light clas details 狀態 ann 滾動數組優化自己畫一下就明白了。 http://blog.csdn.net/u014800748/article/details/45849217 解題思路:本題利用遞推關系解決。
【動態規劃】 Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip
and main spa def esp 動態 return 價值 can 劃分那個序列,沒必要完全覆蓋原序列。對於劃分出來的每個序列,對於某個值v,要麽全都在該序列,要麽全都不在該序列。 一個序列的價值是所有不同的值的異或和。整個的價值是所有劃分出來的序列的價值之和。
【動態規劃】Codeforces Round #406 (Div. 2) C.Berzerk
[1] space node sca 一個 for 隊列 ber 動態規劃 有向圖博弈問題。 能轉移到一個必敗態的就是必勝態。 能轉移到的全是必勝態的就是必敗態。 轉移的時候可以用隊列維護。 可以看這個 http://www.cnblogs.com/quintessence
【動態規劃】CDOJ1271 Search gold
mage images sin class png http std ret urn 方格取數。 但由於題意說金幣數<0就死了,就不能繼續轉移。 #include<cstdio> #include<algorithm> #include&l
【動態規劃】最長公共子序列問題
clas == 搜索 ios for 參考 pan 公式 是否 題目描述: 給定兩個字符串s1s2……sn和t1t2……tn。求出這兩個字符串最長的公共子序列的長度。字符串s1s2……sn的子序列指可以表示為si1si2……sim(i1<i2<……<im)
【Tarjan】【LCA】【動態規劃】【推導】hdu6065 RXD, tree and sequence
and main ack find turn hdu mes ear 高明 劃分出來的每個區間的答案,其實就是連續兩個的lca的最小值。 即5 2 3 4 這個區間的答案是min(dep(lca(5,2)),dep(lca(2,3),dep(lca(3,4))))。 於是d
【動態規劃】windy數
center log char enter tdi ++ getc windy數 ace BZOJ1026: [SCOI2009]windy數 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 7893 Solved: 3