CodeForces-546D Soldier and Number Game
来源:互联网 发布:i排版软件下载 编辑:程序博客网 时间:2024/05/24 03:38
#include <iostream>#include <cstdio>using namespace std;int t, a, b;const int maxn = 5000005;int sum[maxn] = {0};int prime[maxn] = {0};inline void init(){ prime[1] = 1; for(int i = 2; i < maxn; i ++) { if(prime[i] > 1) continue; prime[i] = 1; for(int j = 2; i * j < maxn; j ++) prime[i * j] = prime[j] + 1; } for(int i = 1; i < maxn; i++) sum[i] = sum[i - 1] + prime[i];}int main(){ init(); cin >> t; while(t --) { scanf("%d %d", &a, &b); printf("%d\n", sum[a] - sum[b]); } return 0;}
题意:给出一个n,n开始是a!/b!,每次用一个x去整除n得到新的n,最后当n变成1的时候经过了几轮得分就是这个轮数,要求最大的分数是多少。
题解:题目很烦..其实也是很简单..(但是很难表达..)就是输入a和b,n的值就是a!除以b!,然后除以>1的数,要求除的次数最多,即除的数是从最小的素数开始,这样次数就最多。主要考虑一个速度问题,不然就time limit exceeded,写的代码的就是建一个一维数组,数组存放的内容是数组下标的质因数的个数....(初始化全为0)上面的第二个循环for(int j = 2; i * j < maxn; j ++) prime[i * j] = prime[j] + 1;很难理解..自己模拟一遍..差不多就是 一开始是2..之后所有下标是2的倍数全+1,再是3..之后所有下标是3的倍数全+1..以此类推..难说难说 模拟一遍感受感受就好..例如48 i = 3 j = 16 ,prime[16] = 4,所以 prime[3 * 16] = prime[16] + 1 = 5。还有就是算sum..不能一次又一次从头加,从上一项和加。这样就不会超时。
0 0
- CodeForces 546D Soldier and Number Game
- CodeForces-546D Soldier and Number Game
- Codeforces 546D Soldier and Number Game
- CodeForces-546D.Soldier and Number Game
- codeforces 546D. Soldier and Number Game
- CodeForces 546D Soldier and Number Game
- 【codeforces 546D】Soldier and Number Game
- CodeForces 546D Soldier and Number Game(素数筛选)
- D. Soldier and Number Game
- Codeforces Round #304 (Div. 2) D. Soldier and Number Game
- Codeforces Round #304 (Div. 2) D Soldier and Number Game
- Codeforces Round #304 (Div. 2) D. Soldier and Number Game
- Codeforces Round #304 (Div. 2) D - Soldier and Number Game
- Codeforces Round #304 (Div. 2)D. Soldier and Number Game
- CodeForces 828D Soldier and Number Game(数学)
- codeforces #304D 546D. Soldier and Number Game(数论+动态规划+前缀和)
- codeforces #546D# Soldier and Number Game(Dp,素数打表)
- CodeForces 546D Soldier and Number Game(求素因子+数学+前缀和)
- 优化的直接插入排序(二分查找插入排序,希尔排序)
- 编程之美: 第二章 数字之魅 2.2不要被阶乘吓到
- gcc 编译器常用的命令行参数一览
- win10安装程序无法正常启动
- Cardboard虚拟现实开发初步(一)
- CodeForces-546D Soldier and Number Game
- http简介
- hdoj 5112 A Curious Matt(水题)
- ios7 二维码图片生成
- 【Lua】pairs 和 ipairs
- SSD基础知识
- CentOS Linux VPS架设 PPTP VPN 教程
- pyqt 取值
- struts2-spring-plugin.jar的一些感悟