题目链接: http://codeforces.com/problemset/problem/822/D

题意: 输入 t, l, r 求 t0·f(l) + t1·f(l + 1) + ... + tr - l·f(r) % (1e9 + 7) , 至于 f(n) 是多少还是直接去看题目描述吧, 好难说清楚;

思路: xjb

很显然将 n 分解成质因子积的形式时比的场数最少, 那么可以用prime[i] 存储 i 的最小素数因子, 然后 n 不断除 prime[n] 即可得到 n 的质因子积的形式;

剩下的按照公式来就好了;

代码:

 #include <iostream>
#define ll long long
using namespace std; const int mode = 1e9 + ;
const int MAXN = 5e6 + ;
int prime[MAXN]; void get_prime(void){
for(int i = ; i < MAXN; i++){
if(!prime[i]){
for(int j = ; j * i < MAXN; j++){
if(!prime[i * j]) prime[i * j] = i;
}
}
}
} ll get_f(ll n){
ll ans = ;
while(n > ){
ll cnt = prime[n];
ans += cnt * (cnt - ) / * (n / cnt);
if(ans >= mode) ans %= mode;
n /= cnt;
}
return ans;
} int main(void){
get_prime();
ll t, l, r, ans = , cnt = ;
cin >> t >> l >> r;
for(ll i = l; i <= r; i++){
ans += cnt * get_f(i);
if(ans >= mode) ans %= mode;
cnt = cnt * t % mode;
}
cout << ans << endl;
return ;
}

cf822D(质因子)的更多相关文章

  1. Openjudge 1.13-21:最大质因子序列(每日两水)

    总时间限制:  1000ms 内存限制:  65536kB 描述 任意输入两个正整数m, n (1 < m < n <= 5000),依次输出m到n之间每个数的最大质因子(包括m和n ...

  2. hdu5317 RGCDQ (质因子种数+预处理)

    RGCDQ 题意:F(x)表示x的质因子的种数.给区间[L,R],求max(GCD(F(i),F(j)) (L≤i<j≤R).(2<=L < R<=1000000) 题解:可以 ...

  3. 快速求n的质因子(数论)

    快速求n的质因子 如何尽快地求出n的质因子呢?我们这里又涉及两个好的算法了! 第一个:用于每次只能求出一个数的质因子,适用于题目中给的n的个数不是很多,但是n又特别大的 #include<std ...

  4. UVA 10780 Again Prime? No Time. 分解质因子

    The problem statement is very easy. Given a number n you have to determine the largest power of m,no ...

  5. 一个数n的最大质因子

    #include<cstdio> #include<cmath> using namespace std; #define Max(x, y) (x > y ? x : ...

  6. BZOJ 3181([Coci2012]BROJ-最小质因子为p的第k小素数)

    3181: [Coci2012]BROJ Time Limit: 10 Sec   Memory Limit: 64 MB Submit: 26   Solved: 7 [ Submit][ Stat ...

  7. HDU 4497 GCD and LCM(分解质因子+排列组合)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4497 题意:已知GCD(x, y, z) = G,LCM(x, y, z) = L.告诉你G.L,求满 ...

  8. HDU 4135 Co-prime (容斥+分解质因子)

    <题目链接> 题目大意: 给定区间[A,B](1 <= A <= B <= 10 15)和N(1 <=N <= 10 9),求出该区间中与N互质的数的个数. ...

  9. HDU 4320 Arcane Numbers 1(质因子包含)

    http://acm.hdu.edu.cn/showproblem.php?pid=4320 题意: 给出A,B,判断在A进制下的有限小数能否转换成B进制下的有限小数. 思路: 这位博主讲得挺不错的h ...

随机推荐

  1. 分享知识-快乐自己:Nginx概述及如何使用

    概述: 什么是 Nginx? Nginx (engine x) 是一款轻量级的 Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 什么是反向代理? 反向代理(Reverse ...

  2. 代码题(14)— 合并有序链表、数组、合并K个排序链表

    1.21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出 ...

  3. POJ 3349 Snowflake Snow Snowflakes(哈希表)

    题意:判断有没有两朵相同的雪花.每朵雪花有六瓣,比较花瓣长度的方法看是否是一样的,如果对应的arms有相同的长度说明是一样的.给出n朵,只要有两朵是一样的就输出有Twin snowflakes fou ...

  4. Cassini(卡西尼)投影

     

  5. 【C++ Primer 5th】Chapter 1

    1. 每个C++都包含至少一个函数,其中一个必须为main函数,且 main 函数的返回类型必须为 int. 2. 函数定义包括:返回类型,函数名,形参列表,函数体 3. main 函数返回值用来指示 ...

  6. windows下python使用虚拟环境

    官方文档: http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html virtualenv 是一个创建隔绝的Python环境 ...

  7. 判断iOS系统的Model

    获取iOS系统的Model   (参考网址:https://www.theiphonewiki.com/wiki/Models) + (NSString *)getModel{ struct utsn ...

  8. mongodb 学习资料

    1 入门 http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html http://www.cnblogs.com/hoo ...

  9. Sublime 实践

    1.下载开发版:http://www.sublimetext.com/dev 2.安装Package control: (1)按键ctrl+~ (2)在命令行中输入:  import urllib2, ...

  10. openstack常见问题汇总

    汇总下常见的问题以及解释下一些比较容易让人萌的参数配置等等 问题汇总1.使用纯文本模式进行复制粘贴,打死不要用word!!!可以解决绝大多数问题,如果你依然执迷不悟,那么就好自为之吧 2.创建路由器时 ...