hdu4990 矩阵
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
System Crawler (2016-04-25)
Description
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include<iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include<vector>
const int MAX=100000*2;
const int INF=1e9;
int main()
{
int n,m,ans,i;
while(scanf("%d%d",&n,&m)!=EOF)
{
ans=0;
for(i=1;i<=n;i++)
{
if(i&1)ans=(ans*2+1)%m;
else ans=ans*2%m;
}
printf("%d\n",ans);
}
return 0;
}
Input
[Technical Specification]
1<=n, m <= 1000000000
Output
Sample Input
3 100
Sample Output
5
- #include<map>
- #include<set>
- #include<string>
- #include<queue>
- #include<stack>
- #include<cmath>
- #include<vector>
- #include<cstdio>
- #include<time.h>
- #include<cstring>
- #include<iostream>
- #include<algorithm>
- #define INF 1000000001
- #define ll long long
- #define lson l,m,rt<<1
- #define rson m+1,r,rt<<1|1
- using namespace std;
- const int MAXN = ;
- struct Mat
- {
- ll a[][];
- };
- ll MOD;
- Mat operator *(Mat a,Mat b)
- {
- Mat c;
- memset(c.a,,sizeof(c.a));
- for(int i = ; i < ; i++){
- for(int j = ; j < ; j++){
- for(int k = ; k < ;k++){
- c.a[i][j] += (a.a[i][k] * b.a[k][j])%MOD;
- }
- }
- }
- return c;
- }
- Mat power(Mat b,ll n)
- {
- Mat c;
- c.a[][] = c.a[][] = ;
- c.a[][] = c.a[][] = ;
- while(n){
- if(n & ){
- c = c * b;
- }
- b = b * b;
- n >>= ;
- }
- return c;
- }
- ll mod_pow(ll x,ll n)
- {
- ll res = ;
- while(n){
- if(n & ) res = res * x % MOD;
- x = x * x % MOD;
- n >>= ;
- }
- return res;
- }
- ll mod_mul(ll a,ll b)
- {
- ll res = ;
- while(b){
- if(b & ){
- res = (res + a) % MOD;
- }
- b >>= ;
- a = (a + a) % MOD;
- }
- return res;
- }
- ll n;
- int main()
- {
- while(~scanf("%lld%lld",&n,&MOD)){
- if(n == ){
- cout<<<<endl;
- continue;
- }
- else if(n == ){
- cout<<%MOD<<endl;
- continue;
- }
- Mat a,b;
- a.a[][] = ;
- a.a[][] = ;
- a.a[][] = ;
- a.a[][] = ;
- b.a[][] = ;
- b.a[][] = ;
- b.a[][] = ;
- b.a[][] = ;
- a = power(a,n/);
- if(n % == ){
- ll ans = a.a[][] % MOD;
- printf("%lld\n",ans);
- }
- else {
- b = b * a;
- ll ans = b.a[][] % MOD;
- printf("%lld\n",ans);
- }
- }
- return ;
- }
hdu4990 矩阵的更多相关文章
- hdu4990矩阵快速幂
就是优化一段代码,用矩阵快速幂(刚开始想到了转移矩阵以为是错的) 在搜题解时发现了一个神奇的网站:http://oeis.org/ 用来找数列规律 的神器.... 规律就是an=an-1+2*an-2 ...
- hdu4990 矩阵快速幂
题意: 给你一短代码,让你优化这个代码,代码如下 #pragma comment(linker, "/STACK:1024000000,1024000000") #in ...
- HDU4990 Reading comprehension —— 递推、矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-4990 Reading comprehension Time Limit: 2000/1000 MS (Java/Others ...
- hdu4990 Reading comprehension 矩阵快速幂
Read the program below carefully then answer the question.#pragma comment(linker, "/STACK:10240 ...
- C语言 · 矩阵乘法 · 算法训练
问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200). 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换
CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换 三维世界里的旋转(rotate),可以用一个3x3的矩阵描述:可以用(旋转角度float+旋转轴vec3)描述.数学家欧拉证明了这两种形式可 ...
- “为什么DirectX里表示三维坐标要建一个4*4的矩阵?”
0x00 前言 首先要说明的是,本文的标题事实上来自于知乎上的一个同名问题:为什么directX里表示三维坐标要建一个4*4的矩阵? - 编程 .因此,正如Milo Yip大神所说的这个标题事实上是存 ...
- js实现蛇形矩阵
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...
随机推荐
- NOIP2010引水入城[BFS DFS 贪心]
题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度. ...
- FMS 客户端带宽计算、带宽限制
FMS 客户端带宽计算.带宽限制 1. 带宽计算 FMS内置了带宽检测的特性(被称作"native bandwidth detection"),要进行带宽检测,客户端只要在成功连接 ...
- 百度搜索--jquery
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- HTML 学习笔记 CSS样式(框模型)
CSS框模型( Box Model)规定了元素框处理元素的内容 内边距 边框 和 外边距的方式 CSS框模型概述 可以用下面的模型图概述
- Python的高级特性1:容易忽略的不可变类型
python中有一些容易忽略的不可变类型(str,integer,tuple,None) #错误演示 In [45]: def demo(lst=[]): ....: lst.append(" ...
- Jenkins 安装
1. 调整tomcat的jvm配置, 以免内存不够, 在catalina.sh中 #!bin/sh下添加 JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX ...
- AI图片剪切
来源:http://tieba.baidu.com/p/1203332701?pid=14163166977&cid=78618096662&from=prin#78618096662 ...
- 1927: [Sdoi2010]星际竞速
1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 2040 Solved: 1257[Submit][Stat ...
- P3384 【模板】树链剖分
P3384 [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节 ...
- CentOS搭建socket5代理服务器
1.安装socket5依赖包 yum -y install gcc automake make pam-devel openldap-devel cyrus-sasl-devel 2.下载ss5并 ...