BJOI2019 光線 遞推

2022-05-07 21:00:09 字數 832 閱讀 4688

題目鏈結

令 \(f_i\) 表示光線第一次從第一塊玻璃射出第 \(i\) 塊玻璃的比率。

令 \(g_i\) 表示光線射回第 \(i\) 塊玻璃,再射出第 \(i\) 塊玻璃的比率。

容易得到:

\[\beginf_i=f_a_i+f_b_ig_i\\g_i=b_a_i+b_b_ig_i+a_g_a_i+a_g_b_ig_i\end

\]對於 (2) 式,移項可得

\[g_i=\fraca_i+a_g_a_i}b_i-a_g_b_i}

\]遞推即可。

由於要求逆元,複雜度 \(o(nlogn)\) 。

#includeusing namespace std;

typedef long long ll;

#define rep(i, a, b) for(int i = a; i <= b; ++i)

inline int gi()

while(isdigit(ch))

return x * f;

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

int n;

ll a[n], b[n], inv100, f[n], g[n];

templatell mul(t x)

templatell mul(t x, u...y)

void add(ll &a, ll b)

ll pow(ll a, ll b)

int main()

printf("%lld\n", f[n]);

return 0;

}

BJOI2019 排兵布陣

今天比賽上這道題好像是人均題呀。好吧,就乙個簡單的,連優化都不需要的揹包dp。我們每次只需要處理在比第i個城堡的第j大的玩家大的情況,不必把所有的兵的情況都處理完。然後就可以 include include include include include include include includ...

BJOI2019 勘破神機

bjoi2019 勘破神機 推式子好題 m 2,斐波那契數列,f 項 不妨 l,r 直接求 f n 求 sum c f n,k 下降冪轉化成階乘冪,這樣都是多項式了,方便交換求和號 最後面的斐波那契數列用通項公式求。二項式展開。交換求和號之後,列舉i,j 最後一項是等比數列求和。n為奇數是0 n是偶...

BJOI2019 奧術神杖

傳送門 首先w1w2 w3 w nn sqrt n nw1 w2 w3 wn 可以利用對數轉化 l og 2w1w 2w3 wnn 1n l og2w ilog 2 frac sum log 2 w i log2 n w1 w 2 w3 wn n 1 l og2 wi 那麼令ti log2 wi t...