zoukankan      html  css  js  c++  java
  • HDU5950

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950

    解题思路:

      

    AC代码:

     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 using namespace std;
     5 typedef long long ll;
     6 const ll mod=2147493647;
     7 struct Matrix{
     8     ll mat[7][7];
     9 };
    10 Matrix cst={1,2,1,4,6,4,1,
    11             1,0,0,0,0,0,0,
    12             0,0,1,4,6,4,1,
    13             0,0,0,1,3,3,1,
    14             0,0,0,0,1,2,1,
    15             0,0,0,0,0,1,1,
    16             0,0,0,0,0,0,1};
    17 Matrix Multiply(Matrix x,Matrix y){
    18     Matrix temp;
    19     memset(temp.mat,0,sizeof(temp.mat));
    20     for(int i=0;i<7;i++){
    21         for(int j=0;j<7;j++){
    22             for(int k=0;k<7;k++){
    23                 temp.mat[i][j]+=(x.mat[i][k]*y.mat[k][j]%mod);
    24                 temp.mat[i][j]%=mod;
    25             }
    26         }
    27     }
    28     return temp;
    29 }
    30 Matrix Fast_Power(Matrix a,int m){
    31     Matrix res;
    32     memset(res.mat,0,sizeof(res.mat));
    33     for(int i=0;i<7;i++)    res.mat[i][i]=1;
    34     while(m){
    35         if(m&1) res=Multiply(res,a);
    36         m>>=1;
    37         a=Multiply(a,a);
    38     }
    39     return res;
    40 }
    41 int main(){
    42     int t;
    43     int N,a,b;
    44     scanf("%d",&t);
    45     while(t--){
    46         scanf("%d%d%d",&N,&a,&b);
    47         if(N==1)    printf("%d
    ",a);
    48         else if(N==2)   printf("%d
    ",b);
    49         else{
    50             Matrix ret=Fast_Power(cst,N-2);
    51             ll ans=(ret.mat[0][0]*b%mod+ret.mat[0][1]*a%mod+ret.mat[0][2]*16%mod+ret.mat[0][3]*8%mod+ret.mat[0][4]*4%mod+ret.mat[0][5]*2%mod+ret.mat[0][6]%mod)%mod;
    52             printf("%lld
    ",ans);
    53         }
    54     }
    55 
    56     return 0;
    57 }
    “这些年我一直提醒自己一件事情,千万不要自己感动自己。大部分人看似的努力,不过是愚蠢导致的。什么熬夜看书到天亮,连续几天只睡几小时,多久没放假了,如果这些东西也值得夸耀,那么富士康流水线上任何一个人都比你努力多了。人难免天生有自怜的情绪,唯有时刻保持清醒,才能看清真正的价值在哪里。”
  • 相关阅读:
    利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用
    HTML5项目笔记10:使用HTML5 IndexDB设计离线数据库
    MySQL数据库安装
    安装维护手册
    XXX银行项目部署
    使用Excel批量给数据添加单引号和逗号
    sublime3 快速创建html模板
    Wyn Enterprise 报表查询面板三种实现方法汇总
    仪表板中选项卡外观样式详细设置讲解
    Wyn Enterprise 自助式分析(1)门户中的个人偏好设置
  • 原文地址:https://www.cnblogs.com/Blogggggg/p/7502841.html
Copyright © 2011-2022 走看看