题意: 一条路上有 $n$ 个地雷,YYF 从位置 $1$ 出发,走一步的概率为 $p$,走两步的概率是 $(1-p)$.求 YYF 能顺利通过这条路的概率. 数据范围: $1\leq n \leq 10$,$0.25\leq p\leq 0.75$,输入的 $n$ 个位置的范围:$[1,1e8]$ 分析: 从前往后推,状态转移方程:$dp[i]=dp[i-1]*p+dp[i-2]*(1-p)$,其中 $dp[1]=1$,有地雷的位置 $dp[i]=0$.如果直接算,必然超时,可以用矩阵快速幂分…
题意:一条路上有n个地雷,给出地雷的位置.某人从起点(位置1)出发,走一步的概率是p,走两步的概率是(1-p),然后问有多少概率走过这个雷区. 思路: 只要走过最后一个地雷就代表走过雷区了. 而每到 i 这个地方,无非是前一步和前两步走过来的.那么公式就是dp[ i ]= p*dp[ i-1 ]+dp[ i-2]*(1-p) 这是连续没有地雷的区域的走法.那么有地雷呢? 把有红圈的表示地雷.那么像图上进行分段,将上一段不踩雷的概率就可以当做下一段的开始的概率. 则 dp[ a[i] +1] =…
题意: 一条路上有n个地雷,你从1开始走,单位时间内有p的概率走一步,1-p的概率走两步,问安全通过这条路的概率 解析: 很容易想到 dp[i] = p * dp[i-1] + (1 - p) * dp[i]; 然而...t,但这个式子明显可以用矩阵快速幂加个氮气一下加速一下... 把所有的点输入之后 sort一下,那么就能把这条路分成很多段 每一段以地雷为分界线 1 - x[0]  x[0]+1 - x[1]  x[1]+1 - x[2] ````````` 然后求出安全通过每一段的概率  …
Description YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy's base. After overcoming a series difficulties, YYF is now at the start of enemy's famous "mine road". This is a very long road, on which…
题目链接:https://cn.vjudge.net/contest/276241#problem/A 题目大意:首先输入n和p,n代表地雷的个数,p代表走一步的概率,1-p代表走两步的概率,然后问你这个人安全走出雷区的概率 具体思路:我们可以很容易的推出递式,dp[i] = dp[i-1]*p+dp[i-1]*(1-p).但是这样线性过去的话,肯定会超时,所以我们可以借助矩阵加速,假设输入的地雷个数是n个,sto[1],sto[2],sto[3]...我们把1-sto[1]看成一段,sto[1…
题目链接:BZOJ - 1009 题目分析 题目要求求出不包含给定字符串的长度为 n 的字符串的数量. 既然这样,应该就是 KMP + DP ,用 f[i][j] 表示长度为 i ,匹配到模式串第 j 位的字符串个数,然后转移就是可以从第 j 位加上一个字符转移到另一个位置. 然而..我并没有写过KMP + DP,我觉得还是写AC自动机+DP比较简单..于是,尽管只有一个模式串,我还是写了AC自动机+DP. 然后就是建出AC自动机,f[i][j] 表示长度为 i ,走到节点 j 的字符串的个数.…
课程内容 OpenBLAS项目介绍 矩阵乘法优化算法 一步步调优实现 以下为公开课完整视频,共64分钟: 以下为公开课内容的文字及 PPT 整理. 雷锋网的朋友们大家好,我是张先轶,今天主要介绍一下我们的开源矩阵计算库OpenBLAS以及矩阵乘法的优化. 首先,什么是BLAS? BLAS是 Basic Linear Algebra Subprograms (基本线性代数子程序)的首字母缩写,主要用来做基础的矩阵计算,或者是向量计算.它分为三级: BLAS 1级,主要做向量与向量间的dot或乘加运…
挺好的数位dp……先说一下我个人的做法:经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所有数的所有未包含最后一位的子串的和 s[i]:所有数的所有后缀子串的和 c[i]:所有数的所有后缀子串的个数 n[i]:所有数共有多少个他们的转移依次是(k为进制数)f[i]=f[i-1]*k+s[i-1]*ks[i]=s[i-1]*k*k+c[i-1]*k*(k-1)/2+n[i-1]*k*(k-1)…
为了1A我居然写了个暴力对拍... 那个式子本质上是求nk个数里选j个数,且j%k==r的方案数. 所以把组合数的递推式写出来f[i][j]=f[i-1][j]+f[i-1][(j-1+k)%k]...我们知道求组合数实际上是可以矩阵乘法优化的,只是没必要,但是这个时候就用上了... 于是矩阵乘法优化,AC之~ #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #i…
形态形成场(矩阵乘法优化dp) 短信中将会涉及前\(k\)种大写字母,每个大写字母都有一个对应的替换式\(Si\),替换式中只会出现大写字母和数字,比如\(A→BB,B→CC0,C→123\),代表 \(A=12312301231230,B=1231230,C=123\).现在对于给定的替换式,求字符 A 所代表的串有多少子串满足: 这个子串为单个字符\(0\)或没有前导\(0\). 把这个子串看作一个十进制数后模\(n\)等于\(0\). 答案对\(r\)取模.对于100%的数据,$2 \le…