有这样一个有关最大公约数的函数:
函数 f(x, y):

{
c=0
当 y>0:
{
c +=1
t = x % y
x = y
y = t
}
返回 c * x * x
}

给出三个正整数n,m,p,你需要计算:

∑i=1n∑j=1m⌊i∗jf(i,j)

对p取模的结果。

 #include <stdio.h>
#include <iostream>
#include <stack>
#include <algorithm>
#include <cstring>
#include <vector>
#include <cmath>
#include <cctype>
using namespace std;
typedef long long ll;
void in(int& n){scanf("%d",&n);}
void in(ll& n){scanf("%I64d",&n);}
const int N = ;
int gcd[N][N],num[N][N];
int n,m,p;
ll calc(ll x,ll y,ll tot,ll cnt)//tot 个数 cnt 分母
{
ll ans = (tot+)*(x*y)+(tot+)*tot/*(y*y);//总和
ll rd = y*y%cnt;
ll ra = y*x%cnt;
ll res = ; //余数
/*for(int i=0;i<=tot;++i){res+=(i*rd+ra)%cnt;}
return (ans-res)/cnt%p;
*/ //复杂度太高
for(int i=;i<cnt;++i){
res += (rd*i+ra)%cnt;
}
res = tot/cnt*res;
for(int i=;i<=tot%cnt;++i)
{
res += (rd*i+ra)%cnt;
}
return (ans-res)/cnt%p;
}
void init()
{
for(int i=;i<N;i++)
for(int j=;j<N;j++)
if(i==||j==) gcd[i][j]=i+j;
else if(i<j) gcd[i][j] = gcd[i][j%i];
else gcd[i][j] = gcd[i%j][j];
for(int i=;i<N;i++)
for(int j=;j<i;j++)
{
if(j==) num[i][j] = ;
else num[i][j] = num[j][i%j] +;
}
}
int main()
{
init();
int T;
scanf("%d",&T);
while(T--)
{
int ans = ;
scanf("%d%d%d",&n,&m,&p);
for(int i=;i<=m;i++)
for(int j=;j<i&&j<=n;j++)
{
ans+=calc(j/gcd[i][j],i/gcd[i][j],(n-j)/i,num[i][j]);
ans%=p;
}
printf("%d\n",ans);
}
return ;
}

AC代码

因为计算被m限制  变成了m个等差数列   求数列每一项/cnt 之和

但是  但是  裸计算余数复杂度太大

所以    就是现场  看懂了题。。。也A不掉。。。。然后贴的这个余数 转化为cnt的计算方式。。。

肯定是以cnt长度为循环。。。tot/cnt个循环 
余下的tot%cnt 再求一次即可

那么复杂度就降下来了

2016CCPC 合肥--最大公约数//每一年通向它的路上,多少人折戟沉沙,多少人功败垂成,有人一战成名,有人从头再来。的更多相关文章

  1. hdu 5963 朋友(2016ccpc 合肥站 C题)

    朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  2. hdu 5961 传递 (2016ccpc 合肥站 A题)

    传递 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...

  3. 吴奇隆刘诗诗婚礼场地:巴厘岛Ayana酒店,美到窒息!

    导读:忍不住转载一下,原文地址:http://www.sjq315.com/news/270768.html 3月20日,吴奇隆和刘诗诗在巴厘岛五星级酒店Ayana Resort and Spa酒店举 ...

  4. 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)

    转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...

  5. hdu 1577 WisKey的眼神 (数学几何)

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. sort 树 hash 排序

    STL 中 sort 函数用法简介 做 ACM 题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错. ST ...

  7. acm算法模板(5)

    STL 中 sort 函数用法简介 做 ACM 题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错. ST ...

  8. html中不要忽略一些细节

    1. img必备和可选的参数都有写了上了,但是必备参数里的一个值alt没写(其实一些大型的专业门户网站其实也是有存在一些小问题的,只要我们细心一 点就能发现).虽然这样alt不写,在页面中也不会有任何 ...

  9. 越狱Season 1-Episode 6: Riots, Drills and the Devil: Part 1

    Season 1, Episode 6: Riots, Drills and the Devil: Part 1 - Diamond: Just a few more rides. 就再多玩几次吧 O ...

随机推荐

  1. OpenGL学习笔记3——缓冲区对象

    在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU ...

  2. windows python文件拷贝到linux上执行问题

    之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本. 1 问题1: 报错:: ...

  3. xampp3.2下mysql中文乱码终极解决方案

    xmapp3.2.2中mysql已经被替换成了Mariadb,网上那些显示char语句已经失灵. 另外本文主要介绍的是手动在mysql中写入中文乱码问题 那么我们将采用如下三个步骤解决乱码问题 1.打 ...

  4. C#TreeView控件遍历文件夹下所有子文件夹以及文件

    一直对递归的理解不深刻,有时候觉得很简单,可是用起来总会出错.这里需要在TreeView控件里显示一个文件夹下的所有目录以及文件,毫无意外的需要用到递归. 一开始,想到用递归写一个生成每一个节点(Tr ...

  5. 自己用c语言实现字符串处理库函数以及扩展

    1.实现基本的c语言库函数: int myStrlen( const char* str);//根据传入的字符串首地址获取字符串长度:返回值为长度 int myStrlen(const char* s ...

  6. Android签名机制

    Android APK 签名比对 发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用. 例如,Android系 ...

  7. Android test---CTS

    转载 1.下载最新的CTS download 2.准备工作 3.启动CTS测试 3.1 在控制台进入目录android-cts,目录android-cts下有三个文件夹,其中一个是tools. 3.2 ...

  8. C# 禁止程序多个实例运行

    //program.cs    static class Program    {        /// <summary>        /// 应用程序的主入口点.        // ...

  9. javascript知识点总结----Function定义

    ---恢复内容开始--- 函数Function: 函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法,函数名实际上是一个指向函数的指针,不会与某个函数绑定 ...

  10. yii + elasticsearch 手册

    https://zhuowenji1.gitbooks.io/elasticsearch/content/an_zhuang_yii2.html