• 矩阵poj 3070


    时间紧张,先记一笔,后续优化与完善。

        矩阵减速

        

        

        #include <iostream>

        #include <cstdio>

        #include <cstring>

        using namespace std;

        int c[101][3][3],b[3][3],d[3][3],lon;

        int n;

        void dfs(int k)

        {

        if(k==1)

        {

            lon++;

            for(int i=1;i<=2;i++)

            for(int j=1;j<=2;j++)

            c[lon][i][j]=b[i][j];

            return;

        }

        dfs(k/2);

        memset(d,0,sizeof(d));

        for(int p=1;p<=2;p++)

        for(int q=1;q<=2;q++)

        for(int i=1;i<=2;i++)

        {

            d[p][q]+=c[lon][p][i]*c[lon][i][q];

            d[p][q]%=10000;

        }

        lon++;

        if(k&1)

        {

            for(int p=1;p<=2;p++)

            for(int q=1;q<=2;q++)

            for(int i=1;i<=2;i++)

            {

        每日一道理
    水仙亭亭玉立,兰花典雅幽香,牡丹雍容华贵,梨花洁白无暇……美丽的花朵总能得到世人的羡慕与赞叹,殊不知,它从一粒小小的种子到最后开花,要历经无数的艰辛与坎坷!我们的成长也是如此。只有做辛勤的“织梦者”,我们的梦想才会成真!

                c[lon][p][q]+=d[p][i]*b[i][q];

                c[lon][p][q]%=10000;

            }

        }

        else

        {

            for(int p=1;p<=2;p++)

            for(int q=1;q<=2;q++)

            c[lon][p][q]=d[p][q];

        }

        }

        int main()

        {

        while(scanf("%d",&n),n!=-1)

        {

            if(n<=2)

            {

                if(n==0) printf("0\n");

                else if(n==1) printf("1\n");

                else printf("2\n");

                continue;

            }

            b[1][1]=1;

            b[1][2]=1;

            b[2][1]=1;

            b[2][2]=0;

            memset(c,0,sizeof(c));

            lon=-1;

            dfs(n-2);

            int ans=(c[lon][1][1]+c[lon][2][1])%10000;

            printf("%d\n",ans);

        }

        return 0;

        }

    文章结束给大家分享下程序员的一些笑话语录: 祝大家在以后的日子里. 男生象Oracle般健壮; 女生象win7般漂亮; 桃花运象IE中毒般频繁; 钱包如Gmail容量般壮大, 升职速度赶上微软打补丁 , 追女朋友像木马一样猖獗, 生活像重装电脑后一样幸福, 写程序敲代码和聊天一样有**。

  • 相关阅读:
    转载阿里开源的分布式事务框架 Seata
    查看进程上的线程数量
    chmod命令
    查找端口与查找正在运行的进程
    可输入的文本框
    js 类和对象
    js 三维数组
    ajax
    ORACLE数据库主要的系统表和数据字典视图
    url 传参
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3038597.html
Copyright © 2020-2023  润新知