hdu5970
真是怀疑当初合肥赛区怎么考这么差的……
首先根据辗转相除法可知f(i,j)=f(i+j*k,j)
于是我们可以先于处理出f(i,j) (j<=666,i<=j),当确定i,j时c也确定

(x=gcd(i,j))可见,当确定了i,j,k后,后面p的求和就是一个等差数列的求和
c是logm级的所以总复杂度就是O(T*m^2*logm)
#include<bits/stdc++.h> using namespace std;
typedef long long ll;
int f[][],c[][],n,m,p;
int get(int x,int y,int &f,int &c)
{
int t; c=;
while (y)
{
c++;
t=x%y; x=y; y=t;
}
f=c*x*x;
} int main()
{
int cas;
scanf("%d",&cas);
for (int j=; j<=; j++)
for (int i=; i<=j; i++)
get(i,j,f[i][j],c[i][j]);
while (cas--)
{
scanf("%d%d%d",&n,&m,&p);
ll ans=;
for (int j=; j<=m; j++)
for (int i=; i<=j&&i<=n; i++)
for (int k=; k<c[i][j]; k++)
{
if (i+k*j>n) break;
ll b=(i+j*k)*j/f[i][j];
ll d=c[i][j]*j*j/f[i][j];
ll t=(n-(i+j*k))/(c[i][j]*j)+;
ans=(ans+b*t%p+(t-)*t/%p*d%p)%p;
}
printf("%lld\n",ans);
}
}
hdu5970的更多相关文章
- CCPC2016合肥现场赛
A(hdu5961):(BFS) 题意:给两个有向图=P=(V,EP)和Q=(V,EQ), 满足1.EP与EQ没有交:2.EP∪EQ是竞赛图.判断P与Q是否同时为传 ...
随机推荐
- PAT 1089 狼人杀-简单版
https://pintia.cn/problem-sets/994805260223102976/problems/1038429385296453632 以下文字摘自<灵机一动·好玩的数学& ...
- Nginx代理实现跨域
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- 【UML】活动图介绍
1.活动图,即Activity Diagram,是UML中用于对系统的动态行为建模的一种常用工具,它描述活动的顺序,展现从一种活动到另一种活动的控制流.其本质上是一种流程图,着重表现从一个活动到另一个 ...
- maven第一个HelloWorld
1.Maven约定好的目录结构: maven01/src --main --java --package //包有多少级,加多少个子folder --新建一个HelloWorld.java --tes ...
- Delphi 7学习开发控件(续)
继上次我们学习开发一个简单的画线控件后,基本的制作控件步骤已经清楚了,这次我们继续加深学习控件的制作.我们打开Delphi 7创建一个应用程序,拖动LineTo控件到窗体上,仔细看左边的对象设计器,可 ...
- JavaScript 执行环境(作用域)总结
所有变量(包括基本类型和引用类型)都存在一个执行环境(也称为作用域)当中,这个执行环境决定了变量的生命周期,以及哪一部分可以访问其中的变量. 以下是关于执行环境的几点总结: 执行环境有全局执行环境(全 ...
- 附录A培训实习生-面向对象基础方法重载(3)
就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1 “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPattern ...
- MySQL使用笔记(一)安装配置
By francis_hao Nov 27,2016 一般软件的安装都是可以通过源码和安装包安装,源码安装可配置性好些,安装包安装比较省事,况且使用yum也可以解决依赖的问题,基本实现了一键 ...
- 使用Idea远程部署调试tomcat
转自:http://blog.csdn.net/jane1229/article/details/52402119 远程服务器的配置: 1.在远程服务器安装jdk和tomcat 2.配置环境变量 PA ...
- Linux echo命令打印带有颜色的字
一.命令格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e ...