NOIp2008傳球遊戲(普及組T3)————動態規劃
題解:本題主要考查動態規劃。因為球只能左右傳,所以i同學只能來自於的左邊一個同學(i-1)和右邊一個同學(i+1)。傳j次球的方案數就是j-1次傳到左邊和右邊的方案數之和。
f[i][k]=f[i-1][k-1]+f[i+1][k-1],(i=1或n時,需單獨處理)。
程式碼如下:
#include<iostream> using namespace std; int n,m,i=1,j; int d[31][31]; int main() { d[1][0]=1; cin>>n>>m; for(j=1;j<=m;j++) { if(i==1)d[i][j]=d[2][j-1]+d[n][j-1]; for(i=2;i<=n-1;i++) d[i][j]=d[i-1][j-1]+d[i+1][j-1]; if(i==n)d[n][j]=d[1][j-1]+d[n-1][j-1]; i=1; } cout<<d[1][m]; return 0; }
相關推薦
NOIp2008傳球遊戲(普及組T3)————動態規劃
題解:本題主要考查動態規劃。因為球只能左右傳,所以i同學只能來自於的左邊一個同學(i-1)和右邊一個同學(i+1)。傳j次球的方案數就是j-1次傳到左邊和右邊的方案數之和。 f[i][k]=f[i-1][k-1]+f[i+1][k-1],(i=1或n時,需單獨處理)。 程式碼如下: #i
NOIP2007守望者的逃離(普及組T3)————動態規劃,貪心
題解:本題主要考查動態規劃,貪心。分析題意知:閃現一般比跑快。所以一開始用閃現,用max比較,可得答案。注意(要更新值,更新值,更新值!) 程式碼如下: #include<iostream> #include<algorithm> using namespace
NOIp2012擺花(普及組T3)————動態規劃
題解:本題主要考查動態規劃。方程式dp[i][j]=dp[i-1][j-k]+dp[i][j],f[i][j]指擺第i個花後總共擺了j盆的方案數,第i種花由i-1種決定,k表示這種花擺多少要列舉,j−k表示沒有用這k盆花裝飾時的方案數。 程式碼如下: #include<iostre
NOIP2008排座位(普及組T2)————貪心,排序
題解:本題主要考查貪心,排序。先記錄行列的分隔數,再排序將需要裝入桶中(重點,因為要輸出的不只是最大值的序號)。 程式碼如下: #include<iostream> #include<algorithm> using namespace std; int m,n,
洛谷 P1982 小朋友的數字(NOIp2013普及組T3)
文件 ret vijos 觀察 個數 color 符號 朋友 麻煩 題目描述 有 n 個小朋友排成一列。每個小朋友手上都有一個數字,這個數字可正可負。規定每個小朋友的特征值等於排在他前面(包括他本人)的小朋友中連續若幹個(最少有一個)小朋友手上的數字之和的最大值。 作為這些
傳球遊戲(遞歸水文)
ret 一個 clu else n) images name img tdi 所以說在被遞歸暴力的狠狠的虐了之後,我終於也可以虐遞歸啦(不存在的),於是懷著對漢諾塔的敬意和對遞歸的迷茫敲下了這篇總結,請記住:萬物皆虛,萬世皆允(劃掉)。 最初開始
NOIP2004合唱隊列(提高組T3)————單調佇列,動態規劃(最長上升序列,最長下降序列)
題解:本題主要考查單調佇列,動態規劃(最長上升序列,最長下降序列)。這個序列是一箇中間高,兩頭底的序列,先解決從T1到Ti這一段單調遞增的序列,再解決Ti到TK這一段單調遞減的序列(注意數值的更新)。 程式碼如下: #include<iostream> #include<
NOIP2010接水問題(普及組T2)————模擬,佇列
題解:本題主要考查模擬,佇列,因為順序已經擺好了,所以關鍵在於節水結束時的替換,將下個的量賦給已結束的,就可以啦。 程式碼如下: #include <iostream> using namespace std; int s[11000],num,t,n,m; int
P1057 傳球遊戲(DP水題)
題目描述 上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。 遊戲規則是這樣的:nn個同學站成一個圓圈,其中的一個同學手裡拿著一個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的一個(左右任意),當老師再次吹哨子
NOIP2001數的計算(普及組T1)————數學,遞迴,遞推
題解:本題可尋找規律,a(i)(偶數)=a(i-1)+a(i/2),a(i)(奇數)=a(i-1) 程式碼如下: #include<iostream> using namespace std; int a[100000]={0,1}; int m
n個數分為m堆有多少種分法(青島理工邀請賽)動態規劃
有n個相同的數,把它分為m堆,有多少種分法。 樣例:7 3 輸出:4 注:(1,1,5)(1,5,1) (5,1,1)是一種分法。 //算是看了網上很多的演算法,這裡只是做一個解釋 //網上關於這個的演算法很多,我看了很多之後,自己按照某一種的思路自己打了一
傳球遊戲(NOIP2008 普及組第三題)
同學 標示 方式 順序 開始 syn 有趣的 序列 toolbar 描述 上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。 遊戲規則是這樣的:n個同學站成一個圓圈,其中的一個同學手裏拿著一個球,當老師吹哨子時開始傳球,每個同學可以把球
noip2008普及組t3傳球遊戲
人在 ddd view algo aps OS opened main () 簡單dp dp[i][j]表示第i個人在j次傳球前的狀態 註意i=1 i=n時特殊處理 #include<iostream> #include<cstdio> #inc
NOIP2008 普及組T3 傳球遊戲 解題報告-S.B.S.
題目描述 上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。 遊戲規則是這樣的:n個同學站成一個圓圈,其中的一個同學手裡拿著一個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的一個(左右任意),當老師在此吹哨子時,傳
Luogu 5017 NOIP2018普及組T3 擺渡車 (斜率優化 + 必要的轉移進行剪枝)
題意: 有 n 名同學要乘坐擺渡車從人大附中前往人民大學,第 i 位同學在第 ti 分鐘去 等車。只有一輛擺渡車在工作,但擺渡車容量可以視為無限大。擺渡車從人大附中出發、 把車上的同學送到人民大學、再回到人大附中(去接其他同學),這樣往返一趟
題解:子矩陣(NOIP2014普及組T4)
+= out bsp tdi 又是 style 預處理 sizeof 表示 又是dp 暴力枚舉會T 考慮先固定一個變量,比如先枚舉行 然後預處理每行之間的絕對值,每列之間的絕對值 然後dp進行轉移 註意記錄選擇的行數 轉移記得加上新選的列的行之間的絕對值,即w[
洛谷P1057傳球遊戲(逆向遞推遞迴+記憶化)
題目連結:https://www.luogu.org/problemnew/show/P1057 剛看到這道題,就是正向暴力遞迴暴力出所有情況,而且資料範圍這麼小,就寫了暴力遞迴,但是。。。tle好幾個點。。。 仔細跟著程式走了一遍樣例,發現暴力遞迴過程中好多點都重複計算,重複暴力了,So
[OI]Noip 2018(普及組)總結
應該 str ora clu ios 老師 失誤 play max 考砸了,還有原諒我代碼十分有限的可讀性。 從一年前初一九月到現在18年10月接觸OI已經有一年了。幾次模擬賽也自我感覺良好,都過了一等的線,自己考試的心態當時也放的挺平。但也沒想到會考出這麽差的分數。
NOIp2004花生採摘(普及組)————搜尋,模擬
題解:本題主要考查搜尋,模擬,要審題別把題目複雜化。關鍵在於算時間,與前一個的座標差再加採摘時間這就是時間。 程式碼如下: #include<bits/stdc++.h> using namespace std; int m,n,i,j,gg=1,t,lo,sum; stru
2126. OIBH杯第三次模擬賽(普及組)Problem 3 : maxsum 最大約數和
題目描述 選取和不超過S的若干個不同的正整數,使得所有數的約數(不含它本身)之和最大。 輸入 輸入一個正整數S。 輸出 輸出最大的約數之和。 樣例輸入 11 樣例輸出 9 資料範圍限制 對於30%的資料, S<=10; 對於100