BZOJ2956 模积和
来源:互联网 发布:淘宝免费开店 编辑:程序博客网 时间:2024/04/29 08:30
[Solution]
The original equation equals to: sigma(n % i) * sigma(m % j) - sigma((n % i) * (m % i)). That's the solution to it. You need to divide them into sqrt(n) parts by merging each equal (n % i) and (m % i).
Another useful equation is that 1^2 + 2^2 + ... + n^2 = n * (n + 1) * (2 * n + 1) / 6.
Be careful that 19940417 is not a prime number.
[Code]
#include <cstdio>#include <algorithm>#include <memory.h>using namespace std;typedef long long qw;#ifdef WIN32#define lld "%I64d"#else#define lld "%lld"#endif#define _l (qw)const int mod = 19940417;const int inv2 = 9970209;const int inv6 = 3323403;inline qw sqs(qw n) {return n * (n + 1) % mod * (n * 2 + 1) % mod * inv6 % mod;}inline qw sqn(qw n) {return (n + 1) * n % mod * inv2 % mod;}qw sovo(qw n) {qw s = n * n;for (qw i = 1, j; i <= n; i = j + 1) {j = n / (n / i);s -= (j - i + 1) * (i + j) / 2 * (n / i);}return s % mod;}qw sovt(qw n, qw m) {qw e = min(n, m);qw s = m * n % mod * e % mod;for (qw i = 1, j; i <= e; i = j + 1) {j = min(n / (n / i), m / (m / i));s -= (n * (m / i) + m * (n / i)) % mod * (sqn(j) - sqn(i - 1)) % mod;s += (n / i) * (m / i) % mod * (sqs(j) - sqs(i - 1) + mod) % mod;s %= mod; if (s < 0)s += mod;}return s;}int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endifqw n, m, ans;scanf(lld lld, &n, &m);ans = (sovo(n) * sovo(m) % mod - sovt(n, m) + mod) % mod;printf("%d\n", (int)ans);}
0 0
- BZOJ2956 (模积和)
- BZOJ2956 模积和
- 【bzoj2956】模积和
- [bzoj2956]模积和
- bzoj2956: 模积和
- BZOJ2956: 模积和
- bzoj2956 模积和
- BZOJ2956 模积和
- bzoj2956: 模积和
- BZOJ2956:模积和
- bzoj2956 模积和
- 数论:BZOJ2956 (模积和)
- 【bzoj2956】模积和 数论分块
- [BZOJ2956]模积和(数论)
- [BZOJ2956]模积和-根号分块
- bzoj2956 模积和 (分块)
- bzoj2956 -- 数论分块
- 模积和
- POJ1036——动态规划
- 20个非常有用的PHP类库
- windows文件及注册表编程
- PHP数据库操作之基于 Mysqli 的数据库操作类库
- 一个软件工程师在北京的反省
- BZOJ2956 模积和
- 使用<jsp:include>,不想写死URL,动态生成URL的解决办法
- xhprof使用笔记
- android硬件加速
- content-based recommendation 概述认识的强化版
- Ubuntu下忘记MySQL密码重设方法
- 把apk烧近系统里面,以及删除系统级的apk
- Energy TIme Series Forecating Based on Pattern Sequence Similarity
- 剑指offer面试题(4)—替换空格