思路:  ans[n]=  ans[n-1] + { (n,1),(n,2).....(n,n)}  现在任务 是 计算  { (n,1),(n,2).....(n,n)}(k=n的任意因子)

很明显  所有能取的k均为n的因子可以 sqrt(n) 内枚举。  若 p 为n的因子   那么  d(n,p) =p*p  *     {(n/p,1) ,(n/p,2) 。。。(n/p,n/p)}(后面这部分 k 取 1) 那么任务就转化成求   f(n)     f(n)表示 {(n,1),(n,2) ....(n,n)}当k等于1时候的值。 k等于1 相当于 枚举每个因子 p  。。求  sum*n          这边的sum表示与n/p互质的所有数之和。 sum=phi(n/p)*n/p ;

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<time.h>
#include<string>
#define REP(i,n) for(int i=0;i<n;++i)
#define REP1(i,a,b) for(int i=a;i<=b;++i)
#define REP2(i,a,b) for(int i=a;i>=b;--i)
#define MP make_pair
#define LL long long
#define X first
#define Y second
#define MAXN 500005
using namespace std;
LL MOD;
LL f[MAXN];
LL sum[MAXN];
LL phi[MAXN];
LL ans[MAXN];
void getphi()
{
for(int i=; i<MAXN; i++) phi[i]=i;
for(int i=; i<MAXN; i+=) phi[i]>>=;
for(int i=; i<MAXN; i+=)
if(phi[i]==i)
{
for(int j=i; j<MAXN; j+=i)
phi[j]=phi[j]/i*(i-);
}
}
void init()
{
MOD=;
REP(i,)MOD*=;
getphi();
for(int i=;i<MAXN;++i)
sum[i]=(phi[i]*i/)%MOD;
for(int i=;i<MAXN;++i)
{
int j;
f[i]=i;
for(j=;j*j<i;++j)
{
if(i%j==)
{
f[i]=(f[i]+sum[j]*i)%MOD;
f[i]=(f[i]+sum[i/j]*i)%MOD;
}
}
if(j*j==i)
{
f[i]=(f[i]+sum[j]*i)%MOD;
}
} ans[]=;
for(int i=;i<MAXN;++i)
{
ans[i]=(ans[i-]+f[i]);
if(ans[i]>MOD)ans[i]-=MOD;
int j;
for(j=;j*j<i;++j)
if(i%j==)
{
ans[i]=(ans[i]+((f[i/j]*j)%MOD)*j)%MOD;
ans[i]=(ans[i]+((f[j]*(i/j))%MOD)*(i/j))%MOD;
}
if(j*j==i)
{
ans[i]=(ans[i]+((f[j]*j)%MOD)*j)%MOD;
}
ans[i]=(ans[i]+(LL)i*i)%MOD;
} } int main() {
init(); int tt,ri=;
scanf("%d",&tt);
while(tt--)
{
int n;
scanf("%d",&n);
printf("Case #%d: %I64d\n",++ri,ans[n]);
}
return ;
}

HDU 4944 FSF’s game(2014 Multi-University Training Contest 7)的更多相关文章

  1. hdu 4944 FSF’s game(数论)

    题目链接:hdu 4944 FSF's game 题目大意:给定N,能够用不大于N的长a和宽b.组成N∗(N−1)2种不同的矩形,对于每一个矩形a∗b要计算它的值,K为矩形a,b能够拆分成若干个K∗K ...

  2. HDU 6141 - I am your Father! | 2017 Multi-University Training Contest 8

    思路来自 FXXL 最小树形图模板用kuangbin的 /* HDU 6141 - I am your Father! [ 最小树形图 ] | 2017 Multi-University Traini ...

  3. HDU 4944 FSF’s game 一道好题

    FSF’s game Time Limit: 9000/4500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tota ...

  4. HDU - 4944 FSF’s game

    Problem Description FSF has programmed a game. In this game, players need to divide a rectangle into ...

  5. hdu 6406 Taotao Picks Apples (2018 Multi-University Training Contest 8 1010)(二分,前缀和)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=6406 思路: 暴力,预处理三个前缀和:[1,n]桃子会被摘掉,1到当前点的最大值,1到当前点被摘掉的桃子的 ...

  6. hdu 6319 Problem A. Ascending Rating (2018 Multi-University Training Contest 3 A)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=6319 思路: 单调队列倒着维护,队列里面剩下的值的数量就是这一段区间的count值,如样例第一个区间:3 ...

  7. HDU 5775 Bubble Sort(线段树)(2016 Multi-University Training Contest 4 1012)

    原址地址:http://ibupu.link/?id=31 Problem Description P is a permutation of the integers from 1 to N(ind ...

  8. HDU 6312.Game-博弈-签到题 (2018 Multi-University Training Contest 2 1004)

    2018 Multi-University Training Contest 2 6312.Game 博弈,直接官方题解,懒了. 考虑将游戏变成初始时只有2~n,如果先手必胜的话,那么先手第一步按这样 ...

  9. HDU 6105 - Gameia | 2017 Multi-University Training Contest 6

    /* HDU 6105 - Gameia [ 非平等博弈 ] | 2017 Multi-University Training Contest 6 题意: Bob 可以把一个点和周围所有点都染黑,还有 ...

随机推荐

  1. HDU5795A Simple Nim SG定理

    A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  2. miniprofiler对方法的时间性能检测

    miniprofiler对方法的时间性能检测 直接上代码 using StackExchange.Profiling; ... var profiler = MiniProfiler.Current; ...

  3. js 对多sheet Excel赋值操作

    function ExpExcel(){ var tempStr = ""; var filePath ="" var excelname=ReportFile ...

  4. 承接unity外包:2016年VR产业八大发展趋势

    在上周进行的2016年全球游戏开发者大会(GDC)期间,虚拟现实技术是一个重要议题.英文科技媒体VentureBeat近日刊出了一篇文章,对2016年VR产业的发展趋势进行了预测.游戏陀螺对文章分享的 ...

  5. Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数:  ...

  6. OpenCV学习笔记(一)——OpenCV安装

    1.无脑安装以下安装文件 cn_visual_studio_2010_ultimate_x86_dvd_532347.iso 2.测试Hello OpenCV 文件→新建→项目 win32应用程序→下 ...

  7. Greenlets间如何实现互相通信?

    Greenlets互相通信之Event 1.为什么引入Event: 2.Event是什么: 3.编程实例. 为什么引入Event 1.windows中有Events,作为线程间同步的方法: 2.Gev ...

  8. sublime jsx 格式化工具

    1.到Sublime Text 3\Packages\ 目录下 git clone https://github.com/ionutvmi/sublime-jsfmt jsfmt 2.重启sublim ...

  9. xml报文解析和组装

    package com.xjts.cipher.util;import java.io.File;import java.io.FileWriter;import java.io.IOExceptio ...

  10. 严重:Error listenerStart

    转自: http://1985wanggang.blog.163.com/blog/static/7763833200942611050436/ 近日浏览论坛,发现好多人提问,都说在运行web程序时, ...