[ustctraining][13.05.09]E - 特殊的数
2013-05-09 22:21
281 查看
E - 特殊的数
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
一个由n位数字组成的数,它的每一位数字都是奇数,这样的n位数有多少个?
为了增加难度,Jason要求数字7和9只能出现偶数次。
Input
输入数据的第一行一个数T,表示输入数据的组数。
每组数据只有一个数n,表示一个数由n位数组成。
约定:
1≤T≤10000
1≤n≤10^18
Output
对于每组给定的输入,输出一行仅含一个数,满足以上条件的n位数的个数,由于答案可能很大,对1,000,000,007取模。
Sample Input
Sample Output
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
一个由n位数字组成的数,它的每一位数字都是奇数,这样的n位数有多少个?
为了增加难度,Jason要求数字7和9只能出现偶数次。
Input
输入数据的第一行一个数T,表示输入数据的组数。
每组数据只有一个数n,表示一个数由n位数组成。
约定:
1≤T≤10000
1≤n≤10^18
Output
对于每组给定的输入,输出一行仅含一个数,满足以上条件的n位数的个数,由于答案可能很大,对1,000,000,007取模。
Sample Input
1 2
Sample Output
11
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> using namespace std; #define FOR(i,a,b) for(int i=a;i<=b;i++) #define MST(a,b) memset(a,b,sizeof(a)) #define MOD 1000000007 int main() { freopen("in.txt","r",stdin); int nn; scanf("%d",&nn); FOR(ii,1,nn) { long long n; cin>>n; long long a0[3][3]; MST(a0,0); FOR(i,0,2)a0[i][i]=3; a0[0][1]=1; a0[1][0]=2; a0[2][1]=1; a0[1][2]=2; long long c[3][3],b[3][3]; MST(c,0); FOR(i,0,2)c[i][i]=1; FOR(i,0,2)FOR(j,0,2)b[i][j]=a0[i][j]; long long p=1; while(n) { if(1&n) { long long c0[3][3]; FOR(i,0,2)FOR(j,0,2)c0[i][j]=c[i][j]; MST(c,0); FOR(k,0,2)FOR(i,0,2)FOR(j,0,2)c[i][j]=(c[i][j]+c0[i][k]*b[k][j])%MOD; } n=n>>1; long long b0[3][3]; FOR(i,0,2)FOR(j,0,2)b0[i][j]=b[i][j]; MST(b,0); FOR(k,0,2)FOR(i,0,2)FOR(j,0,2)b[i][j]=(b[i][j]+b0[i][k]*b0[k][j])%MOD; } long long f0[3],f[3]; MST(f0,0); MST(f,0); f0[0]=1; FOR(k,0,2)FOR(j,0,2)f[j]=(f[j]+f0[k]*c[k][j])%MOD; printf("%d\n",f[0]); } }
相关文章推荐
- [ustctraining][13.05.09]C - 多项式积分
- [ustctraining][13.05.09]H - 数字排列
- [ustctraining][13.05.09]F - 分蛋糕
- 【HDU5725 2016 Multi-University Training Contest 1C】【最短路 曼哈顿距离+贪心 前缀和】Game 有特殊守卫地图中所有空格点的最短路之和
- 数据结构总结(一):一种特殊的有序队列
- 再次学习linux文件特殊权限:SUID、SGID、Sticky Bit
- Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍
- Effective Modern C++ 条款17 理解特殊成员函数的生成
- hdoj 6060(2017 Multi-University Training Contest - Team 3) RXD and dividing
- OpenGL基础图形编程 - 特殊光处理
- Makefile文件中特殊符号的含义
- UESTC_基爷的中位数 2015 UESTC Training for Search Algorithm & String<Problem D>
- HDU 5318 The Goddess Of The Moon(构造矩阵 )——2015 Multi-University Training Contest 3
- css中伪元素before或after中content的特殊用法attr
- IBM WebSphere Message Broker Training day 5 tips
- python 特殊的下划线
- DOS下处理含特殊字符[如:&]的字符串
- CSS实现特殊效果
- python中的特殊的函數
- HTML特殊字符