今天给大家献上“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的校园:入学典礼!!!!!

首师大附中科创教育平台 我的刷题记录 3120 LJX的校园:入学典礼的更多相关文章

  1. 首师大附中科创教育平台 我的刷题记录 0304 50095106扔核弹(XDC,你懂的)

    今天给大家献上"C"级题:50095106扔核弹(XDC,你懂的)!! 试题编号:0304   50095106扔核弹(XDC,你懂的) 难度级别:C: 运行时间限制:1000ms ...

  2. 首师大附中科创教育平台 我的刷题记录 0325 50212228海岛帝国:LYF的太空运输站

    今天给大家献上“D”级题:50212228海岛帝国:LYF的太空运输站!!   试题编号:0325     50212228海岛帝国:LYF的太空运输站 难度级别:D: 运行时间限制:40ms: 运行 ...

  3. 【刷题记录】首师附NOIP练习20160820

    [由于老师不让发题目,So只能发考点喽!!!!噜噜噜] [题目(嘘~~~~~)]:百度云下载 [T1]:好像是DP,路径压缩+排序+分情况处理100分(噜噜噜) [T2]:正解好难的样子,DFS乱搞了 ...

  4. 锁定“嵌入式AI”应用 中科创达启动第二轮成长

    Thundersoft|中科创达软件股份有限公司  http://www.thundersoft.com/index.php 原文:http://tech.hexun.com/2017-08-29/1 ...

  5. Java SSM三端分离开发在线教育平台实战视频教程

    目录: 1-01——在线网校实战课程介绍1-02——Eclipse.Maven.JDK介绍1-03——Maven构建Project1-04——新浪SAE介绍2-01——平台业务结构概览2-02——平台 ...

  6. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  7. 在线教育平台搭建 预览和models

    一.前言 1.1.项目介绍 在线演示地址:mxonline.mtianyan.cn 开发环境: python:3.6.4 Django:2.0.2 后台管理:xadmin 系统概括: 系统具有完整的用 ...

  8. Django+xadmin打造在线教育平台(二)

    三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip ...

  9. Django+xadmin打造在线教育平台(三)

    五.完成注册.找回密码和激活验证码功能 5.1.用户注册 register.html拷贝到templates目录 (1)users/views.py class RegisterView(View): ...

随机推荐

  1. c 头文件<ctype.h>(二)

    测试<ctype.h>函数 #include <stdio.h> #include <ctype.h> int main(){ ; ; i < ; ++i){ ...

  2. LA 3942 - Remember the Word (字典树 + dp)

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  3. HBase的数据模型相关操作 使用t这个变量来代替table1

    在andriod的应用程序中,用户所感知的都是一个个应用界面,在android程序里面每个应用界面对应一个 Activity类,这类似于.NET Winform项目中的Form窗体.与WinForm中 ...

  4. ruby调试/练习时的小技巧

    必备工具 irb 查祖先 1.9.3-p545 :023 > String.ancestors => [String, Comparable, Object, Kernel, BasicO ...

  5. [原创]使用Gradle的插件EnIDE build的时候,输出的中文总是乱码。

    使用Gradle的插件EnIDE build的时候,输出的中文总是乱码.解决办法:在EnIDE的设置里面,设置JVM options GRADLE_OPTS 为:-Dfile.encoding=UTF ...

  6. 1.多线程-NSThread

    1.在主线程执行多次NSLog模拟耗时操作 结果,卡住主线程 解决方案: performSelectorInBackground让程序在后台执行   2.pthread的使用 开辟子线程,执行一个函数 ...

  7. Meteor全栈开发平台 - 不仅仅是前端

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  8. iOS屏幕旋转

    三种方法 需求:全局主要是竖屏 个别界面需要横屏

  9. HTTP请求 GET与POST是怎么实现?

    1.HTTP请求格式: <request line> <headers> <blank line> [<request-body>] 在HTTP请求中, ...

  10. spine实现预加载(一)

    前言 本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象. 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装 ...