部分转自http://blog.csdn.net/crazy______/article/details/9021169

#include<cstdio>

using namespace std;

__int64 A[3][3],s[3][3],tmp[3][3];
void fun(__int64 n,__int64 m)
{
__int64 i,j,k; for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
{
s[i][j]=A[i][j];
}
--n;
while(n)
{
if(n&1)
{
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
{
tmp[i][j]=A[i][j];
A[i][j]=0;
} for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
for(k=1;k<=2;k++)
{
A[i][j]=((A[i][j]+tmp[i][k]*s[k][j])%m+m)%m;
}
}
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
{
tmp[i][j]=s[i][j];
s[i][j]=0;
}
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
for(k=1;k<=2;k++)
{
s[i][j]=((s[i][j]+tmp[i][k]*tmp[k][j])%m+m)%m;
}
n>>=1;
}
} int main()
{
__int64 a,b,n,m;
__int64 i,j;
while(scanf("%I64d%I64d%I64d%I64d",&a,&b,&n,&m)==4)
{
if(n==1)
{
printf("%I64d\n",2*a%m);
continue;
}
A[1][1]=2*a; A[1][2]=b-a*a; A[2][1]=1; A[2][2]=0;
fun(n-1,m);
printf("%I64d\n",((A[1][1]*2*a+A[1][2]*2)%m+m)%m); } return 0;
}


												

HDU4565 && 2013年长沙邀请赛A题的更多相关文章

  1. 2013 南京理工大学邀请赛B题

    思路: 每次枚举删除一个点,然后对剩下的点求出关键点,判断删除哪个关键点获得的连通分支数最大. #include<iostream> #include<cstdio> #inc ...

  2. HDU 4569Special equations2012长沙邀请赛E题(数学知识)

    Special equations Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  3. 2013长沙网络赛H题Hypersphere (蛋疼的题目 神似邀请赛A题)

    Hypersphere Time Limit: 1 Second       Memory Limit: 32768 KB In the world of k-dimension, there's a ...

  4. 2013年山东省赛F题 Mountain Subsequences

    2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...

  5. 2013年省赛H题

    2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...

  6. 2013年省赛I题 Thrall’s Dream

    2013年省赛I题判断单向联通,用bfs剪枝:从小到大跑,如果遇到之前跑过的点(也就是编号小于当前点的点),就o(n)传递关系. bfs #include<iostream> #inclu ...

  7. 2013 ACM/ICPC南京邀请赛B题(求割点扩展)

    题目链接:http://icpc.njust.edu.cn/Contest/194/Problem/B B - TWO NODES 时间限制: 10000 MS 内存限制: 65535 KB 问题描述 ...

  8. 2013长沙邀请赛A So Easy!(矩阵快速幂,共轭)

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  9. 2013 ACM-ICPC长沙赛区全国邀请赛——Bottles Arrangement

    这题当时竟然没看啊…… 找规律:求和m+m+m-1+m-1+……前n项 ;}

随机推荐

  1. 学习英语每日一 On the house. 赠品

    tp=webp" alt=""> On the house. 免费赠送.我们之前学过请客能够说I'll buy you something. 事实上还有一种说法是I ...

  2. bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file

    senario 进入sqlcmd使用:out xxx产生的数据文件,因为sqlcmd export to file 默认情况下,中国的乱码.因此,使用-u(unicode)开关 @echo off & ...

  3. CentOS 忘记 root password处理

    在倒计时启动时间,按任意键进入,例如下面的页面 输入 e. 进入这个页面.上下移动至高亮条到中间 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ29yZV ...

  4. 原生js 样式的操作整理

    内联样式的获取 function getStyle(obj,attr){//简单的获取内联样式 return obj.currentStyle?obj.currentStyle[attr]:obj.g ...

  5. SGU 548 Dragons and Princesses

    意甲冠军: n个月格儿  所有的格龙或公主的儿子  从勇士1走n  不杀  杀死有钱拿  路过公主  假设之前杀龙的数量满足公主要求就会停止行走  问  勇士想多拿钱  可是必需要满足n格子的公主  ...

  6. 在sd卡,创建目录和文件

    在本文中,sd卡的情况下创建的文件和目录,介绍如何创建目录和文件的重点. 1. 路径问题(以下的样例是在Java中測试的,在Android中相同适用) 1.1 假设须要在目录中创建文件的目录存在,直接 ...

  7. CodeForces 277A Learning Languages (并检查集合)

    A. Learning Languages time limit per test:2 seconds memory limit per test:256 megabytes The "Be ...

  8. JBPM——MyEclipse开发环境的搭建

    第一次接触JBPM我不知道如何在工程中的应用.查了一些资料.大约在JBPM随着时代的发展有一定的了解.首先JBPM它是JBoss件平台的一个组成部分.是一个灵活的,易扩展的工作流管理系统,仅仅只是这个 ...

  9. form表单target的用法,实现无刷新提交页面

    form表单的target,当将iframe设置为隐藏时,可以实现当前页表单提交而不进行跳转刷新.代码如下,首页在页面里准备一个form表单和一个iframe. <form action=&qu ...

  10. js 正则练习之语法高亮

    原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解.今天就分析下 次碳酸钴 和 Barret Lee 语法高亮实现. 先 ...