博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2992 Divisors
阅读量:4990 次
发布时间:2019-06-12

本文共 2145 字,大约阅读时间需要 7 分钟。

  筛素数,分解质因数。

代码如下:

1 #include 
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 typedef long long LL; 9 const int N = 444;10 int prm[N >> 2], pn, pid[N], pv[N];11 bool np[N];12 13 void getPrm() {14 np[0] = np[1] = true;15 prm[pn = 0] = 2, pid[2] = pn++;16 for (int i = 3, tmp; i < N; i++, i++) {17 if (!np[i]) prm[pn] = i, pid[i] = pn++;18 for (int j = 0; j < pn; j++) {19 tmp = prm[j] * i;20 if (tmp >= N) break;21 np[tmp] = true;22 if (i % prm[j] == 0) break;23 }24 }25 pv[0] = pv[1] = 1, pv[2] = 2;26 for (int i = 2; i < N; i++, i++) pv[i] = 2;27 for (int i = 3; i < N; i++, i++) {28 if (!pv[i]) {29 for (int j = i; j < N; j += i) pv[j] = i;30 }31 }32 // cout << pn << endl;33 // for (int i = 0; i < 10; i++) cout << prm[i] << endl;34 // for (int i = 0; i < 10; i++) cout << pv[i] << endl;35 }36 37 const int M = 86;38 LL dvs[N][N];39 int tmp[M];40 41 void PRE() {42 getPrm();43 dvs[0][0] = dvs[1][0] = dvs[1][1] = 1;44 for (int i = 2; i < N; i++) {45 for (int j = 0; j < M; j++) tmp[j] = 0;46 dvs[i][0] = 1;47 for (int j = 1; j <= i; j++) {48 int t = i - j + 1;49 while (t > 1) {50 tmp[pid[pv[t]]]++;51 t /= pv[t];52 }53 t = j;54 while (t > 1) {55 tmp[pid[pv[t]]]--;56 t /= pv[t];57 }58 dvs[i][j] = 1;59 for (int k = 0; k < M; k++) dvs[i][j] *= tmp[k] + 1;60 // if (i == 412 && j == 205) { for (int i = 0; i < M; i++) cout << tmp[i] << ' '; cout << endl; cout << dvs[i][j] << endl;}61 }62 }63 // puts("ok~");64 }65 66 int main() {67 int n, m;68 PRE();69 // cout << dvs[10][4] << endl;70 while (~scanf("%d%d", &n, &m)) printf("%lld\n", dvs[n][m]);71 return 0;72 }
View Code

 

——written by Lyon

转载于:https://www.cnblogs.com/LyonLys/p/poj_2992_Lyon.html

你可能感兴趣的文章
weblogic的安装
查看>>
SSM框架中,controller的action返回参数给vue.js
查看>>
Mysql 基础3
查看>>
smartctl工具应用(转载整理)
查看>>
控件数据绑定总结
查看>>
HTTP协议
查看>>
Vue 框架-09-初识组件的应用
查看>>
.Net core 在类库中获取配置文件Appsettings中的值
查看>>
[转载]sublime用法精华
查看>>
《甄嬛传》影评(整理)
查看>>
数的位数
查看>>
MySQL合并多行
查看>>
[openstack] RDO Quickstart
查看>>
[转载]struts2 中的 addActionError 、addFieldEr
查看>>
[转载]我的PMP复习备考经验谈(上篇)—— 一本关于PMP备考的小指南
查看>>
Mysql命令集
查看>>
记java应用linux服务单个CPU使用率100%分析
查看>>
将文件字节输出流写入到文本中
查看>>
Linux编程之给你的程序开后门
查看>>
Ubuntu下Hadoop的安装和配置
查看>>