51Nod 1486 大大走格仔 容斥

2022-05-12 10:58:51 字數 685 閱讀 3718

題目:

對於每個點,求出從起點到它,不經過其他障礙點的方案數;

求乙個點時,首先得到走到它的所有方案,減去 x , y 都小於它的點的方案 * 走到該點的方案數;

由於該點的方案也不包括其它障礙點,所以就是容斥。

**如下:

#include#include

#include

#include

using

namespace

std;

typedef

long

long

ll;int

const maxn=1e5+5,mod=1e9+7

;int

h,w,n,x[maxn],y[maxn];

ll fac[maxn

<<1],ans[maxn],inv[maxn];//

<<1

struct np[maxn];

bool cmp(n a,n b)

ll pw(ll a,

intb)

ll c(

int n,int

m)void

init()

intmain()

}printf(

"%lld\n

",ans[n]%mod);

return0;

}

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 表示棋盤的行和列,還有不能走的格仔的數目。接下來...