今天给大家献上“C”级题:LJX的校园:入学典礼!!

 试题编号:3120      
LJX的校园:入学典礼
难度级别:C; 运行时间限制:45ms; 运行空间限制:256000KB; 代码长度限制:2000000B
试题描述

LJX上小学啦!他与YSM,YSF,WHT,LTJ等人都是校友。今天,是他人生中“溺亡”的一天。今天,他要向同学们证明他的数学很“乐呵”。于是,刚学会简单的A+B问题的他,在课上,向冤家对头 斯沃琪 挑战 QAQ,斯沃琪 队有YZM,SJY,ZZQ等人。而LJX队有他的好朋(ji)友:YSM,YSF,WHT,LTJ,LZH等人,实力不弱小觑。有这么一道题:

给定正整数N,M,要求计算1,2,……,N连接起来(1234567891011……N)mod M的值。

“新兵”LJX想了想,要是M是3,或者9,他一定会。但是M什么都可以,只要小于INF。“预约”了各种方法以后,费劲脑筋想不出来。于是,右转向了(呵呵)他的(ZHU)队友们。可他们已经跑了 TAT。jue ruo LJX找到了你,他跪求你编一个程序帮他解决问题。否则,他将在毕业典礼上“锻炼”,并且被可怕的斯沃琪虐残 QAQ

输入
* 一行:正整数N,M。
输出
* 一行:按要求输出
输入示例
输入样例1
13 13
输入样例2
12345678910 1000000000
输出示例
输出样例1
4
输出样例2
345678910
其他说明
N<=10^18
M<=10^9
这数据是在坑LJX呀

用今天学的矩阵快速幂
哦,不,是分段矩阵快速幂

好的,以上就是LJX的校园:入学典礼的题目要求,现在献上代码!!!当当当!!!

#include<iostream>

#include<cstdio>

#include<cstdlib>

#include<cstring>

#include<algorithm>

#define MAXN 4

using namespace std;

typedef long long int LL;

int mod;

struct matrix

{

    LL p[MAXN][MAXN];

}ans,tmp;

matrix operator*(matrix a,matrix b)

{

    matrix c;

    for(int i=;i<=;i++)

        for(int j=;j<=;j++)

        {

            c.p[i][j]=;

            for(int k=;k<=;k++)

                c.p[i][j]=(c.p[i][j]+((a.p[i][k]%mod)*(b.p[k][j]%mod))%mod)%mod;

        }

    return c;

}

void cal(LL t,LL last) 

{

    memset(tmp.p,,sizeof(tmp.p));

    tmp.p[][]=t;

    tmp.p[][]=tmp.p[][]=tmp.p[][]=tmp.p[][]=tmp.p[][]=;

    LL y=last-t/+;

    while(y)

    {

        if(y&) ans=ans*tmp;

        tmp=tmp*tmp;

        y>>=;

    }

}

int main()

{

    for(int i=;i<=;i++)

        ans.p[i][i]=;

    LL n;

    scanf("%lld%lld",&n,&mod);

    LL t=;

    while(n>=t)

    {

        cal(t,t-);

        t*=;

    }

    cal(t,n);

    printf("%lld\n",ans.p[][]);

    return ;

}

LJX的校园:入学典礼!!!!!

最新文章

  1. NPOI读取Excel 数据 转。。。
  2. BZOJ3223——Tyvj 1729 文艺平衡树
  3. 两道相似KMP题
  4. HDU 1312 (BFS搜索模板题)
  5. c#与java之比较(转自Jack.Wang&#39;s home)
  6. Entity Framework 数据生成选项DatabaseGenerated
  7. trigger()和triggerHandler()
  8. 关于——NSThread
  9. TComponent,TControl,TWinControl,TGraphic的DefineProperties赏析与说明(不懂)
  10. Anaconda的安装与使用
  11. 11. cookie_session_原生ajax_readyState的值_同源策略_跨域_jsonp的使用
  12. 初尝Spring Cloud Config
  13. Linux_系统管理_网络配置_命令行配置网络
  14. miniui表格load数据成功后,回调函数,其中setData要用如下方法
  15. centos6 7 yum安装mongodb 3.6
  16. 得到WAV文件的长度
  17. C# 日志记录工具类--LogHelper.cs测试
  18. jQuery源码分析--Event模块(3)
  19. 对OpenCV中seamlessClone的初步实验
  20. node csrf 防御 待续

热门文章

  1. 开启JMX功能,使JVisvualVM能够连接JVM
  2. mac终端显示和隐藏隐藏文件的命令
  3. ceph network introduce
  4. border-radius详解
  5. docker 服务升级
  6. 【搬运】systemctl 命令完全指南
  7. MVC之权限管理-网站开发之路
  8. 配置Maven环境并创建简单的web项目步骤
  9. 旅游行业的手机App Top5
  10. extjs 学习小窍门