正题

题目连接:http://www.51nod.com/Challenge/Problem.html#problemId=1836


题目大意

nnn个点mmm次随机选择一个点标记(可以重复),求最后被标记点的期望个数。

1≤n,m≤10181\leq n,m\leq 10^{18}1≤n,m≤1018


解题思路

额开始拿方案数推了半天后面发现要斯特林数就放弃了,然后换了种方法发现很简单?

设iii轮之后被标记点的期望个数是fif_ifi​,那么有
fi=fi−1+n−fi−1nf_i=f_{i-1}+\frac{n-f_{i-1}}{n}fi​=fi−1​+nn−fi−1​​
fi=fi−1n−1n+1f_i=f_{i-1}\frac{n-1}{n}+1fi​=fi−1​nn−1​+1
然后矩阵乘法就好了。

有一说一我第一次用期望值来算概率(((

时间复杂度O(Tlog⁡n)O(T\log n)O(Tlogn)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int S=2;
struct Matrix{__float128 a[S][S];
}f,ans,c;
long long T,n,m;
Matrix operator*(const Matrix &a,const Matrix &b){c.a[0][0]=c.a[0][1]=c.a[1][0]=c.a[1][1]=0;for(int i=0;i<S;i++)for(int j=0;j<S;j++)for(int k=0;k<S;k++)c.a[i][j]+=a.a[i][k]*b.a[k][j];return c;
}
int main()
{scanf("%lld",&T);while(T--){scanf("%lld%lld",&n,&m);f.a[1][1]=(__float128)(n-1)/n;f.a[0][1]=f.a[0][0]=1;f.a[1][0]=0;ans.a[0][0]=1;ans.a[0][1]=0;while(m){if(m&1)ans=ans*f;f=f*f;m>>=1;}printf("%.12lf\n",(double)ans.a[0][1]);}return 0;
}

51nod1836-战忽局的手段【期望dp,矩阵乘法】相关推荐

  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:战忽局的手段

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

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

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

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

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

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

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

  7. 51nod 1836 战忽局的手段 矩阵乘法

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

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

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

  9. 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) 公式有了,然后就是卡精度问 ...

最新文章

  1. 关于VS2012如何安装Windows Phone Toolkit
  2. spring中@Transaction注解解析
  3. 【C 语言】指针数据类型 ( 野指针 | 避免野指针推荐方案 )
  4. 欧拉工程第57题:Square root convergents
  5. 数据类型的sizeof
  6. 空壳公司骗贷的常见手段及风控措施
  7. hdu 4267 多维树状数组
  8. php中图片怎么加样式,html5实现各种图片样式实例用法汇总
  9. FISCO BCOS Solidity 智能合约 返回数组
  10. python软件源码下载_【图片】分享一段功能非常简陋的python代码实现下载free种【pt吧】_百度贴吧...
  11. 小白如何打造一个基础的留言板网站(一)
  12. 百度信息流 绑定服务器,百度信息流账户怎么搭建?百度信息流账户搭建教程...
  13. linux服务器挂载ntfs u盘,如何在linux下挂载NTFS格式的U盘或硬盘。
  14. 大数据在城市规划领域的应用思考
  15. 01654报错: 索引无法通过8扩展
  16. python异常处理的作用_Python 中的异常处理方式
  17. 无法启动计算机打印机服务程序,安装驱动程序时电脑弹出错误窗口“无法启动Windows打印后台程序服务” (适用于Windows OS)...
  18. GA6-BGSM/GPRS模块介绍
  19. MIT的《深度学习》精读(1)
  20. 第四周-长方形周长和面积

热门文章

  1. 华为交换机不同网段互访_华为S5700系列交换机使用高级ACL限制不同网段的用户互访...
  2. java并行流 阻塞主线程_多线程入门案例与java8的并行流
  3. php父子遍历,php无限分类父子追溯方法
  4. 4位无符号比较器设计
  5. LeetCode100 相同的树-简单
  6. 最长公共子序列-dp
  7. [蓝桥杯2015初赛]生命之树-求树的最大子树权值和
  8. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)
  9. map的专项知识点总结
  10. 数据结构与算法--图论-深度优先搜索及其应用