Codeforces 757E 积性函数
来源:互联网 发布:豆沙色唇膏 知乎 编辑:程序博客网 时间:2024/05/17 07:58
1.首先 百度学习积性函数定义 或者 wiki学multiplicative function
2.
3.假设
4.因为
5.
所以
同理
6.故要求的就是
#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <map>#include <queue>#include <algorithm>#include <stack>#include <cctype>#include <cmath>#include <vector>#include <sstream>#include <bitset>#include <deque>#include <iomanip>using namespace std;#define pr(x) cout << #x << " = " << x << endl;#define bug cout << "bugbug" << endl;#define ppr(x, y) printf("(%d, %d)\n", x, y);#define MST(a,b) memset(a,b,sizeof(a))#define CLR(a) MST(a,0)#define SQR(a) ((a)*(a))#define PCUT puts("\n---------------")typedef long long ll;typedef double DBL;typedef pair<int, int> P;typedef unsigned int uint;const int MOD = 1e9 + 7;const int inf = 0x3f3f3f3f;const ll INF = 0x3f3f3f3f3f3f3f3f;const int maxn = 1e6 + 4;const int maxm = 2e1 + 4;const double pi = acos(-1.0);ll dp[maxn][maxm];vector<int> fac[maxn];void divide(int num){ int t = num; for (int i = 2; i * i <= num; ++i) if (num % i == 0){ int tmp = 0; while(num % i == 0) tmp++, num /= i; fac[t].push_back(tmp); } if (num != 1){ fac[t].push_back(1); } return;} void init(){ for (int i = 0; i < maxm; ++i) dp[0][i] = 1 << i; for (int i = 0; i < maxm; ++i) dp[1][i] = 1 + 2 * i; for (int i = 2; i < maxn; ++i){ dp[i][0] = 1; for (int j = 1; j < maxm; ++j) dp[i][j] = (dp[i][j-1] + dp[i-1][j]) % MOD; } return;}ll fun(int r, int num){ if (r == 0) return dp[0][fac[num].size()]; ll sum = 1; for (int i = 0; i < fac[num].size(); ++i){ sum = sum * dp[r][fac[num][i]] % MOD; // cout << fac[num][i] << ' '; } return sum;}int main(){//必须编译过才能交 int ik, i, j, k, kase; init(); for (int i = 1; i < maxn; ++i) divide(i); int q; scanf("%d", &q); while(q--){ int r, num; scanf("%d%d", &r, &num); printf("%I64d\n", fun(r, num)); } return 0;}
0 0
- Codeforces 757E 积性函数
- 欧拉函数 codeforces 776E
- 欧拉函数 codeforces 776E
- CodeForces 603C/604E Lieges of Legendre SG函数
- codeforces 604 E. Lieges of Legendre (sg函数)
- Codeforces 776E The Holmes Children 【数论】【欧拉函数】
- codeforces 604 E. Lieges of Legendre (sg函数)
- codeforces 757e Bash Plays with Functions
- Codeforces 757E Bash Plays with Functions
- codeforces 163E e-Government
- 【Codeforces 163E】E-Government
- Codeforces 78E Evacuation
- 【dp】codeforces 83E
- Codeforces 124 E
- Codeforces 231E
- Codeforces 231E - Cactus
- Codeforces #163 Div2 E
- codeForces 35E
- import 载入模块(类似java导包)
- Matlab中时域、频域、均值滤波、中值滤波自定义函数
- vc 网络编程(socket)(转)
- 【JSP】JSP的九个内置对象
- Random Forest Classification of Mushrooms
- Codeforces 757E 积性函数
- Java之Timer使用
- Twitter的分布式自增ID算法snowflake - C#版
- 10 Java并发编程2-Thread类总结
- android四种基本布局之FrameLayoutAndTableLayout
- 性能测试的测试用例
- uva 193 Graph Coloring
- hdu3567 Eight II 康拓展开+打表+路径回溯+映射
- php时间戳的转换