CDOJ 1330 柱爷与远古法阵 概率DP,高斯消元,卡精度,极度恶心

CDOJ 点球大战(penalty) Penalty 算法:模拟 考点:字符串的处理 首先是要读入一整行可以使用getline(cin,str) 然后还要注意到:每组数据第一行为n 整数 ,cin>>n后若getline() 会读入换行符 所以在cin>>n 后需要先cin.get() 然后再 getline(cin,str); 然后注意到此题只能从后判断倒数的两个单词像是在串中查找”no good”子串的做法也不行这种做 阅读详情

众所周知,柱爷的数学非常好,尤其擅长概率论!

某日柱爷在喵蛤蛤村散步,无意间踏入了远古法阵!

法阵很奇怪,是一个长度为N

的走廊,初始时柱爷在最左边,现在柱爷要到最右边去!

柱爷的行动方式如下:

每个回合柱爷会投一次骰子,根据骰子上的点数

X,柱爷会相应的往右边移动X步.

骰子的数值是
1到6,取到每面的概率相同

在某些位置可能有传送门,一旦柱爷在该回合结束后在这个位置上,会被强制传送到传送门的另外一边

传送门是单向的,同时每个位置不会有超过1个传送门,同时不会存在a→b,b→c这种情况

在任意时刻柱爷都必须保证在法阵内,也就说如果在这一回合结束后柱爷的位置在法阵外,那么这回合柱爷将什么都不做

那么请问柱爷到达最右边的期望回合数是多少呢?或者是永远都无法到达?
Input

第一行两个整数N
,M

,分别表示法阵的长度和传送门的数量

接下来M
行,每行两个整数u,v,表示从u到v

有一扇传送门

数据保证:

1≤N≤300

0≤M≤[N−22]

1

//CDOJ 1330 Guass消元
#include <bits/stdc++.h>
using namespace std;
const int maxn = 305;
#define eps 1e-14
int n, m, dp[maxn];
long double a[maxn][maxn];

int main()
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= m; i++){
        int x, y;
        scanf("%d%d", &x, &y);
        dp[x] = y; //传送门
    }
    //构造增广矩阵
    a[n][n] = 1.0; a[n][n+1] = 0;
    for(int i = 1; i < n; i++){
        a[i][i] = 6.0;
        if(dp[i]) a[i][dp[i]] = -6.0;
        else{
            a[i][n+1] = 6.0;
            for(int j = 1; j <= 6; j++){
                if(i+j > n) a[i][i] -= 1.0;
                else a[i][i+j] -= 1.0;
            }
        }
    }
    //Guass
    for(int i = 1; i <= n; i++){
        int p = i;
        for(int j = i + 1; j <= n; j++){
            if(fabs(a[j][i]) > eps) p = j;
        }
        if(fabs(a[p][i]) > eps){
            for(int j = i; j <= n + 1; j++) swap(a[i][j], a[p][j]);
            for(int j = i + 1; j <= n; j++){
                if(fabs(a[j][i]) > eps){
                    long double k = a[j][i] / a[i][i];
                    for(int t = i; t <= n + 1; t++) a[j][t] -= a[i][t] * k;
                }
            }
        }
    }
    //回带 第i个未知数的值就是a[i][n+1]
    for(int i = n; i >= 1; i--){
        for(int j = i + 1; j <= n; j++){
            if(fabs(a[i][j]) > eps){
                a[i][n+1] -= a[j][n+1]*a[i][j];
            }
        }
        if(abs(a[i][i]) <= eps && abs(a[i][n+1]) > eps){
            puts("-1");
            return 0;
        }
        a[i][n+1] /= a[i][i];
    }
    printf("%.12f\n", (double)a[1][n+1]);
    return 0;
}
期望与概率DP专题/高斯消元 高斯消元 总结:概率和期望问题的求解都要依靠递推式,概率问题按照递推式进行dp,期望问题根据递推式化简的难易程度通过化简再dp或高斯消元求解,该类问题大部分仍属于各个类型的dp求解问题 2018.9.3-概率与期望dp学习 Discovering Gold 一排1到n的格子,每个格子上有黄金 ai ,你最开始在 1 号,每一次投骰子决定到哪一个格子,超出1~n范围则重新投掷,你到了哪个格子... 阅读详情

相关推荐

忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

忍者安全渗透系统(NINJITSU)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

1万+

CDOJ的使用

先贴网站:CDOJ 咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正IE打不开。        oj就是online judge,在线评测网站,就是它上面有题,然后你在本地写好程序后,把代码提交上去(复制粘贴就可以),所以理论上你也可以直接在oj的网页上写代码,但是,那个基本就是一个文本编辑器,所以一般不会这样做。        我个人觉得使用oj有以下几点好处:

