十二届 - CSU 1803 :2016(同余定理)
题目地址:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803
Knowledge Point:
同余定理:两个整数a、b,若它们除以整数m所得的余数相等,则称a与b对模m同余或a同余于b模m。记作 a≡b(mod m);
加法运用: (a + b) % m = (a % m + b % m) % m
乘法运用: (a * b) % m = ((a % m) * (b % m)) % m
高精度取模: 一个高精度数对一个数取余,可以把高精度数看成各位数的权值与个位数乘积的和。
eg: 1234 = ((1*10+2) *10+3) *10+4, 综合运用上面的加法和乘法运用公式求解;
string a = "1234";
int ans = ;
for(int i = ; i < a.length; i++){
ans = (ans * + a[i] - '') % mod;
}
cout << ans << endl;
快速幂取模: 将幂拆解为多个底数的平方次的积,如果指数为偶数,把指数除以2,并让底数的平方次取余,如果指数为奇数,就把多出来的底数记录下来,再执行偶数次的操作。
int PowerMod(int a, int b, int mod){
int ans = ; //a-底数,b-质数
a = a % mod;
while(b > ){
if(b&){
ans *= (a % mod);
}
b >>= ;
a = (a * a) % mod;
}
ans %= mod;
return ans;
}
Summarize:
1. 同余定理运用;
2. 数据范围爆 int,使用 long long;
3. 如果 (i*j)%mod==0 则有 (i*j+mod)%mod==0 ;
一开始我选择求2016的所有因数,循环将 n 和 m 中因数的倍数个数相乘再将所有结果相加。但可能出现某一个数 x 同时是多个因数的公倍数,且
2016/x 恰好也是多个因数的公倍数,出现重复,故该方法不能通过。
附代码:
/*
题目地址:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 2016
给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量:
1. 1≤a≤n,1≤b≤m;
2. a×b 是 2016 的倍数。
输入每组数据包含两个整数 n,m (1≤n,m≤10e9). Sample Input
32 63
2016 2016
1000000000 1000000000 Sample Output
1
30576
7523146895502644
*/
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<cmath>
using namespace std; #define LL long long
const int N = ;
LL n,m,ans;
LL a[N], b[N]; int main()
{
ios::sync_with_stdio(false); while(cin>>n>>m)
{
ans=;
for(int i=; i<N; i++)
{ a[i]=n/N; b[i]=m/N;}
for(int i=; i<=n%N; i++) a[i]++;
for(int i=; i<=m%N; i++) b[i]++; for(int i=; i<N; i++)
for(int j=; j<N; j++)
if(i*j%N == )
ans += a[i]*b[j];
cout<<ans<<endl;
} return ;
}
十二届 - CSU 1803 :2016(同余定理)的更多相关文章
- CSU 1803 - 2016 - [同余]
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. ...
- CSU 1803 2016(数论)
2016 Problem Description: 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1≤a≤n,1≤b≤m; a×b 是 2016 的倍数. Input: 输 ...
- CSU 1803 2016 湖南省2016省赛
1803: 2016 Submit Page Summary Time Limit: 5 Sec Memory Limit: 128 Mb Submitted: 1416 ...
- CSU 1803 2016
湖南省第十二届大学生计算机程序设计竞赛$A$题 枚举. 处理一下$\% 2016$之后的数分别有几个,然后$2016*2016$枚举一下统计方案数就可以了. #pragma comment(linke ...
- 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 题目大意: 给定n,m(n,m<=109)1<=i<=n,1& ...
- CSU - 1803 —— 数学题
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 Description 给出正整数 n 和 m,统计满足以下条件的正整数对 ...
- 2016年湖南省第十二届大学生计算机程序设计竞赛---Parenthesis(线段树求区间最值)
原题链接 http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1809 Description Bobo has a balanced parenthes ...
- 2016湖南省赛----A 2016 (同余定理)
2016湖南省赛----A 2016 (同余定理) Description 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 ...
- 湖南省第十二届大学生计算机程序设计竞赛 A 2016
1803: 2016 Description 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数. In ...
随机推荐
- js执行“按回车”的动作
<textarea class="W_input" style="overflow: hidden; height: 23px;" node-type=& ...
- RK3288获取摄像头的Sensor ID【原创】
平台信息:内核:linux3.0.68 系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 说明:通过I2C总 ...
- Python不兼容问题
今天遇到了一个Python2与3不兼容的坑. ride是基于robot框架的python自动化ui,但它只支持python2,而我电脑环境只有python3,想跑别人基于ride编写的测试用例,折腾了 ...
- 杂项-Java:JeePlus
ylbtech-杂项-Java:JeePlus 一个集成了代码生成器的java快速开发框架 1. 介绍返回顶部 1. 响应式开发 JeePlus采用了目前极为流行的扁平化响应式的设计风格,UI框架使用 ...
- IFRAME动态加载触发onload事件(转)
原文地址:http://blog.ops.cc/webtech/javascript/f5nhm.html <body> <script>var iframe = docume ...
- JAVA接口和抽象类的特点
接口的特点: 1:接口不可实例化,可结合多态进行使用(接口 对象=new 对象()) 2:接口里的成员属性全部是以 public(公开).static(静态).final(最终) 修饰符修饰 3:接口 ...
- 图论 HDOJ 5348 MZL's endless loop
题目传送门 /* 题意:给一个n个点,m条边的无向图,要求给m条边定方向,使得每个定点的出入度之差的绝对值小于等于1. 输出任意一种结果 图论:一个图,必定存在偶数个奇度顶点.那么从一个奇度定点深搜, ...
- 转 js实践篇:例外处理Try{}catch(e){}
程序开发中,编程人员经常要面对的是如何编写代码来响应错误事件的发生,即例外处理(exception handlers).如果例外处理代码设计得周全,那么最终呈现给用户的就将是一个友好的界面.否则,就会 ...
- C# 自动批量导入图片到数据库中
using Model; using System; using System.Collections.Generic; using System.Data; using System.Data.Sq ...
- Python的变量类型
一.概要 二.数字类型(Numbers) 1.Python支持的数字类型 int(有符号整型) long(长整型) float(浮点型) complex(复数) 2.类型转换 int(x ) #将 ...