BJFU 1440 fudq的ACM
矩阵快速幂
#include<cstdio>
#include<algorithm>
using namespace std;
const int Nmax = ;
const int INF =1e9;
const int mod=; long long n;
int error;
struct Matrix
{
int n,m;
long long map[Nmax][Nmax];
Matrix(int x,int y)
{
n=x;m=y;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
map[i][j]=;
}
Matrix operator * (const Matrix b)
{
Matrix c(n,b.m);
if(m==b.n)
{
for(int i=;i<=c.n;i++)
for(int j=;j<=c.m;j++)
for(int k=;k<=m;k++)
c.map[i][j]=(c.map[i][j]+(map[i][k]*b.map[k][j])%mod)%mod;
return c;
}
printf("error!!!!!!!!!!!!!!\n");
}
}; Matrix get(long long n)
{
Matrix base(,);
base.map[][]=;
base.map[][]=;
base.map[][]=;
base.map[][]=;
Matrix ans(,);
ans.map[][]=;
ans.map[][]=;
ans.map[][]=;
ans.map[][]=; while(n>)
{
if(n & )
ans=ans*base;
base=base*base;
n>>=;
} return ans;
} int main()
{
//freopen("bjfu.in","r",stdin);
Matrix base(,);
base.map[][]=;
base.map[][]=; while(scanf("%I64d",&n)==)
{
if(n>=)
{
Matrix ans=get(n-);
ans=ans*base;
printf("%I64d\n",ans.map[][]);
}
else
{
printf("%I64d\n",base.map[-n][]);
}
}
return ;
}
BJFU 1440 fudq的ACM的更多相关文章
- BJFU fudq的等式
/* BJFU fudq的等式 http://101.200.220.237/contest/19/problem/118/ 数论 勒让德定理 二分答案 */ #include <cstdio& ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- SCNU ACM 2016新生赛决赛 解题报告
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...
- SCNU ACM 2016新生赛初赛 解题报告
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...
- acm结束了
最后一场比赛打完了.之前为了记录一些题目,开了这个博客,现在结束了acm,这个博客之后也不再更新了. 大家继续加油!
- 关于ACM的总结
看了不少大神的退役帖,今天终于要本弱装一波逼祭奠一下我关于ACM的回忆. 从大二上开始接触到大三下结束,接近两年的时间,对于大神们来说两年的确算不上时间,然而对于本弱来说就是大学的一半时光.大一的懵懂 ...
- 第一届山东省ACM——Phone Number(java)
Description We know that if a phone number A is another phone number B’s prefix, B is not able to be ...
- 第一届山东省ACM——Balloons(java)
Description Both Saya and Kudo like balloons. One day, they heard that in the central park, there wi ...
- ACM之鸡血篇
一匹黑马的诞生 故事还要从南京现场赛讲起,话说这次现场赛,各路ACM英雄豪杰齐聚南京,为争取亚洲总舵南京分舵舵主之职位,都使出了看 家本领,其中有最有实力的有京城两大帮清华帮,北大帮,南郡三大派上交派 ...
随机推荐
- Java线程小记
线程是程序内部不同的执行分支,实现多线程主要有两种方式:继承自Thread类或实现Runnable接口,其实Thread类也是实现了Runnable接口,基于Java的单继承机制,我们建议使用实现Ru ...
- vultr vps新增reserved IPs功能,保留服务器原有IP
高性价比海外vps品牌vultr vps宣布一项新功能叫“reserved IPs”,顾名思义是帮助你保留服务器IP地址,以备后用. 这个需求是因为用户经常新建.删除一个vps服务器,默认分配的是随机 ...
- 洛谷-均分纸牌-NOIP2002提高组复赛
题目描述 Description 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸 ...
- kubernetes port nodePort targetPort 理解
port The port that the service is exposed on the service's cluster ip (virsual ip). Port is the serv ...
- PHP mktime函数获取今天的开始和结束时间戳
php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime(). mktime函数用法如下:mktime(hour,minute,second,m ...
- js 的四种设计模式的优缺点
原始模式: var Car = new Object; Car.color = "blue"; Car.door = 4; Car.showColor = function() { ...
- JAVA String 工具类
java StringUtil 字符串工具类 import java.util.ArrayList; import java.util.LinkedHashSet; import java.util. ...
- CodeForces 701C They Are Everywhere
双指针. 先统计一下字符种类数$sum$,然后进行尺取. 如果目前的区间$[L,R]$中不同字符个数$k<sum$,那么区间右端往右移动一位,更新种类数. 如果目前的区间$[L,R]$中不同字符 ...
- L2-012. 关于堆的判断
L2-012. 关于堆的判断 题目链接:https://www.patest.cn/contests/gplt/L2-012 终于ac了,简直要哭.题目还是很简单的,不过很多坑: 1.寻找x下标时,有 ...
- [妙味JS基础]第九课:定时器管理、函数封装
知识点总结 函数封装 回调函数 实例:抖动函数 获取当前的位置 通过数组来实现,一正一负,直到恢复成0为止. 当前位置与数组中各值相加