Description

聪明的0v0正在学习莫比乌斯反演。
她看到了这样的一道题:有n*m个人站成了一个n*m的方阵……
剩下的题面,聪明的0v0不记得了。但是,她通过自己高超的数论技巧,给出了一个转化后的模型:给出n和m,求

聪明的0v0当然知道怎么做了,但是她想考考你。

Input

一行三个正整数n,m,p。

Output

一行一个非负整数,设答案为x,输出x mod p。

Sample Input

1 2 998244353

Sample Output

2

Data Constraint

30% n,m<=2000 p=998244353。
30% n*m<=10^9 n,m<=10^5 p为质数
20% n,m<=10^6 p为质数
20% n,m<=10^7 p为合数
对于所有数据,保证p<=10^9

Solution

  • 这题怎么做呢?莫比乌斯反演?的确可以。

  • 但是打表后发现——最优做法是:输出 n∗m mod pn*m\ mod\ p 即可。

  • 什么?这也行?

  • 其实,原式的物理意义,就是从坐标原点 (0,0)(0,0),用每一种合法的斜率,

  • 穿过坐标 [1—n,1—m][1—n,1—m] 的方阵中的整点的个数,

  • 总数即 n∗mn*m 。

Code

#include<cstdio>
using namespace std;
int n,m,p;
int main()
{scanf("%d%d%d",&n,&m,&p);printf("%d",(long long)n*m%p);return 0;
}

JZOJ 5425. 【NOIP2017提高A组集训10.25】数论相关推荐

  1. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  2. JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜

    Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...

  3. JZOJ 5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜

    Description Input 第一行两个整数n;m 表示电子个数和询问个数. 接下来n 行, 每行两个整数x; y 表示vi. 接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两 ...

  4. 【JZOJ 5426】【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  5. JZOJ 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真

    Description Input Output Sample Input 5 1 4 2 5 1 4 1 1 2 4 Sample Output 2 1 4 Data Constraint Solu ...

  6. 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真

    这是一道DP题,然后做的时候发现,DP式子死活推不出来. 题目大意(本人实在是不想复制了呵-- 给出A,B序列 找出他们的最长公共严格递增子序列 明确,这是一道DP 所以设状态fi,jf_{i,j}f ...

  7. JZOJ5424. 【NOIP2017提高A组集训10.25】凤凰院凶真

    题解 题目的意思是求两个序列的最长公共上升子序列. 就此可以联想到求两个序列的最长公共子序列: 设fi,jf_{i,j}表示a序列处理到i,b序列处理j的最长公共子序列, 转移很简单. 现在要满足公共 ...

  8. 【NOIP2017提高A组集训10.25】摘Galo (树形dp)

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  9. JZOJ5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

最新文章

  1. CARTA:Gartner的持续自适应风险与信任评估战略方法简介
  2. 「Ubuntu」系统常用命令
  3. [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
  4. Linux驱动(3)--单片机驱动与Linux驱动的区别
  5. 间接寻址级别不同_金属激光切割机的不同配置是什么
  6. HashMap的key可以是可变的对象吗???
  7. ConceptDraw使用Rapid Draw简化流程图教程指南
  8. spring 事务源码分析(四)传播机制总览
  9. python解释器源码下载_深入 Python 解释器源码,我终于搞明白了字符串驻留的原理!...
  10. windows磁盘空间释放(二)
  11. thinkphp 后台管理框架swiftadmin的使用
  12. 请同学吃饭她带来6人,我中途逃单:不是小气,而是不吃“苍蝇”
  13. Python 根据出生日期判断星座
  14. katacontainers二进制安装
  15. Echarts桑基图的排列顺序
  16. 虚拟机的虚拟化如何开启?
  17. 如何在VC中加减日期及 CTime COleDateTime的常用操作和比较
  18. Hibernate-初学小结
  19. 162号段,165号段,167号段
  20. proc near/far

热门文章

  1. 阐述Linux动态库的显式调用
  2. 【Python】判断列表 list 是否为空
  3. 【算法】一个简单的随机森林(RF)原理
  4. [云炬ThinkPython阅读笔记]1.7 调试
  5. 深入探讨!Batch 大小对训练的影响
  6. MatConvnet工具箱文档翻译理解(1)
  7. 常用3种数据库的Sql分页
  8. copy构造函数使用深copy
  9. 拔掉 MacBookPro,用 8GB 树莓派4 工作一天,体验原来是这样的
  10. 农行笔试,直接寄了,经验总结