【Openjudge 9277 Logs Stacking堆木头】 题解
题目链接:http://noi.openjudge.cn/ch0206/9277/
...
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
struct Matrix{
long long m[3][3];
}A,E,ans;
long long n,k, mod = 1e5;
Matrix mul(Matrix A,Matrix B)
{
Matrix C;
for(int i = 1; i <= 2; i++)
for(int j = 1; j <= 2; j++)
{
C.m[i][j] = 0;
for(int k = 1; k <= 2; k++)
C.m[i][j] = (C.m[i][j]+(A.m[i][k]*B.m[k][j]))%mod;
}
return C;
}
Matrix fast(Matrix A, long long k)
{
Matrix S = E;
while(k)
{
if(k&1) S = mul(S,A);
A = mul(A,A);
k = k>>1;
}
return S;
}
int main()
{
E.m[2][2] = 1;
E.m[1][1] = 1;
A.m[1][1] = 1;
A.m[1][2] = 1;
A.m[2][1] = 1;
scanf("%d",&n);
for(int i = 1; i <= n; i++)
{
scanf("%lld",&k);
ans = fast(A,2*k-1);
printf("%lld\n",(ans.m[2][1])%mod);
}
return 0;
}
【Openjudge 9277 Logs Stacking堆木头】 题解的更多相关文章
- 【OpenJudge9277】【递推】Logs Stacking堆木头
Logs Stacking堆木头 总时间限制: 1000ms 内存限制: 131072kB [描述] Daxinganling produces a lot of timber. Before loa ...
- 【noi 2.6_9277】Logs Stacking堆木头(DP)
题意:给出在最底层的木头的个数,问有多少种堆放木头的方式.要求木头必须互相挨着在一起. 解法:f[i]表示最底层i个木头的堆放木头的方式.注意递推的思想!只需知道上一层堆放0~i-1个(即最底层堆放i ...
- 基于HTML5堆木头游戏
今天要来分享一款很经典的HTML5游戏——堆木头游戏,这款游戏的玩法是将木头堆积起来,多出的部分将被切除,直到下一根木头无法堆放为止.这款HTML5游戏的难点在于待堆放的木头是移动的,因此需要你很好的 ...
- 洛谷P3377 【模板】左偏树(可并堆) 题解
作者:zifeiy 标签:左偏树 这篇随笔需要你在之前掌握 堆 和 二叉树 的相关知识点. 堆支持在 \(O(\log n)\) 的时间内进行插入元素.查询最值和删除最值的操作.在这里,如果最值是最小 ...
- HTML5堆木头游戏
在线演示 本地下载
- 算法技巧讲解》关于对于递推形DP的前缀和优化
这是在2016在长沙集训的第三天,一位学长讲解了“前缀和优化”这一技巧,并且他这一方法用的很6,个人觉得很有学习的必要. 这一技巧能使线性递推形DP的速度有着飞跃性的提升,从O(N2)优化到O(N)也 ...
- 清北学堂2018DP&图论精讲班 DP部分学习笔记
Day 1 上午 讲的挺基础的--不过还是有些地方不太明白 例1 给定一个数n,求将n划分成若干个正整数的方案数. 例2 数字三角形 例7 最长不下降子序列 以上太过于基础,不做深入讨论 例3 给定一 ...
- PAT甲级 1155 Heap Paths (30分) 堆模拟
题意分析: 给出一个1000以内的整数N,以及N个整数,并且这N个数是按照完全二叉树的层序遍历输出的序列,输出所有的整条的先序遍历的序列(根 右 左),以及判断整棵树是否是符合堆排序的规则(判断是大顶 ...
- 年少和 Smart の日常比赛 R3
在洛谷上参加了个比赛....写写题解 rank3....共5人...(捂脸 没有注明是官方代码的均是我比赛时本人提交的代码 T1 洗牌 题目描述 小明把 n (n 为偶数)张牌按编号顺序 1, 2, ...
随机推荐
- TOJ 1885 Triangles
Description It is always very nice to have little brothers or sisters. You can tease them, lock them ...
- linux_api之进程环境(二)
本篇索引: 1.引言 2.终端登录 3.进程组 4.会话期 1.引言 通过上一篇的学习,我们已经知道了如何控制一个进程,fork函数从父进程中复制出子进程,我们可以通过exec函数让子进程运行新的 ...
- mysql 查两个表相同的值
比如一个数据库 表A和表B 都有一个username字段, 现查出与表A中username值相同的表B的username和password数据 select B.username,B.password ...
- 4.net两种交互模式
.net两种交互模式 (1) C/S:客户端(Client)/服务器模式(Server) (2) B/S:浏览器(Browser)/服务器模式(Server) 来自为知笔记(Wiz)
- 破解jar包5步搞定,jira7.9.2操作成功,附github代码库
1,从要破解的程序中拷贝.jar包文件,运行1_jar.sh将其解压.以jira7.9.2为例: $install_dir\JIRA\atlassian-jira\WEB-INF\lib\atlass ...
- 序列化及json&pickle的使用
一.序列化 序列化是指把内存里的数据类型转变成字符串.以使其能存储到硬盘或通过网络传输到远程.——硬盘或网络传输时只能接受bytes. Python中用于序列化的两个模块: json:用于字符串和Py ...
- 微信小程序的button去边框
wxml <button class='niu'>123123</button> css niu::after{ border:none; }
- learn OpenStack by picture
- sql注入一点小心得
好久没写技术博客,最近研究产品关于用户体验方面较多,加上项目突然比较多,设计原型.跟进开发.设计师等工作着实没时间写博客. 接下来技术上主要php深入学习和mysql优化.这两天看了关于sql注入方面 ...
- Java—集合框架 Collections.sort()、Comparable接口和Comparator接口
Collentions工具类--java.util.Collections Collentions是Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员,与List.Map和Set ...