https://www.lydsy.com/JudgeOnline/problem.php?id=2956

https://www.luogu.org/problemnew/show/P2260

暴力推式子即可

 #include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const ll md=;
ll n,m,ans,a1,a2;
ll Mod(ll x,ll md=md)
{
if(x>=) return x%md;
else if(x%md==) return ;
else return md+x%md;
}
ll calc(ll x)
{
return (x)*(x+)%md*(*x+)%md*%md;
}
int main()
{
ll i,j;
scanf("%lld%lld",&n,&m);
if(n>m) swap(n,m); // {
// ll ams=0;
// for(ll i=1;i<=n;i++)
// for(ll j=1;j<=m;j++)
// if(i!=j)
// ams=Mod(ams+(n-n/i*i)*(m-m/j*j));
// printf("%lld",ams);
// return 0;
// } for(i=;i<=n;i=j+)
{
j=n/(n/i);
a1=Mod(a1+Mod((i+j)*(j-i+)/)*(n/i));
}
for(i=;i<=m;i=j+)
{
j=m/(m/i);
a2=Mod(a2+Mod((i+j)*(j-i+)/)*(m/i));
}
//printf("a%lld %lld\n",a1,a2); ans=Mod(ans+n*n%md*m%md*m%md);
ans=Mod(ans-n*n%md*a2%md);
ans=Mod(ans-m*m%md*a1%md);
ans=Mod(ans+a1*a2%md); ans=Mod(ans-n*n%md*m%md);
{
ll t=;
for(i=;i<=n;i=j+)
{
j=min(n,m/(m/i));
t=Mod(t+Mod((i+j)*(j-i+)/)*(m/i));
}
ans=Mod(ans+n*t%md);
}
ans=Mod(ans+m*a1%md);
{
ll t=;
for(i=;i<=n;i=j+)
{
j=min(n/(n/i),m/(m/i));
t=Mod(t+Mod(calc(j)-calc(i-))*(n/i)%md*(m/i));
}
//printf("t%lld\n",t);
ans=Mod(ans-t);
} printf("%lld",ans);
return ;
}

洛谷 P2260 [清华集训2012]模积和 || bzoj2956的更多相关文章

  1. 洛谷P2260 [清华集训2012]模积和(容斥+数论分块)

    题意 https://www.luogu.com.cn/problem/P2260 思路 具体思路见下图: 注意这个模数不是质数,不能用快速幂来求逆元,要用扩展gcd. 代码 #include< ...

  2. P2260 [清华集训2012]模积和

    P2260 [清华集训2012]模积和 整除分块+逆元 详细题解移步P2260题解板块 式子可以拆开分别求解,具体见题解 这里主要讲的是整除分块(数论分块)和mod不为素数时如何求逆元 整除分块:求Σ ...

  3. P2260 [清华集训2012]模积和 【整除分块】

    一.题目 P2260 [清华集训2012]模积和 二.分析 参考文章:click here 具体的公式推导可以看参考文章.博主的证明很详细. 自己在写的时候问题不在公式推导,公式还是能够比较顺利的推导 ...

  4. luoguP2260 [清华集训2012]模积和

    题意 \(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}n\%i*m\%j*[i!=j]\) \(\sum\limits_{i=1}^{n}\sum\limits ...

  5. 洛谷 P6672 - [清华集训2016] 你的生命已如风中残烛(组合数学)

    洛谷题面传送门 题解里一堆密密麻麻的 Raney 引理--蒟蒻表示看不懂,因此决定写一篇题解提供一个像我这样的蒟蒻能理解的思路,或者说,理解方式. 首先我们考虑什么样的牌堆顺序符合条件.显然,在摸牌任 ...

  6. 洛谷 P4002 - [清华集训2017]生成树计数(多项式)

    题面传送门 神题. 考虑将所有连通块缩成一个点,那么所有连好边的生成树在缩点之后一定是一个 \(n\) 个点的生成树.我们记 \(d_i\) 为第 \(i\) 个连通块缩完点之后的度数 \(-1\), ...

  7. 洛谷 P6667 - [清华集训2016] 如何优雅地求和(下降幂多项式,多项式)

    题面传送门 wjz:<如何优雅地 AK NOI> 我:如何优雅地爆零 首先,按照这题总结出来的一个小套路,看到多项式与组合数结合的题,可以考虑将普通多项式转为下降幂多项式,因为下降幂和组合 ...

  8. BSOJ 4062 -- 【清华集训2012】串珠子

    Description 铭铭有n个十分漂亮的珠子和若干根颜色不同的绳子.现在铭铭想用绳子把所有的珠子连接成一个整体. 现在已知所有珠子互不相同,用整数1到n编号.对于第i个珠子和第j个珠子,可以选择不 ...

  9. Luogu P4247 [清华集训2012]序列操作

    题意 给定一个长度为 \(n\) 的序列 \(a\) 和 \(q\) 次操作,每次操作形如以下三种: I a b c,表示将 \([a,b]\) 内的元素加 \(c\). R a b,表示将 \([a ...

随机推荐

  1. 人生苦短之Python装饰器

    在Python中函数也是一个对象,我们可以获得函数对象,然后执行函数 def func(): print('I am very good') a = func a 如果我们要是想增强这个函数呢?比如给 ...

  2. MYSQL进阶学习笔记十七:MySQL定期维护!(视频序号:进阶_36)

    知识点十八:MySQL定期维护(37) 一.Mysql的定时器 所谓的定时器,指的是在某个时间段去执行同样的代码.比如闹钟.每到指定的时间闹铃就会响.同样的,我们这个定时器,只要满足我们的一个定时条件 ...

  3. IPFS - 可快速索引的版本化的点对点文件系统(草稿3)

    摘要 星际文件系统是一种点对点的分布式文件系统, 旨在连接所有有相同的文件系统的计算机设备.在某些方面, IPFS类似于web, 但web 是中心化的,而IPFS是一个单一的Bittorrent 群集 ...

  4. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明 1 头文件 #include <map> 2 定义 ma ...

  5. SVN 如何更换IP地址

    一.进去项目空白处. 二.点击右键TortoiseSVN. 三.选中Relocate. 四.弹出框如下: 把原来的IP地址更换成新的IP地址,再点击OK就可以了.

  6. 数论 N是完全平方数 充分必要条件 N有奇数个约数

    N是完全平方数 <----> N有奇数个约数 设:N = n*n 充分性: 1.N=1时,N的约数为1,为奇数 2.N>1时,1.....n......N,其中 1, n, N为N的 ...

  7. Ubuntu 图形处理软件

    sudo add-apt-repository ppa:dhor/myway sudo apt-get update sudo apt-get install photivo

  8. 1.9 Hive常见属性配置

    一.Hive数据仓库位置配置 1. # Hive数据仓库位置配置: 默认位置(hive根目录): /user/hive/warehouse 注意事项: *在仓库目录下,没有对默认的数据库default ...

  9. TypeScript完全解读(26课时)_19.其他重要更新

    ts3.3升级过来有很多重要的更新 没法归类的更新,在本节课几种讲一下 创建update.ts,然后在index.ts内引入 async和promise es6中增加了promise的支持,能够很好处 ...

  10. csvreader 来操作csv文件

    http://www.cnitblog.com/rd416/archive/2010/07/08/47248.html