洛谷P1999 高維正方體

2022-09-19 10:42:06 字數 1091 閱讀 7846

這題挺有意思的 考慮起來有點麻煩

首先 \(n\) 維空間的點數 為 \(2^n\) 因為每往外延伸一條邊 就多出兩個點

然後考慮遞推 設 \(f_\) 表示 \(i\) 維空間內 含有 \(j\) 維空間的個數

從 \(3\) 維空間開始推

\(f_=8\) 因為 \(2^3=8\) 前面已經得出了

\(f_=12\) 因為每個點可以延伸出 \(3\) 條邊 每條邊連著 \(2\) 個點 那就是 \(\frac\times3}=12\)

\(f_=6\) 因為每條邊可以延伸出 \(2\) 個面 每個面連著 \(4\) 條邊 就是\(\frac\times 2}=6\)

\(f_=1\) 雖然不用解釋 但還是需要模擬上面的過程

每個面延伸出\(1\)個立方體 每個立方體連著\(6\)個面

那就是 \(\frac\times 1}=1\)

分母都是\(j\times 2\) 分子是\(f_\times (i+1-j)\)

那麼\(f_=\frac\times(i+1-j)}\)

先求出\(2^a\) 也就是\(f_\)

\(f_=\frac\times(n+1-i)}\)

由於要除 又要\(mod\)

\(1e9+7\) 是質數 就乘 \(i\times2\) 關於 \(mod\)

\(1e9+7\) 的乘法逆元 費馬小定理即可

#include#include#include#includeusing namespace std;

typedef long long ll;

const int n=1e5+5,mod=1e9+7;

ll a,b,f[n];

ll ksm(ll a,ll k)

return res;

}int main()

洛谷 P1999 高維正方體

首先這是個玄學的題目,很多人想到了楊輝三角,但是我太菜了於是沒有想到,用了另一種方法得出了正確的式子,先寫下式子好了。求n維下m維的數量 a ns cnm 2n mans c n m times 2 ans cn m 2 n m我這個蒟蒻推了一節數學課才推出的結論 先來點簡單的 我們生活在3維世界,...

洛谷P1999三國遊戲

題目 仔細想想,兩方都拿不到每個武將的配對中最大的 本來想的是如果有武將a,b,對應最大ma,mb,次大ca,cb,那麼自己選了a,電腦選了mb,接下來自己選b,若mb但仔細一想,這樣還不如第二步去選ca.所以自己只要設計一下,選到次大武將中最大的一組,就必勝了。如下 include include...

洛谷 P1387 最大正方形

題目描述 在乙個n m的只包含0和1的矩陣裡找出乙個不包含0的最大正方形,輸出邊長。輸入輸出格式 輸入格式 輸入檔案第一行為兩個整數n,m 1 n,m 100 接下來n行,每行m個數字,用空格隔開,0或1.輸出格式 乙個整數,最大正方形的邊長 輸入輸出樣例 輸入樣例 1 4 4 0 1 1 1 1 ...