一蓑烟雨任平生 1749

从PWM到精准电流:双光耦与LM317构建的4-20mA隔离输出方案

本文详细介绍了基于双光耦与LM317的4-20mA隔离输出方案,适用于工业自动化中的PWM信号转换。该方案通过电气隔离和精准电流调节,显著提升抗干扰能力和信号传输精度,同时降低成本60%。文章还分享了电路设计、参数计算及调试经验,为工程师提供实用参考。

weixin_32006655的博客 283

CDOJ 构建指南

/上次构建gdoj就给失败了 主要是对于java根本不懂,又感觉这个oj采用了各种先进的技术,anularjs 啊。。markdown 搞得我云里雾里的 之后这次用了ubuntu linux 13.10 apt-get install openjdk-7 apt-get install mysql-server apt-get install mysql-client gradle 

u011661934的专栏 628

Zemax序列模式下激光二极管(LD)光源建模与像散校正实战

本文详细讲解了在Zemax序列模式下精确建立激光二极管(LD)光源模型并校正其像散的核心方法。通过将椭圆光束的发散角转换为渐晕系数,并巧妙利用理想柱面镜模拟像散,实现了对LD光源特性的高精度模拟。该方法特别适用于激光耦合、激光雷达等需要对像散光束进行精密控制的光学系统设计。

weixin_28455801的博客 438

ZYNQ-Video out IP与Video Timing Controller IP协同工作模式解析

本文深入解析了ZYNQ平台上Video out IP与Video Timing Controller IP的协同工作模式,详细介绍了它们的架构、工作原理及配置要点。通过AXI4-Stream接口实现高效视频数据传输,并结合HDMI输出系统设计实践,为开发者提供了实用的调试技巧和性能优化建议。

redis7keeper的博客 637

最短路 Dijkstra算法(CDOJ 最短路)

PS:附上CDOJ最短路的另外一发代码:http://www.acm.uestc.edu.cn/#/problem/show/30#include <iostream> #include <sstream> #include <iomanip> #include <vector> #include <deque> #include <list> #include <set> #include <ma

Accepted丶 767

golang 线上事故

golang 线上事故 最近公司要做大促的一些活动。并且单量,qps持续上涨。之前使用的是django python 语言做的一个服务端。目前已经部署的国家里面最多的国家会有300+个实例。大促期间还可能会增加一个实例数。这么多的实例部署,回滚的时间都会特变长,除了问题也不好定位。并且如此多的一个机器,连接数* 实例数也会导致DB等其他服务扛不住这么大的并发。所以决定上go服务解决性能问题。 ...

lcf枫的博客 1537

CDOJ:渐变字符串

渐变字符串 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Status 如果一个字符串,它每个字母(第一个除外)为前一个字母的后一位,则这样的字符串被称为“渐变字符串”。如:"abcde", "...

weixin_34292287的博客 265

第二章:创建交互式地图

那么您应该已经有了一个安装了这些包的 conda 环境。否则,您需要创建一个新的 conda 环境并使用以下命令安装。

韩天放 4219

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

ACM 各大OJ平台以及题目分类

Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 程序:   一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转

偏执 1万+

YOLOv8改进 | 融合篇,YOLOv8主干改进融合网络之MobileNetV3+CA注意机制,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。YOLOv8中的主干网络替换成MobileNetV3+引入CA注意机制

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1882

高斯消元入门⑥-配合求解概率/期望dp-HDU4870

