ybtoj高效高階 遞推-4
上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。
遊戲規則是這樣的: n
nn個同學站成乙個圓圈,其中的乙個同學手裡拿著乙個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的乙個(左右任意),當老師再次吹哨子時,傳球停止,此時,拿著球沒有傳出去的那個同學就是敗者,要給大家表演乙個節目。
聰明的小蠻提出乙個有趣的問題:有多少種不同的傳球方法可以使得從小蠻手裡開始傳的球,傳m
mm 次以後,又回到小蠻手裡。兩種傳球方法被視作不同的方法,當且僅當這兩種方法中,接到球的同學按接球順序組成的序列是不同的。比如有三個同學 1
11 號、2
22 號、3
33 號,並假設小蠻為 1
11 號,球傳了 m
mm次回到小蠻手裡的方式有 1
−>3−
>2−
>
11->3->2->1
1−>3−
>2−
>
1 和 1
−>2−
>3−
>
11->2->3->1
1−>2−
>3−
>
1,共2
22 種。
3 3
2
挺好推的吧
應該設fi,
jf_
fi,j
為第j個時間段,球在第i個人手裡的方案數
那因為球只能向左右兩邊傳所以fi,
j=fi
−1,j
−1+f
i+1,
j−
1f_ = f_ + f_
fi,j=
fi−1
,j−1
+fi
+1,j
−1然後在1點和n點處理一下就可以了
#include
#include
#include
#include
using
namespace std;
int n, m, f[
105]
[105];
intmain()
printf
("%d"
, f[1]
[m])
;}
YbtOJ高效高階 貪心 2 雷達裝置
ybtoj高效高階 貪心 2 有n nn個建築物,第i ii個建築物在笛卡爾座標系上的座標為 xi yi x i,y i xi y i 你需要在x xx軸上安裝一些雷達,每個雷達的偵察半徑均為d dd 要求每個建築物都至少被乙個雷達偵測到,求最少要安裝幾個雷達。3 2 1 2 3 1 2 12每個點...
YbtOJ高效高階 貪心 3 畜欄預定
ybtoj高效高階 貪心 3 有n頭牛在畜欄中吃草。每個畜欄在同一時間段只能提供給一頭牛吃草,所以可能會需要多個畜欄,給出第i頭牛開始吃草的時間區間 ai bi a i,b i ai b i 求需要的最少畜欄數和每頭牛對應的畜欄方案。5 1 10 2 43 6 5 84 7412 324對每頭牛的開...
ybtoj 高效高階 1 4 深搜 數獨遊戲
用字串輸入 將其轉換成數值放入陣列a 陣列l統計當前行數字的使用情況 陣列r統計當前列數字的使用情況 陣列f統計當前3 3方格數字的使用情況 列舉當前格可以填的數字 include include include using namespace std int a 10 10 l 10 10 r 1...