题意

众所周知,有一个神秘的组织——战忽局,在暗中保护着我们。在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽悠人。如今某外星间谍已经获得了战忽局曾经参与的n次事件的资料,局座发现了这件事,于是决定再次用忽悠来保证战忽局的安全。局座将发表m次演讲,每一天他都会从n事件中等概率地挑选一件混淆众人,由于局座每天很忙,不能把之前将的事件都记录下来,因此他可能会重复选择某一件事。现在局座想知道,m次演讲过后,期望能使多少事件混淆众人。
T<=1000,n,m<=10^18

分析

设f[i]表示i次演讲后期望时间。
通过推式子不难得到f[i]=f[i-1]*(n-1)/n+1。
直接矩阵乘法优化即可。
由于精度问题要用__float128.

代码

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;typedef long long LL;struct Matrix{__float128 a[3][3];}a;void mul(Matrix &c,Matrix a,Matrix b)
{for (int i=1;i<=2;i++)for (int j=1;j<=2;j++)c.a[i][j]=0;for (int i=1;i<=2;i++)for (int k=1;k<=2;k++)for (int j=1;j<=2;j++)c.a[i][j]+=a.a[i][k]*b.a[k][j];
}Matrix ksm(Matrix x,LL y)
{Matrix ans=x;y--;while (y){if (y&1) mul(ans,ans,x);mul(x,x,x);y>>=1;}return ans;
}int main()
{int T;scanf("%d",&T);while (T--){LL n,m;scanf("%lld%lld",&n,&m);a.a[1][1]=a.a[1][2]=1.0;a.a[2][1]=0;a.a[2][2]=(__float128)1.0*(n-1)/n;a=ksm(a,m);printf("%.7lf\n",(double)a.a[1][2]);}return 0;
}

51nod 1836 战忽局的手段 矩阵乘法相关推荐

  1. 51nod 1836战忽局的手段(期望+矩阵快速幂)

    战忽局的手段 n n n个事件, m m m次演讲 定义 d p [ i ] dp[i] dp[i]为 i i i次演讲的期望次数 d p [ 1 ] = 1 dp[1]=1 dp[1]=1 d p ...

  2. 51nod 1836 战忽局的手段(期望+矩阵快速幂)

    众所周知,有一个神秘的组织--战忽局,在暗中保护着我们.在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽悠人.如今某外星间谍已经获得了战忽局曾经参与的n次事件的资料,局座发现了这件事, ...

  3. 51nod 1836 战忽局的手段 (期望)

    Description 众所周知,有一个神秘的组织--战忽局,在暗中保护着我们.在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽悠人.如今某外星间谍已经获得了战忽局曾经参与的n次事件的 ...

  4. 51nod 1836:战忽局的手段(期望)

    题目链接 公式比较好推 精度好难搞啊@_@ 下面记笔记@_@ ****在CodeBlocks中,输出double型变量要使用%f (参见http://bbs.csdn.net/topics/39193 ...

  5. 51nod 1836 战忽局的手段

    设 f(m) 表示m次演讲后忽悠的期望,那么很容易得出: f(m)=f(m-1)+1*(n-f(m-1))/n 整理得到 f(m)-n=(n-1)/n*(f(m-1)-n) 公式有了,然后就是卡精度问 ...

  6. 51nod 1836:战忽局的手段

    51nod 1836:战忽局的手段 题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1836 矩阵快速幂 从题目 ...

  7. 51nod算法马拉松20 C、战忽局的手段

    战忽局的手段 基准时间限制:2 秒 空间限制:262144 KB 分值: 80 众所周知,有一个神秘的组织--战忽局,在暗中保护着我们.在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽 ...

  8. 【51Nod1836】战忽局的手段

    众所周知,有一个神秘的组织--战忽局,在暗中保护着我们.在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽悠人.如今某外星间谍已经获得了战忽局曾经参与的n次事件的资料,局座发现了这件事, ...

  9. 战忽局总局影部部长赞了乡村振兴战略下传统村落文化旅游设计,来自许少辉博士的视频消息中心 ​​​

    战忽局总局影部部长赞了乡村振兴战略下传统村落文化旅游设计,来自许少辉博士的视频消息中心 ​​​

最新文章

  1. Java位运算在程序设计中的使用:位掩码(BitMask)
  2. 重庆python就业工资待遇-重庆Python人工智能编程
  3. 初步了解学习将传统单机应用改造成Dubbo服务的过程
  4. potplayer 多个进程_创建守护进程的步骤
  5. IT创业公司如何选型,以避免未来出现的版权之争?
  6. mysql in 通配符_mysql必知必会--用通配符进行过滤
  7. 大数据Hadoop集群中常用的任务调度框架
  8. 二位四进制计数器_金三银四还在看JVM这一块?看完这篇万字JVM面试解析就够了...
  9. 项目管理: 软件质量的可靠保证
  10. 一文看懂:销售数据分析怎么做?
  11. 如何设置迪文DGUS屏的字体效果?
  12. Emoji表情代码大全
  13. java class查看器_java class文件查看工具
  14. 七、项目沟通管理(输入/工具与技术/输出)
  15. CSS 框架 Bulma 教程
  16. 行列式的组合定义及其应用--反对称阵的Pfaffian
  17. 圆角半角数据库_SQL SERVER 全角和半角的解决方法
  18. 移动开发必知必会的六大数据统计平台(入门篇)
  19. 南京工资个税计算机,南京个税计算器_南京税后月薪|工资计算器_南京个人所得税查询 - Tax518...
  20. 拖拽删除元素、拖拽排序、拖拽预览图片和拖拽移动元素

热门文章

  1. 特别提醒蓝牙语音智能药盒的设计思路(二)TTS技术应用篇,附手机小程序界面
  2. 开放式耳机哪个品牌音质好?四款音质好的开放式耳机推荐
  3. php如何让字符串变运算公式,MySQL_使用java处理字符串公式运算的方法,  在改进一个关于合同的项 - phpStudy...
  4. 计算机用户删除了进不去,我把电脑用户名删了,现在进不去系统了,怎么处理?如题 谢谢了...
  5. 支付宝当面付 F2FPay_Demo_Java详细解析
  6. 调制速率和数据信号速率
  7. Python实现微信自动回复信息的功能(根据不同信息回复对应的信息),手把手搭建加代码分析
  8. Oracle批量数据处理
  9. 首选项配置+Eslint+prettier+Vetur
  10. matlab szj,matlab求微分方程的解实验报告4.doc