51nod 1486 大大走格仔(dp,容斥)

2021-08-09 03:26:00 字數 1003 閱讀 6617

參考題解:

看到題首先是要想到容斥,因為之前看的一篇容斥的文章講到過。不過裡面把這部分內容劃掉了,因為講的有問題。。。。其次呢,想到機械人走方格的題目,畢竟這只是比那個多了個不能走的格仔,不過想了想,還是不會做啊

還是好好看題解吧。。。

我把題解中的狀態轉移方程展開了幾項,正好是++–的容斥形式。

#include 

using

namespace

std;

typedef

long

long ll;

const

int mod = 1e9+7;

const

int maxn = 1e5+10;

const

int maxp = 2010;

struct point

p[maxp];

ll fac[maxn*2];

ll inv[maxn*2];

ll res[maxp];

int h,w,n;

template

inline

bool scan_d(t &ret)

inline

void out(ll x)

void println(ll num)

ll mpow(ll a,ll b)

return ret;

}ll calc(ll n, ll m)

bool cmp(const point& a, const point& b)

int main()

fac[0] = inv[0] = 1;

for(int i = 1; i <= h+w; ++i)

p[n].x = h,p[n].y = w;

sort(p,p+n,cmp);

for(int i = 0; i <= n; ++i)}}

println(res[n]);

return

0;}

51nod 1486 大大走格仔

1486 大大走格仔 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 160 難度 6級演算法題 有乙個h行w列的棋盤,裡面有一些格仔是不能走的,現在要求從左上角走到右下角的方案數。input 單組測試資料。第一行有三個整數h,w,n 1 h,w 10 5,1 n 2...

51nod 1486 大大走格仔

sol 考慮沒有障礙的情況,從 1,1 到 n,m 答案可直接算出為 可得到遞推式 code include include include include include include include include include include using namespace std typ...

51nod 1486 大大走格仔

1486 大大走格仔 基準時間限制 1 秒 空間限制 131072 kb 有乙個h行w列的棋盤,裡面有一些格仔是不能走的,現在要求從左上角走到右下角的方案數。input 單組測試資料。第一行有三個整數h,w,n 1 h,w 10 5,1 n 2000 表示棋盤的行和列,還有不能走的格仔的數目。接下來...