校赛热身 Problem B. Matrix Fast Power
找循环节,肯定在40项以内,不会证明。
#include <iostream>
#include <cstring>
#include <string>
#include <map>
using namespace std;
long long a[];
map<long long,bool>m;
int main()
{
long long t;
cin>>t;
for(long long o=;o<=t;o++)
{
m.clear();
long long n;//n的范围很大,用long long
cin>>a[]>>a[]>>n;
m[a[]]=;
m[a[]]=;
long long x,y;
long long r,l;
for(long long i=;i<=;i++)
{
x=,y=;
long long xx=a[i-];
long long yy=a[i-];
while(xx>=)
{
x+=xx%;
xx=xx/;
}
x+=xx;
while(yy>=)
{
y+=yy%;
yy=yy/;
}
y+=yy;
a[i]=x+y;
if(!m[a[i]]) m[a[i]]=;
else if(m[a[i]]&&m[a[i-]])
{
r=i-;
bool f=;
for(long long j=;j<=i-;j++)
{
if(a[i]==a[j]&&a[i-]==a[j-])
{
l=j-;
f=;
break;
} }
if(f) break;
}
}
cout<<"Case #"<<o<<": ";
if(n<=r) cout<<a[n]<<endl;
else
{
long long u=r-l+;
n=n-l+;
n=n%u;
if(n==) cout<<a[r]<<endl;//特判,wa了好几次
else cout<<a[l-+n]<<endl;
}
}
return ;
}
校赛热身 Problem B. Matrix Fast Power的更多相关文章
- 校赛热身 Problem C. Sometimes Naive (状压dp)
题解: 列举每一种3的倍数的组合,开始先求出3条边的可行解,则 六条边的可行解可以由两个三条边得来. 详见代码解析 #include<bits/stdc++.h> using namesp ...
- 牛客网多校赛第九场A-circulant matrix【数论】
链接:https://www.nowcoder.com/acm/contest/147/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- 校赛热身赛 Problem D. Unsolved Mystery
Problem D. Unsolved MysteryThe world famous mathematician Wang Hao published a paper recently in the ...
- algorithm@ Matrix fast power
一. 什么是快速幂: 快速幂顾名思义,就是快速算某个数的多少次幂.其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高.一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次 ...
- 【魔改】莫队算法+组合数公式 杭电多校赛4 Problem B. Harvest of Apples
http://acm.hdu.edu.cn/showproblem.php?pid=6333 莫队算法是一个离线区间分块瞎搞算法,只要满足:1.离线 2.可以O(1)从区间(L,R)更新到(L±1, ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
- Lintcode: Fast Power 解题报告
Fast Power 原题链接:http://lintcode.com/en/problem/fast-power/# Calculate the an % b where a, b and n ar ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
随机推荐
- jmeter-JSON Path Assertion(对响应的json数据进行断言)
1,通过plugin manager 安装json pllugins
- Android Studio混淆打包
1.apk混淆打包 如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则. 告知gradle需要混淆的代码 在Project/app/build.gradle中把mini ...
- git 分支管理 (转自廖雪峰的git教程)
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- java处理HTTP请求
import com.diyfintech.wx.service.HttpService; import org.springframework.stereotype.Service; import ...
- split方法的使用
// 分隔竖线 String[] param = text.split("\\|"); //分隔问号 String name = singleResource.get(&quo ...
- 关于 SimpleDateFormat 的非线程安全问题及其解决方案
一直以来都是直接用SimpleDateFormat开发的,没想着考虑线程安全的问题,特记录下来(摘抄的): 1.问题: 先来看一段可能引起错误的代码: package test.date; impor ...
- Skynet服务器框架(八) 任务和消息调度机制
引言: 在我看来,消息和任务调度应该是skynet的核心,整个skynet框架的核心其实就是一个消息管理系统.在skynet中可以把每个功能都当做一个服务,整个skynet工程在执行过程中会创建很多个 ...
- tf随笔-1
生成新的计算图,并完成常量初始化,在新的计算 图中完成加法计算 import tensorflow as tf g1=tf.Graph() with g1.as_default(): value=[1 ...
- GIS的核心价值——服务
注:本观点仅代表个人观点,与任何人员或者组织无任何关系,如有雷同或者相似之处,只能说明我们对GIS的理解相同,无抄袭之嫌. 写这个题目,源于前两天接到的一个电话面试时候问道的一个面试题.当时, ...
- ng 通过factory方法来创建一个心跳服务
<!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <met ...