真是怀疑当初合肥赛区怎么考这么差的……

首先根据辗转相除法可知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的更多相关文章

  1. CCPC2016合肥现场赛

    A(hdu5961):(BFS) 题意:给两个有向图=P=(V,E​P​​)和Q=(V,E​Q​​), 满足1.E​P​​与E​Q​​没有交:2.E​P​​∪E​Q​​是竞赛图.判断P与Q是否同时为传 ...

随机推荐

  1. nginx1.10.3+php5.6+mysql5.7.0

    第一步安装nginx1.10.3 优化nginx的介绍:jemalloc https://ideas.spkcn.com/software/os/linux/577.html 预先安装autoconf ...

  2. 一个类似植物大战僵尸的python源码

    # 1 - Import library import pygame from pygame.locals import * import math import random # 2 - Initi ...

  3. Struts1之html标签

    Struts1的html标签主要是为了绘制HTML页面标签元素,通过与Struts1框架的集成,增强功能 首先,在使用前,需要引入tld文件 <%@ taglib prefix="ht ...

  4. 解决hadoop 集群启动常见错误办法

    hadoop 集群常见错误解决办法 hadoop 集群常见错误解决办法: (一)启动Hadoop集群时易出现的错误: 1.   错误现象:Java.NET.NoRouteToHostException ...

  5. [洛谷P1231] 教辅的组成

    题目大意:有n1本书,n2本练习册和n3个答案,然后又一些条件,说明某本答案可能和某本书对应,某本练习册可能和某本书对应,求最多有多少本完整的书(有书,练习册,答案) 题解:网络流,对应就连边,然后考 ...

  6. [51nod1791] 合法括号子段 DP

    ---题面--- 题解: 首先我们需要发现一个性质,在括号序列不变的情况下,括号匹配是不会变的,因此不论子串怎么取,括号匹配的关系是不会变化的.这是一个很容易发现的性质,然而我太弱,没发现. 于是可以 ...

  7. 【BZOJ 2241 打地鼠】

    Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1430  Solved: 908[Submit][Status][Discuss] Descripti ...

  8. webpack 的第三方库分离并持久化缓存

    我们常常需要在浏览器缓存一些稳定的资源,如第三方库等.要达到这个目标,只需要两步: 1.提取出“稳定的资源”: 2.提供稳定的文件hash . 处理后的出的文件就像这样子: app.1w3ad4q4. ...

  9. MVC 自定义HtmlHelper帮助类型之分页

    方法一: 在项目中增加App_Code文件夹,新增一个MyHtmlper.cshtml视图文件 写入代码: @helper Pagger(int pageIndex, int pageCount) { ...

  10. Ubuntu下hadoop集群搭建

    --修改IP地址(克隆镜像后可修改可不修改) http://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html -------------- ...