当前位置: 首页 > news >正文

ZOJ 3329

方程很明显有

d[i]=sum(pk*d[i+k])+p0*d[0];

其中pi可以在开始时枚举求出。

设d[i]=A[i]*d[0]+B[i],

代入上式

d[i]=(sum(pk*A[i+k])+p0)+sum(pk*B[i+k])+1

可得

A[i]=sum(pk*A[i+k])+p0

B[i]=sum(pk*B[i+k])+1

这种设系数方法好像挺常用挺经典的。在HDU 的MAZE也有用这种方法的。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

double A[600],B[600];
double p[20];

int main(){
	int T;
	int n,k1,k2,k3,a,b,c;
	scanf("%d",&T);
	while(T--){
		scanf("%d%d%d%d%d%d%d",&n,&k1,&k2,&k3,&a,&b,&c);
		memset(p,0,sizeof(p));
		double p0=1.0/(k1*k2*k3);
		for(int i=1;i<=k1;i++){
			for(int j=1;j<=k2;j++){
				for(int k=1;k<=k3;k++)
				if(i==a&&j==b&&k==c)
				continue;
				else p[i+j+k]+=p0;
			}
		}
		memset(A,0,sizeof(A));
		memset(B,0,sizeof(B));
		for(int i=n;i>=0;i--){
			A[i]=p0;B[i]=1;
			for(int j=1;j<=k1+k2+k3;j++){
				A[i]+=p[j]*A[i+j];
				B[i]+=p[j]*B[i+j];
			}
		}
		printf("%.15lf\n",B[0]/(1-A[0]));
	}
	return 0;
}

  

转载于:https://www.cnblogs.com/jie-dcai/p/4107626.html

相关文章:

  • 避雷针 Lightning Conductor
  • 搭建Selenium-Grid环境
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Spring 之 第一个hellword
  • nodejs实现webservice问题总结
  • matlab2014在mac Yosemite下出现java空指针情况
  • DECLARE_MESSAGE_MAP 宏
  • Apache发布NetBeans 10.0,增强对JDK 11的支持
  • Shadow DOM 内部构造及如何构建独立组件
  • 打印二叉树某一层次的值(重点)
  • 单例模式中用volatile和synchronized来满足双重检查锁机制
  • getName和getSimpleName方法一般使用
  • 博客迁移:https://blog.llyweb.com
  • 20141102-微信.NET-笔记
  • Java知识体系梳理
  • Angular Elements 及其运作原理
  • css选择器
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript服务器推送技术之 WebSocket
  • js中的正则表达式入门
  • Meteor的表单提交:Form
  • MySQL-事务管理(基础)
  • Spring Cloud中负载均衡器概览
  • 初探 Vue 生命周期和钩子函数
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 双管齐下,VMware的容器新战略
  • 想写好前端,先练好内功
  • raise 与 raise ... from 的区别
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # 飞书APP集成平台-数字化落地
  • #pragma once
  • $.ajax,axios,fetch三种ajax请求的区别
  • (4) PIVOT 和 UPIVOT 的使用
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (排序详解之 堆排序)
  • (原)本想说脏话,奈何已放下
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)大型网站架构演变和知识体系
  • ***详解账号泄露:全球约1亿用户已泄露
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .apk文件,IIS不支持下载解决
  • .Net Core与存储过程(一)
  • .net MySql
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 表达式计算:Expression Evaluator
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 事件模型教程(二)
  • .net/c# memcached 获取所有缓存键(keys)
  • .net2005怎么读string形的xml,不是xml文件。
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @Autowired自动装配
  • @cacheable 是否缓存成功_Spring Cache缓存注解