2017.5.7 换教室 思考记录

  这个题细节太多了,重点是当初做时第一遍蒙蔽  第二遍看题解看傻了、所以再写还是有问题

    1、一遍一定尽量把代码打对、

    2、循环变量名、、

    3、时刻保持紧张、


  期望dp:概率*权值,利用可加性,无后效性(每个事件的概率不变),直接o(n)推出、


#include<iostream>
#include<cstdio>
using namespace std;
#include<cstring>
#define N 2005
int n,m,v,e,i,j,k,x,y,a[2005],b[2005],f[305][305],z;
double gailv[2005],g[2005][2005][2];

int main()
{
	scanf("%d%d%d%d",&n,&m,&v,&e);
	for(i=1;i<=n;i++)scanf("%d",&a[i]);		
	for(j=1;j<=n;j++)scanf("%d",&b[j]);
	for(i=1;i<=n;i++)scanf("%lf",&gailv[i]);
	memset(f,60,sizeof(f));
	for(i=1;i<=v;i++)f[i][i]=0;
	for(i=1;i<=e;i++)
	{
		scanf("%d%d%d",&x,&y,&z);
	f[x][y]=f[y][x]=min(f[x][y],z);
	}
	
	for(k=1;k<=v;k++)
	for(i=1;i<=v;i++)
	for(j=1;j<=v;j++)
	 f[i][j]=min(f[i][j],f[i][k]+f[k][j]);

		memset(g,127,sizeof(g));
	
	g[1][0][0]=0;
	g[1][1][1]=0;
	
for(i=1;i<n;i++)
for(j=0;j<=min(i,m);j++)
{
	
	if(g[i][j][0]<1e20)
	{//cout<<"p"<<endl;
		
		g[i+1][j][0]=min(g[i+1][j][0],g[i][j][0]+f[a[i]][a[i+1]]);
	    if(j<m)g[i+1][j+1][1]=min(g[i+1][j+1][1],g[i][j][0]+f[a[i]][b[i+1]]*gailv[i+1]+(1-gailv[i+1])*f[a[i]][a[i+1]]);
	     
	}
	if(g[i][j][1]<1e20)
	{
	    g[i+1][j][0]=min(g[i+1][j][0],g[i][j][1]+gailv[i]*f[b[i]][a[i+1]]+(1-gailv[i])*f[a[i]][a[i+1]]);
	    if(j<m)g[i+1][j+1][1]=min(g[i+1][j+1][1],g[i][j][1]+gailv[i]*gailv[i+1]*f[b[i]][b[i+1]]+(1-gailv[i])*gailv[i+1]*f[a[i]][b[i+1]]+gailv[i]*(1-gailv[i+1])*f[b[i]][a[i+1]]+(1-gailv[i])*(1-gailv[i+1])*f[a[i]][a[i+1]]);
	}	
}


	double ans=1e20;
	for(int i=m;i>=0;--i)ans=min(ans,min(g[n][i][0],g[n][i][1]));
	printf("%.2f\n",ans);
	
	
}

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值