题意:求n个斐波那契数列组合都无法得到的最小数字

解法:

1 我们先暴力的求出前面几个数字

2 然后再暴力的求递推

3 接着矩阵快速幂(没写错吧?)

/*#include<bits/stdc++.h>
using namespace std;
long long x[50];
map<long long,int>Mp;
void dfs(int pos,long long sum,int cnt,int n){
if(cnt==n){
Mp[sum]=1;
return;
}
if(cnt>n){
return;
}
for(int i=pos;i<=20;i++){
dfs(i+1,sum+x[i],cnt+1,n);
}
}
int main(){
x[0]=0;
x[1]=1;
for(int i=2;i<=21;i++){
x[i]=x[i-1]+x[i-2];
}
for(int i=0;i<=21;i++){
Mp[x[i]]=1;
}
//dfs(0,0,0,3);
for(int i=2;i<=5;i++){ dfs(0,0,0,i);
for(long long j=0;j<=x[21];j++){
if(Mp[j]==0){
cout<<j<<endl;
break;
}
}
}
return 0;
}*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#define mset(a,i) memset(a,i,sizeof(a))
using namespace std;
typedef long long ll;
const int mod=;
struct Mal{
ll x[][];
};
Mal mul(Mal a,Mal b){
Mal c;
memset(c.x,,sizeof(c.x));
for(int i=;i<;i++){
for(int j=;j<;j++){
for(int k=;k<;k++){
c.x[i][j]+=((a.x[i][k]+mod)*(b.x[k][j]+mod))%mod;
c.x[i][j]%=mod;
}
}
}
return c;
}
Mal Qp(int n){
Mal a,b;
memset(a.x,,sizeof(a.x));
memset(b.x,,sizeof(b.x));
a.x[][]=;
a.x[][]=-;
a.x[][]=;
a.x[][]=;
a.x[][]=;
for(int i=;i<;i++){
b.x[i][i]=;
}
while(n){
if(n&){
b=mul(b,a);
}
a=mul(a,a);
n/=;
}
return b;
}
ll k;
int main(){
while(~scanf("%lld",&k)){
if(k==){
cout<<""<<endl;
continue;
}
if(k==){
cout<<""<<endl;
continue;
}
Mal pos,X;
pos.x[][]=;
pos.x[][]=;
pos.x[][]=;
X=mul(Qp(k-),pos);
ll ans=X.x[][]%mod;
printf("%lld\n",ans);
}
return ;
}
/*
1 2 3 4 5 6 7 8 9 10 11 12
4
12
33
88
232
609
1596
4180
10945
28656
75024
196417
99999999
702476551
9999999
395293026
*/

2017 ACM/ICPC Asia Regional Shenyang Online number number number的更多相关文章

  1. 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  2. 2017 ACM/ICPC Asia Regional Shenyang Online:number number number hdu 6198【矩阵快速幂】

    Problem Description We define a sequence F: ⋅ F0=0,F1=1;⋅ Fn=Fn−1+Fn−2 (n≥2). Give you an integer k, ...

  3. 2017 ACM/ICPC Asia Regional Shenyang Online E number number number 题解

    分析: 当n=1时ans=4=f(5)-1; n=2,ans=12=f(7)-1; n=3,ans=33=f(9)-1; 于是大胆猜想ans=f(2*k+3)-1. 之后用矩阵快速幂求解f(n)即可, ...

  4. 2017 ACM/ICPC Asia Regional Shenyang Online(部分题解)

    HDU 6197 array array array 题意 输入n和k,表示输入n个整数和可以擦除的次数k,如果至多擦除k次能是的数组中的序列是不上升或者是不下降序列,就是魔力数组,否则不是. 解题思 ...

  5. 2017 ACM/ICPC Asia Regional Shenyang Online cable cable cable

    Problem Description Connecting the display screen and signal sources which produce different color s ...

  6. 2017 ACM/ICPC Asia Regional Shenyang Online

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

  7. HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online

    题目链接 emmmm...思路是群里群巨聊天讲这题是用尺取法.....emmm然后就没难度了,不过时间上3000多,有点.....盗了个低配本的读入挂发现就降到2800左右, 翻了下,发现神犇Clar ...

  8. HDU 6198(2017 ACM/ICPC Asia Regional Shenyang Online)

    思路:找规律发现这个数是斐波那契第2*k+3项-1,数据较大矩阵快速幂搞定.   快速幂入门第一题QAQ #include <stdio.h> #include <stdlib.h& ...

  9. 2017 ACM/ICPC Asia Regional Shenyang Online array array array

    2017-09-15 21:05:41 writer:pprp 给出一个序列问能否去掉k的数之后使得整个序列不是递增也不是递减的 先求出LIS,然后倒序求出最长递减子序列长度,然后判断去k的数后长度是 ...

随机推荐

  1. LOJ2303 「NOI2017」蚯蚓排队

    「NOI2017」蚯蚓排队 题目描述 蚯蚓幼儿园有$n$只蚯蚓.幼儿园园长神刀手为了管理方便,时常让这些蚯蚓们列队表演. 所有蚯蚓用从$1$到$n$的连续正整数编号.每只蚯蚓的长度可以用一个正整数表示 ...

  2. ACM学习历程—Hihocoder 1290 Demo Day(动态规划)

    http://hihocoder.com/problemset/problem/1290 这题是这次微软笔试的第三题,过的人比第一题少一点,这题一眼看过去就是动态规划,不过转移方程貌似不是很简单,调试 ...

  3. bzoj 3545: [ONTAK2010]Peaks Kruskal重构树

    题目: 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经 ...

  4. POJ1958:Strange Towers of Hanoi

    我对状态空间的理解:https://www.cnblogs.com/AKMer/p/9622590.html 题目传送门:http://poj.org/problem?id=1958 题目要我们求四柱 ...

  5. cs2008中头文件交叉编译的问题

    使用全局变量 使用基类指针定义在头文件中,在实际使用中强制转型为需要的指针,当然应该也可以存为空指针.

  6. log4net 使用

    1. 代码中使用配置文件: log4net.Config.DOMConfigurator.Configure(new FileInfo("log4netConfig.xml")); ...

  7. JAVAmap容器基本使用

    import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import java.util.Scanner ...

  8. netty中的EventLoop和EventLoopGroup

    Netty框架的主要线程就是I/O线程,线程模型设计的好坏,决定了系统的吞吐量.并发性和安全性等架构质量属性. 一.Netty的线程模型 在讨论Netty线程模型时候,一般首先会想到的是经典的Reac ...

  9. 使用tftp给ARM下载程序

    使用tftp给ARM下载程序 1.开发板和主机能够ping的通 前提:要把计算机的防火墙关了,不然就会出现下面这种情况 如果电脑连接的无线网,那么设置本地连接的ip设置为固定ip.Ip地址和开发的ip ...

  10. 在VirtualBox中安装CentOS 7【转载】

    当初接触Linux的时候,因为条件限制,只能在VirtualBox虚拟机中安装Linux系统使用,由于是小白,爬了好多坑.于是决定写一篇关于在虚拟机中安装linux系统的文章.一是为了巩固自己的知识, ...