#1101. 果皇的矩阵[matrix]

题目描述

输入格式

一行两个数,表示 N,M。

输出格式

一行一个数,表示答案对 10^9+7 取模后的结果

样例

样例输入

3 3

样例输出

38

数据范围与提示

数据范围

100%的数据, N,M<=10^5.

随便推推式子就好了,虽然不会证复杂度。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#define ll long long
#define maxn 100005
using namespace std;
const int ha=1000000007;
const int mo=1000000006;
int zs[maxn],t=0,miu[maxn];
bool v[maxn];inline int add(int x,int y){x+=y;return x>=ha?x-ha:x;
}inline int ksm(int x,int y){int an=1;for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha;return an;
}inline void init(){miu[1]=1;for(int i=2;i<=100000;i++){if(!v[i]) zs[++t]=i,miu[i]=-1;for(int j=1,u;j<=t&&(u=zs[j]*i)<=100000;j++){v[u]=1;if(!(i%zs[j])) break;miu[u]=-miu[i];}}
}inline int calc(int base,int x,int y){if(base==1) return x*(ll)y%ha;int an=0,T=(y+1);if(T>=mo) T-=mo;for(int i=1,tmp=base;i<=x;i++,tmp=tmp*(ll)base%ha){an=add(an,add(ksm(tmp,T),ha-1)*(ll)ksm(add(tmp,ha-1),ha-2)%ha);}an=add(an,ha-x);return an;
}inline int solve(int x,int N,int M){int an=0;for(int d=1,dn,dm;d<=N;d++){dn=N/d,dm=M/d;an=add(an,calc(ksm(d,d*(ll)x%mo),dn,dm));}return an;
}int n,m,ans;
int main(){init();scanf("%d%d",&n,&m);if(n>m) swap(n,m);for(int i=1;i<=n;i++) if(miu[i]){ans=add(ans,add(ha,solve(i*(ll)i%mo,n/i,m/i)*miu[i]));}printf("%d\n",ans);return 0;
}

  

转载于:https://www.cnblogs.com/JYYHH/p/8573550.html

果皇的矩阵[matrix]相关推荐

  1. python矩阵教程_numpy教程:矩阵matrix及其运算

    numpy矩阵简介 NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素.虽然它们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得 ...

  2. c++实现Matlab矩阵Matrix类(实矩阵Matrix、复矩阵CMatrix)

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 开发注意事项: 1.目前matlab2c对矩阵的实现 ...

  3. [转载] numpy教程:矩阵matrix及其运算

    参考链接: Python中的numpy.asmatrix http://blog.csdn.net/pipisorry/article/details/48791403 numpy矩阵简介 NumPy ...

  4. 矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编码

    矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编码 提示:极其重要的矩阵处理技巧,矩阵下标的宏观调度 文章目录 矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编 ...

  5. R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值)

    R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值) 目录 R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值) R 语言特点 R语言使用na.omit函数删除 ...

  6. R语言使用crossprod函数和tcrossprod函数计算矩阵matrix交叉积(Matrix Cross Product)、crossprod函数、tcrossprod函数计算矩阵和向量的交叉积

    R语言使用crossprod函数和tcrossprod函数计算矩阵matrix交叉积(Matrix Cross Product).crossprod函数.tcrossprod函数计算矩阵和向量的交叉积 ...

  7. oracle矩阵函数,R语言矩阵matrix函数

    矩阵是元素布置成二维矩形布局的R对象. 它们包含相同原子类型的元素.尽管我们可以创建只包含字符或只逻辑值的矩阵,但是它们没有多大用处.我们使用的是在数学计算中含有数字元素矩阵. 使用 matrix() ...

  8. python/numpy中数组array和矩阵matrix的区别

    在numpy中,array(实际上是ndarray,表示多维数组)是可以有多维度的,而matrix只有两个维度,即行和列.所以matrix是array的一种特例,因而它继承了array的所有函数,同时 ...

  9. 【自动驾驶】Eigen:矩阵Matrix的使用

    矩阵的使用可参考系列博客:https://blog.csdn.net/caomin1hao/category_7898685.html 1.Eigen::Matrix<float, 3, 4&g ...

最新文章

  1. python3 内置函数map 返回的迭代器转为列表
  2. 20155222 第二周测试
  3. HTML5 WebAudioAPI简介(一)
  4. 【Android】17.2 Activity与Local Service的绑定
  5. 8.8-8.10 usaco
  6. oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程
  7. php7 有ext skel吗,PHP扩展开发系列02 - 老司机起步之函数
  8. php如何做水仙花数,使用PHP实现水仙花数及各种特殊有趣数的输出
  9. 用python实现网上书店
  10. js图片url反转file文件
  11. JQuery插件库和17素材——免费下载
  12. TP5和TP3.2区别
  13. 成为“高维空间”的人
  14. Microsoft Teams 深度使用体验——创建团队
  15. c语言中i++与++i的区别
  16. 2018年最新Mpvue Vue2 Vuex MintUi视频教程网盘分享
  17. 怎么把打开方式还原计算机程序,怎么把一个DAT用打开方式变成其他格式再还原成DAT文件...
  18. 极海推出APM32A系列车规级MCU
  19. 机器人 机械臂右手定则
  20. map集合---------今日份下饭菜,妈妈再也不用担心我饿肚子了,学好List, Set,与Map,装的下,世界就是你的

热门文章

  1. Filter过滤器实现同一地址手机和电脑页面不同
  2. 快速判断二叉树先序遍历 后序遍历
  3. 【转】ON_MESSAGE使用方法
  4. C | 看看 C 能做什么
  5. Windows Server 2008密码重设盘
  6. java 蓝桥杯 数字游戏
  7. mysql创建数据库与表_PHP MySQL 创建数据库和表 之 Create
  8. Hive的连接(join)方案
  9. Kafka初始化和故障转移
  10. (66)FPGA面试题-为parallel encoder编写Verilog代码,实现MUX4_1