前言: 对于期望dp/概率dp,我们有状态以及状态转移方程.我们将所有的状态看成未知数,状态转移方程看成线性方程。那么就得到了一个线性方程组. 适用情形: 状态转移有后效性时 优化点: 大多数情况下它会是一个稀疏矩阵(因为一个转移方程所牵涉到的状态比较少).所以在 消元的时候,遇到0元素就continue. 这个trick可以将复杂度从三次方优化到近似二次方.(前提是要是一个稀疏矩阵.) 题目一:HDU4780 题目大意: 你有两个数A,BA,BA,B。 每次你会选择min(A,B)min(A,B)min(

qq_35577488的博客 673

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

bzoj 3270: 博物馆

Time Limit:30 SecMemory Limit:128 MBSubmit:167Solved:94[Submit][Status][Discuss] Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博物馆。这座博物馆有着特别的样式。它包含由m条走廊连接的n间房间,并且满足可以从任何一间房间到任...

weixin_33779515的博客 224

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CDOJ1600-矩形切割 (2017 UESTC Training for Data Structures P)

传送门:CDOJ1600 题目大意: 在一个二维平面坐标系上给你n个矩形,求n个矩形并集的面积,矩形平行坐标轴 题目思路: 这题很好想到的是扫描线做,但是这题n只有100.所以可以用一种很简单的方法来做 矩形切割,即从最后一个往上找,如果与他有相交部分就递归的把矩形分成几部分 来求解没有相交的部分,是一种暴力的方法,复杂度是n*n 但是因为有递归部分,

Code-Dreamer的博客 659

CDOJ (UESTC OJ) 1380 Xiper的奇妙历险(3)

Xiper的奇妙历险(3) Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  Status 打败了日天,XiperXiper好不容易从火中逃了出来。在豪宅外守候的潘警官发现了身受重伤的XiperXiper,连忙把XiperXi

J. Cole 677

CDOJ(UESTC) 251 导弹拦截(最长递增子序列nlogn算法+路径打印)

导弹拦截 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都要高于前一发的高度。某天,雷达捕捉到敌国的

持之以恒 1336

CDOJ 1292 卿学姐种花 暴力 分块 线段树

卿学姐种花 题目连接: http://acm.uestc.edu.cn/#/problem/show/1292 Description 众所周知,在喵哈哈村,有一个温柔善良的卿学姐。 卿学姐喜欢和她一样美丽的花。所以卿学姐家的后院有很多的花坛。 卿学姐有\(n\)个花坛,一开始第\(i\)个花坛里有\(A[i]\)朵花。每过一段时间,卿学姐都会在花坛里种上新的花。 作为一个聪明的学姐,卿学姐的种花...

weixin_34289744的博客 189

cdoj 母仪天下(线段树)

#include #include const int NN=100005; int rom[NN]={0}; int sum; //建立节点 typedef struct node { int left,right,data; node *l_child,*r_child; node () { left=right=data=0; } }

Step by step 1058

CDOJ 数据结构训练 E

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long #define PI 3.1415926

Commence,的艰苦历程 490

CDOJ 每周一题(div2)backlight(前缀和)

backlight 传送门 首先我们考虑什么情况下可以避免“焦虑度”的产生,这一点很容易就能想到,只要当选取的那几个人都是朝着一个方向的且一列人从背后方向到朝向的方向依次蹲下便可以避免”焦虑度“。 与此相反,面对的人无论如何都肯定会产生”焦虑度“,那么我们只需要统计面对的对数便可得到答案。 #include&lt;cstdio&gt; #include&lt;iomanip&gt;...

喵喵喵? 370

CDOJ 1002 解救小Q

#include #include #include #define ROW_MAX_SIZE 50 #define COL_MAX_SIZE 50 #define QUEUE_MAX_SIZE ROW_MAX_SIZE*COL_MAX_SIZE char maze[ROW_MAX_SIZE][COL_MAX_SIZE]; //迷宫数组 int cost[ROW_MAX_SIZE][

Challenge_C_PlusPlus的专栏 3088

【cdoj 1330】柱爷与远古法阵 高斯消元

毕竟是本人的第一次写高斯消元,所以你会发现代码与题解神似,至于为什么,无可奉告 其实思想蛮简单,主要来谈谈代码 #include #include #include #include #define maxn 305 #define esp (1e-14) using namespace std; int n,m,f[maxn]; long double a[maxn][maxn];/

pbihao的博客 765

概率dp && 高斯消元 专题训练

寒假真是极度荒废的,想补一补自己的概率方面的知识,感觉也没很好的补,只是把概率dp和高斯消元的一些东西搞懂了,难的也不会做。 什么期望的线性递推啊,概率公式,高深的基本都没学 lightoj 1027 这是以前碰到的老概率题了,当年压根不会,现在会了 有n个门让你选,每个门有一个数字,正数代表x分钟后出去,负数代表x分钟后回到起点重新开始 然后问你出去的时间期望是多少分钟 这题

Miracle_ma的专栏 1397

Light OJ 1151 (概率DP、高斯消元)

题目链接:https://vjudge.net/problem/LightOJ-1151 思路:     因为这不是个DAG,所以记忆化会出现环。这种情况就要用高斯消元了。 #include #include #include #include #include #include #include #include #define fin freopen("a.txt","r

Interstellar_的博客 760
上一篇: Codeforces Round #286 (Div. 1) D. Mr. Kitayuta's Colorful Graph 高维并查集,STL连招
下一篇: HDU 5833 Zhu and 772002 高斯消元解异或方程组,求自由元个数,bitset压位
just_sort
博客等级 码龄11年 2357粉丝 1667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值