經過該切換器的球的總量是k,發現如果是該位置的值是1,那麼會有(k+1)/2的球像右去,剩下的球向下去。如果該位置的值是-1,那麼會有
(k+1)/2的球像下去,剩下的球向右去。
#include#include#includeusing namespace std;
typedef long long ll;
inline char nc()
return *p1++;
}inline void read(int &x)
inline void read(ll &x)
const int n=1005;
int n,m,a[n][n];
ll f[2][n][n];
int main()else if (a[i][j]==1)else
printf("%lld\n",f[0][n+1][m]+f[1][n+1][m]);
return 0;
}
球與切換器,51nod1293,思維好題 遞推
通過觀察我們會發現,乙個1的點從右邊出去的必定比從下面出去的多一或者等於,乙個 1的點從下面出去的必定比從右邊出去的多一或者等於,所以說順序並不影響乙個球到達乙個點之後的走向,我們可以根據奇偶判斷到達乙個點的多個球有多少個球往下走或者往右走。0的情況就很簡單了。所以就直接 遞推一下,就做完了。inc...
51Nod 1418 放球遊戲
acm模版 一道模擬題,ac率之高,令人髮指,但是並不是說明這道題很水,畢竟a它的人數基數不大。這裡根據題意,需要額外考慮的是當球的個數是1個或者2個時,結果分別是0和1,然後,就需要考慮球放的位置了,當然,這其實是乙個煙霧彈,我們只需要每次都盡量往中間放,使兩邊的球色最雜,這時,就要考慮到每種顏色...
51nod 排列與交換 序列dp
算是比較簡單的七級題了吧,也是經典的序列交換型別的dp。明顯有f i j 表示前i個交換j次的方案數。對於第一問,每次轉移的時候直接把之前的方案繼承過來。最後統計答案的時候,只要交換次數與k的奇偶性相同,就可累加到答案內,因為剩餘的步數我可以兩點之間xjb交換。但是會算重,因為我這樣的計算是盡量把每...