題意:在乙個n*n的棋盤上放m個車,使得各個車之間不相互攻擊。有多少種放法?
思路:先在n行中選出m行,c(n,m),再在n列中選出m列隨便放a(n,m),答案為c(n,m)*a(n,m)。
#include #include #include #define int64 long longusing namespace std;
int n,m,num=0,c;
int64 a(int n,int m)
int64 c(int n,int m)
return ans; }
int main()
{ for(scanf("%d",&c);c--;)
{scanf("%d%d",&n,&m);
int64 ans;
if(n
LightOj 1188 樹狀陣列
題意 給乙個數列 len 1e5 數列裡的數 num 1e5 現有q次詢問 1e5 詢問某個區間的不同的數有多少個。思路 明顯的樹狀陣列統計,自己寫的時候不太清楚那個樹狀陣列到底應該怎麼維護。有點想用掃瞄線類似的思想,然後離線所有詢問這樣去維護,甚至想到了按照右區間排序。但是到底樹狀陣列應該怎樣維護...
題解 LightOJ1067 逆元
題目鏈結 費小馬定理求逆元 a b 1mod m 只要 m 是乙個素數,而且 b 不是 m 的倍數,就可以用乙個逆元整數 b 通過 a b a b mod m 來以乘換除 費馬小定理說,對於素數 m 任意不是 m 的倍數的 b,都有 b m 1 1 mod m 於是可以拆成 b b m 2 1 mo...
LightOJ 1176題目解答
lightoj 1176題目解答 一共有6種碼號的衣服,每個人可以接受2種中的任意乙個,每個衣服有n種顏色 本題與顏色無關,其實告訴你有n種顏色就是告訴你每個尺碼有n件衣服 一共有m個人,問這m個人能否都拿到適合自己的衣服。可用最大流求解,人為左邊的點,衣服為右邊的點,每個人與適合自己的衣服之間建邊...