矩阵太大导致爆栈

解决方法:矩阵不要开在main函数里面  全部在外面处理  main函数只能处理简单的赋值和加减

损失的要自减!!

最后为  sum+=t[i]*ans.m[i][n-1];   得到的ans.m 就是一个有向图  代表从i到n-1的转化率

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std; int n,k;
struct matrix
{
double m[][]; }temp,ans; matrix mul(matrix a,matrix b)
{
matrix c;
for(int i=;i<n;i++)
for(int j=;j<n;j++)
{
c.m[i][j]=;
for(int q=;q<n;q++)
c.m[i][j]=c.m[i][j]+ a.m[i][q]*b.m[q][j];
}
return c;
} void fast(void)
{ memset(ans.m,,sizeof(ans.m));
for(int i=;i<n;i++)ans.m[i][i]=;
while(k)
{
if(k&)ans=mul(ans,temp);
temp=mul(temp,temp);
k>>=;
}
return ;
} int main()
{
while(scanf("%d%d",&n,&k)==&&n&&k)
{
memset(temp.m,,sizeof(temp.m));
for(int i=;i<n;i++)temp.m[i][i]=;
int t[]={};
for(int i=;i<n;i++)scanf("%d",&t[i]);
int q;
scanf("%d",&q);
while(q--)
{
int x,y;double z;
scanf("%d%d%lf",&x,&y,&z);
temp.m[x][x]-=z;
temp.m[x][y]+=z;
}
fast();
double sum=;
for(int i=;i<n;i++)sum+=t[i]*ans.m[i][n-];
printf("%.0f\n",sum);
}
}

Evolution ZOJ2853的更多相关文章

  1. Evolution(矩阵快速幂)zoj2853

    Evolution Time Limit: 5 Seconds      Memory Limit: 32768 KB Description Evolution is a long, long pr ...

  2. zoj2853 Evolution

    给定一个进化的矩阵图,问在m次之后最终的物种有多少个,实际上这和线性代数及其应用里的一个例题是一样的...总之就相当于煞笔的套个矩阵不断去乘m次,然后每次都会根据得到进化后各物种的个数,矩阵快速幂求一 ...

  3. 差分进化算法 DE-Differential Evolution

    差分进化算法 (Differential Evolution)   Differential Evolution(DE)是由Storn等人于1995年提出的,和其它演化算法一样,DE是一种模拟生物进化 ...

  4. Evolution项目(1)

    Evolution项目是基于NFine修改的项目 主要改动为: 支持了.net core 1.0 支持了 EF core 1.0 支持数据库自动创建及Demo数据自动灌入 修改了授权方式 新增加了一个 ...

  5. ubuntu 14.04 下evolution邮箱客户端设置(腾讯企业邮箱)

    安装 evolution 有PPA可用,支持 Ubuntu 14.04 及衍生系统.打开终端,输入以下命令: sudo add-apt-repository ppa:fta/gnome3 sudo a ...

  6. ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS

    ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...

  7. GFS: Evolution on Fast-forward

    GFS: Evolution on Fast-forward by Marshall Kirk McKusick, Sean Quinlan | August 7, 2009 A discussion ...

  8. 长期演进技术(LTE,Long Term Evolution)

    /********************************************************************************* * 长期演进技术(LTE,Long ...

  9. UNIX Filesystems - Evolution Design and Implementation.pdf

    UNIX Filesystems - Evolution Design and Implementation.pdf

随机推荐

  1. Emacs org-mode导出html出错

    不知道为什么,当org文件中含有#+TITLE:xxx时,导出会报类似下面的错误: Wrong type argument: listp, #("xxx" 0 3 (:parent ...

  2. UNIX环境高级编程--第一章 UNIX基础知识

    第一章 UNIX基础知识 1.2 UNIX体系结构   从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们将这种软件称为内核(kernel),因为 它相对较小,且 ...

  3. js 原生 ajax

    //js ajax function Ajax(url,type,data,comFun,sucFun,errFun) { //1.创建XMLHttpRequest对象 var xmlHttpRequ ...

  4. div背景半透明

    例子: html: <div class="erp-mask-a" > <div class="erp-mask-cell-a"> he ...

  5. CDH集群中YARN的参数配置

    CDH集群中YARN的参数配置 前言:Hadoop 2.0之后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两 ...

  6. 课程5:Spring框架2016版视频--视频列表目录

    \day01视频\01-今天内容介绍.avi; \day01视频\02-spring的相关概念.avi; \day01视频\03-spring的ioc底层原理(一).avi; \day01视频\04- ...

  7. Generative Adversarial Nets(原生GAN学习)

    学习总结于国立台湾大学 :李宏毅老师 Author: Ian Goodfellow • Paper: https://arxiv.org/abs/1701.00160 • Video: https:/ ...

  8. kafka系列二、kafka manager的安装和使用

    1. Yahoo kafka manager介绍 项目地址:https://github.com/yahoo/kafka-manager Requirements: Kafka 0.8.1.1 or ...

  9. java并发编程系列一、多线程

    一.什么是线程 一个应用就是一个进程.一个进程由多个线程组成.一个生产车间比作是一个进程.工人比作是线程.当任务比较多的时候,增加工人可以提高效率,同时成本就是支付费用(机器资源,内存)也会增加. p ...

  10. 随机森林学习-2-sklearn

    # -*- coding: utf-8 -*- """ RandomForestClassifier skleran的9个模型在3份数据上的使用. 1. 知识点: skl ...