sdut2878 环形依赖的DP(高斯消元,剪枝后的模板
这题的状态是循环依赖的有环。。
之前一道概率DP,类似有环。。但是它是可以消掉的
比如dp[i]=0.3*dp[i+1]+0.2*dp[i+2]+0.5*dp[i];
完全可以变成,0.5*dp[i]=0.3*dp[i+1]+0.2*dp[i+2]
然后把系数除过去就好了,
然而这个题是,dp[i]=0.5*dp[i+1]+0.5*dp[i-1]+1;
这个+1是什么意思呢,dp[i]->要到i+1,i-1任意两个状态之一,一定要付出1步的代价!
想一想背包问题。。类似的,
然后你会发现dp[i]还没递归完。。dp[i-1]和dp[i+1]又跑回来找它了。。。这不可能DP得出来
所以这个题正确的消环方法是,高斯消元
高斯消元我还不太会写。。待我学习一波回来写一写!
(学了高斯消元回来补辣!
我博客里的模板正常用是会TLE的!
需要剪枝!
1 #include <iostream>
2 #include <cstdio>
3 #include <vector>
4 #include <cmath>
5 #include <cstring>
6 using namespace std;
7 const double EPS=1e-8;
8 int n,p;double A[1005][1005];
9 double x[1005];
10 int Gauss(){
11 for(int i=0;i<n;++i){
12 int pivot=i;
13 for(int j=i+1;j<n;++j)if(abs(A[j][i]>abs(A[pivot][i]))) pivot=j;
14 if(pivot!=i) for(int k=0;k<n;++k) swap(A[i][k],A[pivot][k]);
15 if(abs(A[i][i])<EPS) return 0;
16 for(int j=i+1;j<=n;++j) A[i][j]/=A[i][i];
17 for(int j=i+1;j<n;++j)
18 if(j!=i) {
19 if(abs(A[j][i])<EPS) continue;
20 for(int k=i+1;k<=n;++k) A[j][k]-=A[j][i]*A[i][k];
21 }
22 }
23 for(int i=0;i<n;++i) x[i]=A[i][n]; double ans;
24 for(int i=n-1;i>=0;--i){
25 ans=x[i];
26 for(int j=i+1;j<n;++j) ans-=A[i][j]*x[j];x[i]=ans;
27 }
28 return 1;
29 }
30 int main(){
31 int T;scanf("%d",&T);
32 while(T--){
33 scanf("%d%d",&n,&p);
34 //构造系数矩阵
35 memset(A,0,sizeof(A));
36 for(int i=0;i<n;++i){
37 if(i==p) {
38 A[i][i]=1;A[i][n]=0;
39 continue;
40 }
41 A[i][i]=1;A[i][(i-1+n)%n]=-0.5;
42 A[i][(i+1)%n]=-0.5;A[i][n]=1;
43 }
44 Gauss();
45 printf("%.4f\n",x[0]);
46 }
47 return 0;
48 }
14行和19行是剪枝的地方,不减的话这题最高1000^3还是会T的
sdut2878 环形依赖的DP(高斯消元,剪枝后的模板的更多相关文章
- BZOJ 3270: 博物馆 [概率DP 高斯消元]
http://www.lydsy.com/JudgeOnline/problem.php?id=3270 题意:一张无向图,一开始两人分别在$x$和$y$,每一分钟在点$i$不走的概率为$p[i]$, ...
- BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元
BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元 题意: 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机 ...
- BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元
BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元 题意: 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 3 ...
- LightOJ - 1151概率dp+高斯消元
概率dp+高斯消元 https://vjudge.net/problem/LightOJ-1151 题意:刚开始在1,要走到100,每次走的距离1-6,超过100重来,有一些点可能有传送点,可以传送到 ...
- 【BZOJ3640】JC的小苹果 概率DP+高斯消元
[BZOJ3640]JC的小苹果 Description 让我们继续JC和DZY的故事. “你是我的小丫小苹果,怎么爱你都不嫌多!” “点亮我生命的火,火火火火火!” 话说JC历经艰辛来到了城市B,但 ...
- 【bzoj1778】[Usaco2010 Hol]Dotp 驱逐猪猡 矩阵乘法+概率dp+高斯消元
题目描述 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44,850)条由两 ...
- BZOJ3270 博物館 概率DP 高斯消元
BZOJ3270 博物館 概率DP 高斯消元 @(XSY)[概率DP, 高斯消元] Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博 ...
- 【概率DP/高斯消元】BZOJ 2337:[HNOI2011]XOR和路径
2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 682 Solved: 384[Submit][Stat ...
- 2014多校第一场J题 || HDU 4870 Rating(DP || 高斯消元)
题目链接 题意 :小女孩注册了两个比赛的帐号,初始分值都为0,每做一次比赛如果排名在前两百名,rating涨50,否则降100,告诉你她每次比赛在前两百名的概率p,如果她每次做题都用两个账号中分数低的 ...
随机推荐
- 阿里云镜像仓库镜像迁移至私有Harbor
下载镜像同步工具 wget https://goodrain-delivery.oss-cn-hangzhou.aliyuncs.com/boe/image-syncer && chm ...
- MySQL调优之查询优化
一.查询慢的原因 1.网络 (1)网络丢包,重传 这个比较容易理解.当SQL 从客户端发送到数据库,执行完毕,数据库将结果返回给客户端,这个将数据返回给客户端的过程本质是网络包传输.因为链路的不稳定性 ...
- missing required library sqlite.dll最终解决办法
missing required library sqlite.dll最终解决办法 昨天电脑还是好的,今天早晨打开navicat连接Mysql无缘无故报错"missing required ...
- 【LinuxShell】命令行常用快捷键
Ctrl + A :光标跳到一行命令的开头.一般来说,Home 键有相同的效果: Ctrl + E :光标跳到一行命令的结尾.一般来说,End 键有相同的效果:. Ctrl + U :删除所有在光标左 ...
- 消息中间件——rocketmq环境配置
产生原因 RocketMQ概述 RocketMQ 是一款分布式.队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级 ...
- 十一:SpringBoot-事务管理
SpringBoot-事务管理 1.事务管理简介 1.1 特性:ACID 1.2 隔离问题 1.3 隔离级别 2.Spring事务管理 2.1 顶级接口 2.2 事务状态 2.3 事务定义 1.事务管 ...
- (一)Spring-Boot-操作-Redis
Spring-Boot-操作-Redis 1.Spring Data Redis 1.1 引入依赖 1.2 配置 Redis 信息 1.3 使用 2.Spring Cache 2.1 引入依赖 2.2 ...
- 使用ganglia 实现监控 hadoop 和 hbase(详细过程总结)
一,环境准备 hadoop 2.8.2 分布式环境(三个节点 安装请参考 hadoop分布式环境安装) hbase 1.2.6 分布式环境(三个节点 ,安装参考hbase分布式环境安装 ) 主节点采 ...
- CCF-交通规划-dijkstra+贪心
交通规划 问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统. 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成 ...
- 【洛谷 p3373】模板-线段树 2(数据结构--线段树)
题意:已知一个数列,你需要进行下面三种操作:1.将某区间每一个数加上x:2.将某区间每一个数乘上x:3.求出某区间每一个数的和. 解法:(唉 :-(,这题卡住我了......)对于加法和乘法的混合操作 ...