time limit:1000 ms os:linux
現在有n匹馬,要求安排出場順序,可以有多匹馬同時出場,問一共有多少種方式。
設一共i匹馬時,出場次序數量為 j 時的出場方式為 a[i][j]
1匹馬的情況:a[1][1]=1 沒啥好說的
2匹馬的情況:a[2][1]=1 , 對於a[2][2] 只能在a[1][1]的基礎上把第二匹馬放到前面或後面,
所以a[2][2]=a[1][1]*2=2
3匹馬的情況:a[3][1]=1 , 對於 a[3][2],就可以在a[2][1]的基礎上前後加一條,也可在a[2][2]的基礎上任選和其中一匹馬同時跑,由此
a[3][2]=a[2][1]*2+a[2][2]*2
圖雖然畫的比較難看。。還是看圖吧
總之由上面的規律就能得出狀態轉移方程 dp
[i][
j]=d
p[i−
1][j
−1]∗
j+dp
[i−1
][j]
∗j
#include
#include
#include
#include
#define mem(a,b) memset(a,b,sizeof(a))
using
namespace
std;
const
int maxn=1005;
const
int mod=10056;
int dp[maxn][maxn];
int main()
}int t;
cin>>t;
for(int ca=1;ca<=t;ca++)
UVA1203Argus(優先佇列)
題目 uva1203argus 優先佇列 題目大意 給你多個專案,每個專案有它發生的週期和對應的q num值。現在要求給出前k個專案,時間優先,同一時刻發生的先輸出q num值小的。解題思路 先將這幾個專案排下順序,一開始這些專案的發生時間就是週期,按照時間優先和同一時刻的q num優先的原則將這個...
UVA 1203 Argus 優先佇列
參看 題目大意 給定多個命令,每個命令如register 2004 200 對應於編號為2004的事件,每隔200秒發生一次 首次發生是在200秒 然後在給你乙個k,要你輸出前k個發生事件的編號.如果幾個事件同時發生,輸出事件編號小的.思路分析 劉汝佳訓練指南p188例題.每次從佇列中取出時間最小且...
12 03學習計畫
1 處理蒲朗克常量的資料。2 準備專業應用軟體考試。1 蒲朗克常量的測量方法吧雖然很簡單,但是對於這個資料不得不說,太多了。當時做實驗的時候就是,講完了做法測了一節課的資料。處理資料就是要做 畫散點圖,擬合曲線,求方程,求交點,求斜率,再求誤差。現在來講講處理的過程中遇到的一些問題吧!由於當時測量的...