2017 ACM/ICPC Asia Regional Shenyang Online number number number

题意:求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的更多相关文章
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 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, ...
- 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)即可, ...
- 2017 ACM/ICPC Asia Regional Shenyang Online(部分题解)
HDU 6197 array array array 题意 输入n和k,表示输入n个整数和可以擦除的次数k,如果至多擦除k次能是的数组中的序列是不上升或者是不下降序列,就是魔力数组,否则不是. 解题思 ...
- 2017 ACM/ICPC Asia Regional Shenyang Online cable cable cable
Problem Description Connecting the display screen and signal sources which produce different color s ...
- 2017 ACM/ICPC Asia Regional Shenyang Online
cable cable cable Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online
题目链接 emmmm...思路是群里群巨聊天讲这题是用尺取法.....emmm然后就没难度了,不过时间上3000多,有点.....盗了个低配本的读入挂发现就降到2800左右, 翻了下,发现神犇Clar ...
- HDU 6198(2017 ACM/ICPC Asia Regional Shenyang Online)
思路:找规律发现这个数是斐波那契第2*k+3项-1,数据较大矩阵快速幂搞定. 快速幂入门第一题QAQ #include <stdio.h> #include <stdlib.h& ...
- 2017 ACM/ICPC Asia Regional Shenyang Online array array array
2017-09-15 21:05:41 writer:pprp 给出一个序列问能否去掉k的数之后使得整个序列不是递增也不是递减的 先求出LIS,然后倒序求出最长递减子序列长度,然后判断去k的数后长度是 ...
随机推荐
- ACM学习历程—HDU4969 Just a Joke(物理题)
Just a Joke Description Here is just a joke, and do not take it too seriously. Guizeyanhua is the pr ...
- (转)python set 用法
转载自:http://hi.baidu.com/����_xu/blog/item/5b9650c513bd3f049d163d8b .html python的set和其他语言类似, 是一个 基本功能 ...
- java代码throws异常
总结:抛出异常 package com.ds; //异常捕获 public class fdsg { private static void throwException() { try { Stri ...
- HTTP 的若干问题
1 HTTP无状态协议和Connection:Keep-Alive容易犯的误区 HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态.从另一方面讲,打开一个服务器上的 ...
- web安全之同源策略
为什么使用同源策略?一个重要原因就是对cookie的保护,cookie 中存着sessionID .如果已经登录网站,同时又去了任意其他网站,该网站有恶意JS代码.如果没有同源策略,那么这个网站就能通 ...
- 大内存电脑在vbox安装linux报错
问题描述: 1.机器:Linux主机,特别是主机为大内存,比如: 4G内存的使用pae内核的Ubuntu系统的thinkpad电脑. 2.情况:使用VirtualBox安装Linux系统时,比如:通过 ...
- 项目:条件查询 通过StringBulider和ArrayList(参数有序) 手动拼接sql
条件查询的sql拼接 参数拼接 public List<Product> findAll(Product product) throws SQLException { //1.1 拼凑sq ...
- 树莓派 Learning 002 装机后的必要操作 --- 05 给树莓派搭建“x86 + pi”环境 -- 安装**32位运行库** -- 解决`E:未发现软件包 xxx` 问题
树莓派 装机后的必要操作 - 给树莓派搭建"x86 + pi"环境 – 安装32位运行库 – 解决E:未发现软件包 xxx 问题 我的树莓派型号:Raspberry Pi 2 Mo ...
- Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境
Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境 下载PCL For windows 软件包 到这个网站下载PCL-All-In-One Installer: ...
- GC偏好的校正与偏好程度的评估
在二代测序仪上测出的数据,通常都会表现出测序深度与GC 含量的相关性,称为GC bias. GC bias校正 为了后续生物信息分析更加准确,通常需要做GC bias的校正. 2010 年 steve ...