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是否同时为传 ...
随机推荐
- 【转】给大家分享一下目前mlc颗粒的内存卡资料
以下信息是LZ从其它论坛上找到的TF卡也是有讲究的,一分价钱一分货 dboy99 楼主 骚(6) #1楼 2015-8-5 14:49引用Micro SD卡也叫TF卡,作为手机扩展存储空间的唯一方式用 ...
- PAT 甲级 1003 Emergency
https://pintia.cn/problem-sets/994805342720868352/problems/994805523835109376 As an emergency rescue ...
- java实现数据库连接的工具类
第一种 (带事务) package com.china.util; import java.sql.Connection; import java.sql.DriverManager; import ...
- P1275 魔板
题目描述 有这样一种魔板:它是一个长方形的面板,被划分成n行m列的n*m个方格.每个方格内有一个小灯泡,灯泡的状态有两种(亮或暗).我们可以通过若干操作使魔板从一个状态改变为另一个状态.操作的方式有两 ...
- BZOJ 1040: [ZJOI2008]骑士 | 在基环外向树上DP
题目: http://www.lydsy.com/JudgeOnline/problem.php?id=1040 题解: 我AC了 是自己写的 超开心 的 考虑断一条边 这样如果根节点不选答案一定正确 ...
- POJ2155 Matrix 【二维线段树】
题目链接 POJ2155 题解 二维线段树水题,蒟蒻本想拿来养生一下 数据结构真的是有毒啊,, TM这题卡常 动态开点线段树会TLE[也不知道为什么] 直接开个二维数组反倒能过 #include< ...
- vue的nextTick的实现
vue的nextTick是用浏览器支持的方法模拟nodejs的process.nextTick 老版本的vue用如下方法来模拟 Promise.thenMutationObserver(Mutatio ...
- BZOJ1415: [Noi2005]聪聪和可可 最短路 期望概率dp
首先这道题让我回忆了一下最短路算法,所以我在此做一个总结: 带权: Floyed:O(n3) SPFA:O(n+m),这是平均复杂度实际上为O(玄学) Dijkstra:O(n+2m),堆优化以后 因 ...
- taotao购物车2 解决购物车本地cookie和服务器redis不同步的问题
下面的思路逻辑一定要理清楚,比较绕 思路; 前面已经实现了在cookie本地维护购物车的功能, 这次加入和服务器同步功能, 因为 购物车 操作比较频繁,所以,后台服务器 用redis存储用户的购物车信 ...
- linux 学习好资源
Linux-Wiki.cn http://linux-wiki.cn/wiki/zh-hans/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84 Linux目录 ...