http://www.bnuoj.com/bnuoj/problem_show.php?pid=16493

【题解】:矩阵快速幂

【code】:

 #include <cstdlib>
#include <cstring>
#include <cstdio>
#include <iostream>
using namespace std; int N;
struct matrix
{
double a[][];
}origin,res; matrix multiply(matrix x,matrix y)
{
matrix temp;
for(int i=;i<=N;i++)
{
for(int j=;j<=N;j++)
{
double ans=;
for(int k=;k<=N;k++)
{
ans+=x.a[i][k]*y.a[k][j];
}
temp.a[i][j]=ans;
}
} return temp;
} matrix calc(int n)
{
while(n)
{
if(n%==)
res=multiply(origin,res);
origin=multiply(origin,origin);
n/=;
}
return res;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
N=n;
double x[];
int i,j;
for(i=;i<=n;i++)
{
scanf("%lf",&x[i]);
}
memset(origin.a,,sizeof(origin.a));
for(i=;i<=n;i++)
{
int k;
scanf("%d",&k);
if(k==) origin.a[i][i]=1.0;
for(j=;j<=k;j++)
{
int p;
scanf("%d",&p);
origin.a[p][i]=1.0/k;
}
}
memset(res.a,,sizeof(res.a));
for(i=;i<=n;i++)
{
res.a[i][i]=;
}
int m;
scanf("%d",&m);
calc(m);
for(i=;i<=n;i++)
{
double ans=;
for(j=;j<=n;j++)
{
ans+=res.a[i][j]*x[j];
}
if(i==)
{
printf("%.2lf",ans);
}
else
{
printf(" %.2lf",ans);
}
}
putchar(); }
return ;
}

bnuoj 16493 Just Pour the Water(矩阵快速幂)的更多相关文章

  1. zoj 2974 Just Pour the Water矩阵快速幂

    Just Pour the Water Time Limit: 2 Seconds      Memory Limit: 65536 KB Shirly is a very clever girl. ...

  2. ACM-ICPC 2018 焦作赛区网络预赛 L:Poor God Water(矩阵快速幂)

    God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells him t ...

  3. zoj 2974 Just Pour the Water (矩阵快速幂,简单)

    题目 对于案例的解释请见下图: 这道要变动提取一下矩阵,之后就简单了 具体解释可看代码: #include <string.h> #include <stdio.h> #inc ...

  4. ZOJ 2794 Just Pour the Water 【矩阵快速幂】

    给你n个杯子,每次有特定的到水规则,倒m次请问最后每个被子里还有多少水 我们很容易发现每次变化的规则相同,那么可以set 一个矩阵存放 然后多次倒水就相当于矩阵相乘,在m 范围达到(1<= M  ...

  5. bnuoj 34985 Elegant String DP+矩阵快速幂

    题目链接:http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=34985 We define a kind of strings as elegant s ...

  6. ACM-ICPC 2018 焦作赛区网络预赛- L:Poor God Water(BM模板/矩阵快速幂)

    God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells him t ...

  7. 焦作网络赛L-Poor God Water【矩阵快速幂】

    God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells him t ...

  8. dutacm.club Water Problem(矩阵快速幂)

    Water Problem Time Limit:3000/1000 MS (Java/Others)   Memory Limit:163840/131072 KB (Java/Others)Tot ...

  9. ACM-ICPC 2018 焦作赛区网络预赛 L Poor God Water(矩阵快速幂,BM)

    https://nanti.jisuanke.com/t/31721 题意 有肉,鱼,巧克力三种食物,有几种禁忌,对于连续的三个食物:1.这三个食物不能都相同:2.若三种食物都有的情况,巧克力不能在中 ...

随机推荐

  1. SQL SERVER 中的行列转换小结

    1. 介绍说明 前段时间组内的小伙伴在升级维护项目中,经常涉及一些复杂的数据转换问题,让我去看下有些地方怎么处理,我发现好多都是涉及到行列转换的问题,处理起来经常会比较麻烦,借此也总结一下,方便以后的 ...

  2. WinForm打包后皮肤无效(解决方案)

    今天在项目中用到了SkinEngine,遇到了一点问题,总结出点心得: 问题: 为什么我们在开发中皮肤还是显示的,但是打包后就没有效果了? 我也遇到了同样的问题,一开始以为是路径的问题: 我不知道大家 ...

  3. asp.net渐变

    简介:第一个参数代表渐变的方向,后面的StartColorStr和End就不用解释了: filter: progid:DXImageTransform.Microsoft.Gradient(Gradi ...

  4. Android 动画学习笔记

    Android动画的两种:Frame帧动画.Tween动画(位移动画)[实现:存放目录res/anim] Tween动画:(位移.缩放.旋转):通过对场景里的对象不断做图像变换. 四种效果Alpha. ...

  5. MySQL之控制台修改密码

    进入控制台:use mysql Database changed update user set password=PASSWORD('设置的密码') where user='root'; flush ...

  6. Android之图片颜色调节

    package net.hnjdzy.imagecolor; import android.os.Bundle; import android.app.Activity; import android ...

  7. CAS Ticket SSO 登录流程图

  8. 爱莲(iLinkIT)的架构与原理

    随着移动互联网时代的到来,手机正在逐步替代其他的设备,手机是电话.手机是即时通讯,手机是相机,手机是导航仪,手机是钱包,手机是音乐播放器……. 除此之外,手机还是一个大大的U盘,曾几何时,我们用一根长 ...

  9. ubuntu 14.04 apt-get 方式安装oracle JDK

    之前已经写了 如何手动安装oracle 的JDK :http://www.cnblogs.com/bcsflilong/p/4196536.html 其实 还有可以简单方便的用apt-get 的方式安 ...

  10. css style与class之间的区别

    问题描述:    网页点击[导出]按钮后,将页面table内容另存成excel文件,却发现无法保存表格样式 分析过程: 1.table表格用class,而不是style.导出时并没有导出class定义 ...