題目鏈結
令 \(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...