暴力DP。

dp[x1][y1][x2][y2][t]表示,第一个人在(X1,Y1),第二个人在(X2,Y2),时间为t的时候获得的最大价值。

时间复杂度o(t*n*m*n*m*5*5).

什么都不优化跑了4600ms,差点超时,剪了点枝,2500ms跑过。

空间复杂度是可以优化的,dp[x1][y1][x2][y2][t]只与t-1时刻的有关,所以dp数组最后一维可以开成2,用滚动数组做。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std;int dp[11][11][11][11][205];
char s[11][11];
int val[11][11][205];
int n,m,p;
int dir[5][2];
int top;void init()
{top=0;dir[0][0]=0;dir[0][1]=0;dir[1][0]=0;dir[1][1]=1;dir[2][0]=0;dir[2][1]=-1;dir[3][0]=1;dir[3][1]=0;dir[4][0]=-1;dir[4][1]=0;memset(dp,-1,sizeof dp);memset(val,0,sizeof val);
}bool P(int a,int b)
{if(a>=0&&a<n&&b>=0&&b<m) return 1;return 0;
}void read()
{scanf("%d%d",&n,&m);for(int i=0;i<n;i++) scanf("%s",s[i]);scanf("%d",&p);for(int i=0;i<p;i++){int t,x,y,v;scanf("%d%d%d%d",&t,&x,&y,&v);x--;y--;val[x][y][t]=val[x][y][t]+v;top=max(top,t);}
}void work()
{int ans=0;dp[0][0][0][0][0]=0;for(int t=1;t<=top;t++){for(int x1=0;x1<n;x1++){for(int y1=0;y1<m;y1++){if(s[x1][y1]!='.') continue;for(int x2=0;x2<n;x2++){for(int y2=0;y2<m;y2++){if(s[x2][y2]!='.') continue;for(int d1=0;d1<5;d1++){int new_x1=x1+dir[d1][0];int new_y1=y1+dir[d1][1];if(P(new_x1,new_y1)==0) continue;if(s[new_x1][new_y1]!='.') continue;for(int d2=0;d2<5;d2++){int new_x2=x2+dir[d2][0];int new_y2=y2+dir[d2][1];if(P(new_x2,new_y2)==0) continue;if(s[new_x2][new_y2]!='.') continue;if(dp[new_x1][new_y1][new_x2][new_y2][t-1]==-1) continue;int sum=0;sum=dp[new_x1][new_y1][new_x2][new_y2][t-1];if(x1==x2&&y1==y2) sum=sum+val[x1][y1][t];else sum=sum+val[x1][y1][t]+val[x2][y2][t];dp[x1][y1][x2][y2][t]=max(dp[x1][y1][x2][y2][t],sum);ans=max(ans,dp[x1][y1][x2][y2][t]);}}}}}}}printf("%d\n",ans);
}int main()
{int T;scanf("%d",&T);while(T--){init();read();work();}return 0;
}

转载于:https://www.cnblogs.com/zufezzt/p/5242585.html

FZU 2092 收集水晶相关推荐

  1. 数据依赖症:当今AI领域的核心风险

    在最近结束的2017年度AI星际争霸竞赛上,Facebook做出了一款人工智能"CherryPi",参与到这项旨在让各路AI技术在星际争霸游戏中同场竞技的赛事之中. 但很遗憾的是, ...

  2. 阿里浅尝元宇宙成功了吗?

    图片来源:由无界版图AI创作工具生成. 作者 | 山竹 出品 | 锌产业 还记得去年9月,身处元宇宙热潮中的阿里申请的「阿里元宇宙」.「淘宝元宇宙」商标吗? 今年5月,这些元宇宙商标均被国家知识产权局 ...

  3. 《圣女之歌2:撒雷母天使》超强全攻略

    这部游戏是近期难得的RPG大作,较风雷之前的作品而言,迷宫部分有较大的长进,加入了自动绘图功能(<守护者之剑>系列的迷宫做得是较糟的).画面更为炫丽,魔法效果缤纷斗奇,战斗时满屏流光溢彩, ...

  4. Unity实现智能巡逻兵小游戏

    Unity实现智能巡逻兵小游戏 项目地址 演示视频 设计模式:对象的行为 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算 ...

  5. 第一次使用水晶报表,柱状图的横竖坐标不会定位,怎么办?

    从昨天开始收集了很多制作水晶报表的资料,想自学成材,数据都从来效果了,但是就是柱状图的横竖坐标不会定位,发篇博客,有路过的帮帮忙,谢谢了. 以下是cs代码,  1using System;  2usi ...

  6. 收集的一些好的网址[持续更新]

    http://blog.sina.com.cn/s/blog_517d1cb00100se0v.html  页面背景不错 http://note.sdo.com/  网络记事本 http://www. ...

  7. l380废墨收集垫已到使用寿命_能量收集,没有我们想象的那么新鲜

    翻译自--EEtimes,Bill Schweber 能量收集是种极具吸引力的能源方案,因为它为人们描绘了一个美好的蓝图,即取之不尽的"免费能源".这在某些应用中已经实现-- 收集 ...

  8. c#水晶报表的进一步功能和使用

    最近一直在学水晶报表,一些基础知识觉得学了不少,可是还是觉得水晶报表的核心还没有学会!可是是在自学的原因吧.没有人指导,只是自己埋着头自己学,什么地方学偏了也不知道. 有一点一直认为自己的认识有偏差, ...

  9. 水晶报表中对某一栏位值进行处理_终于有人讲清楚了,BI和报表的差异!

    IT系统自带报表功能,为什么还要额外采购BI? 报表和BI都能做数据分析,区别在哪里? 加班加点做了那么多表,为什么还不满足老板需求? 报表分析需要IT团队来开发,那BI呢? 这些应该是大家对商业智能 ...

最新文章

  1. python使用正则化检查字符串的起始和结束字符相同
  2. ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程
  3. WebClient 文件下载
  4. php 屏蔽ip段,php禁止ip段的方法
  5. python模拟登陆遇到重定向_python - scrapy模拟登陆知乎出现重定向无法登陆问题
  6. 基于MUI框架的使用HTML5+实现的二维码扫描功能
  7. python输出名字和字数_Python字数和排名
  8. Spring的Bean生命周期
  9. oBlog 4.0 正式版 2006-09-06
  10. php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...
  11. sql统计表个数以及表中字段个数
  12. 噩梦遇地震,醒后忆岁月
  13. 《基于GPU加速的计算机视觉编程》学习笔记
  14. oracle 11g rac 恢复,11G RAC 异机恢复至单实例测试
  15. KSO-sqlserver跨服务器查询方法
  16. (推荐)Swift入门级免费视频 - 只需学习8小时
  17. 服务器部署MySQL过程
  18. ubuntu命令行查看dns_linux命令,查看dns服务器的状态,查看dhcp服务器的状态
  19. Apache 502 Bad Gateway
  20. Qt编写的项目作品7-视频监控系统

热门文章

  1. goahead文件上传
  2. Keras复现VGG16及实现花卉分类
  3. python 地图可视化工具_【可视化】python地图可视化_Folium
  4. WordPress5.4 解决修改固定链接404问题
  5. 腾讯 AI Lab 2019 年度回顾
  6. mac安装anaconda教程
  7. 【JS】实现拖动div右侧改变,改变div宽度 /及拖动div的整理
  8. sql在线练习网站(http://sqlzoo.cn)答案解析
  9. 三、centos服务器docker selenium实现webui分布式自动化
  10. Win7添加Lookback接口