HDU 6265 Master of Phi
Master of Phi
推式子
∑d∣n?(nd)d給出了n的唯一分解形式我們先對上面式子進行化簡通過組合枚舉d,d的取值分別可以通過∏i=1m∑j=0qipij,一個多項式組合得到那么上述的式子有沒有可能也通過這種新式得到呢,好像是可以的∑d∣n?(nd)d=∏i=1m∑j=0qi?(pij)piqipij我們隨意枚舉一項∑j=0qi?(pij)piqipij出來pq,(p?1)pq?1,(p?1)pq?1…(p?1)pq?1=pq?1(pq+p?q)然后就是簡單的代碼實現了。\sum_{d \mid n} \phi(\frac{n}ze8trgl8bvbq)d\\ 給出了n的唯一分解形式\\ 我們先對上面式子進行化簡\\ 通過組合枚舉d,d的取值分別可以通過\prod_{i = 1} ^{m} \sum_{j = 0} ^{q_i} p_{i} ^{j},一個多項式組合得到\\ 那么上述的式子有沒有可能也通過這種新式得到呢,好像是可以的\\ \sum_{d \mid n} \phi(\frac{n}ze8trgl8bvbq)d = \prod_{i = 1} ^{m} \sum_{j = 0} ^{q_{i}}\phi(p_{i} ^ j) \frac{p_{i} ^{q_i}}{p_{i} ^j}\\ 我們隨意枚舉一項\sum_{j = 0} ^{q_{i}}\phi(p_{i} ^ j) \frac{p_{i} ^{q_i}}{p_{i} ^j}出來\\ p ^ q,(p - 1) p ^{q - 1}, (p - 1) p ^{q - 1} \dots(p - 1)p ^{q - 1}\\ = p ^{q - 1} (pq + p - q)\\ 然后就是簡單的代碼實現了。 d∣n∑??(dn?)d給出了n的唯一分解形式我們先對上面式子進行化簡通過組合枚舉d,d的取值分別可以通過i=1∏m?j=0∑qi??pij?,一個多項式組合得到那么上述的式子有沒有可能也通過這種新式得到呢,好像是可以的d∣n∑??(dn?)d=i=1∏m?j=0∑qi???(pij?)pij?piqi???我們隨意枚舉一項j=0∑qi???(pij?)pij?piqi???出來pq,(p?1)pq?1,(p?1)pq?1…(p?1)pq?1=pq?1(pq+p?q)然后就是簡單的代碼實現了。
代碼
/*Author : lifehappy */ #include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 998244353;ll quick_pow(ll a, int n) {ll ans = 1;while(n) {if(n & 1) ans = ans * a % mod;a = a * a % mod;n >>= 1;}return ans; }int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int T;scanf("%d", &T);while(T--) {int n;scanf("%d", &n);ll ans = 1;for(int i = 1; i <= n; i++) {ll p, q;scanf("%lld %lld", &p, &q);ll temp = ((p * q % mod + p - q) % mod + mod) % mod;ans = ans * quick_pow(p, q - 1) % mod * temp % mod;}printf("%lld\n", ans);}return 0; }總結
以上是生活随笔為你收集整理的HDU 6265 Master of Phi的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: soho路由器怎么设置电信宽带路由器怎么
- 下一篇: win11任务栏图标不习惯win11不显