[数论] ACM 2015 Changchun B Count a*b
来源:互联网 发布:在哪看淘宝自动售货 编辑:程序博客网 时间:2024/04/30 15:39
题意:
题解:
#include<cstdio>#include<cstring>#include<algorithm>#include<set>#include<map>#include<vector>#define rep(i,j,k) for(int i=(int)j;i<=(int)k;i++)#define per(i,j,k) for(int i=(int)j;i>=(int)k;i--)using namespace std;typedef long long LL;typedef double db;int n,P;inline int S1(int x){return (x*1ll*(x+1)/2)%P;}inline int S2(int x){int x1=x;int x2=x+1;int x3=2*x+1;if(x1%2==0)x1/=2;else x2/=2;if(x1%3==0)x1/=3;else if(x2%3==0)x2/=3;else x3/=3;return (x1*1ll*x2%P)*1ll*x3%P;}void Main(){int ans=0;int ans2=0;int pre1,pre2;pre1=pre2=0;for(int i=1;i<=n;i++){int j=n/(n/i);int ss2=S2(j);int ss1=S1(j);ans2=(ans2+(ss2+P-pre2)*1ll*(n/i))%P;ans=(ans+S1(n/i)*1ll*(ss1+P-pre1))%P;pre1=ss1;pre2=ss2;i=j;}printf("%d\n",(ans2+P-ans)%P);}int main(){freopen("phy.in","r",stdin);freopen("phy.out","w",stdout);int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&P);Main();}return 0;}
0 0
- [数论] ACM 2015 Changchun B Count a*b
- HDU 5528 Count a*b ACM/ICPC 2015 Changchun(数论)
- Regional 2015 - Asia Changchun - B Count a × b
- HDU 5528Count a * b(数论)
- hdu 5528 Count a * b 2015长春区域赛 数论 分析
- A + B Problem + 数论
- A/B(数论)
- A/B(数论水题) hdu ACM 1576 c++
- “玲珑杯”ACM 热身赛 # 2.5 A-B (数论)
- hdu5528 Count a * b
- 5528Count a b
- The 2012 ACM-ICPC Asia Changchun Regional Contest(problem B)
- HDU 5528【2015长春现场赛 B】 Count a * b
- A+B问题acm
- [ACM]a+b problem
- [ACM]人见人爱A^B
- acm-A*B Problem
- acm-A-B Problem
- Mac添加环境变量全面解读
- 【JZOJ4597】现世斩
- 今天装逼只为明天引爆,小众营销不要死在大众路上
- 第6章 访问权限控制
- 【jzoj4598】【准备食物】【字典树】
- [数论] ACM 2015 Changchun B Count a*b
- 你创业为什么会失败?
- "围观"设计模式(27)--行为型之解释器模式(Interpreter Pattern)
- Ubuntu安装pycharm
- iOS-js与iOS的交互(基于WKWebViewJavascriptBridge第三方)
- SPI_FLASH高速读写
- iOS-解压zip
- C语言结构体(struct)常见使用方法
- Base64-不重要数据的简单加密