首先说一下题意在一长度为n的格子里放三种塔

第一种是 red 塔 在经过这个塔时有每秒 x 点的伤害

第二种是 green 塔 在这个塔之后的所有格子都会有一个每秒 y 点的伤害

第三种是 blue 塔 在这个塔之后的所有格子的时间都会增加 z 秒

经过格子有一个初始的时间。求伤害的最大值

贪心是不对的。。。应该用dp;

其中,红塔一定是放在最后的,所以可以枚举红塔的个数k;

dp【i】【j】代表有i个蓝塔,j个绿塔当前能取得的最大伤害,用dp【i】【j】来更新dp【i+1】【j】,dp【i】【j+1】;

最后的总伤害等于dp【i】【n-i-k】+k*x*(t+z*i)+(n-i-k)*k*y*(t+z*i)(i从0到n-k)的最大值。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<functional>
using namespace std;
typedef long long LL;
const int N=1505;
const int INF=0x3f3f3f3f;
LL n,x,y,z,t;LL dp[2000][2000];//dp[i][j] 代表 有i个冰塔j个毒塔
int main()
{int T;scanf("%d",&T);for(int cases=1;cases<=T;cases++){LL ans=0LL;scanf("%lld%lld%lld%lld%lld",&n,&x,&y,&z,&t);LL cnt=t;LL cny=0;LL maxx=0LL;memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){for(int j=0;j<n-i;j++){dp[i+1][j]=max(dp[i+1][j],dp[i][j]+j*(t+z*i)*y);dp[i][j+1]=max(dp[i][j+1],dp[i][j]+j*(t+z*i)*y);}}for(int k=1;k<=n;k++)  {for(int i=0;i<=n-k;i++){ans=max(ans,dp[i][n-i-k]+k*x*(t+z*i)+(n-i-k)*k*y*(t+z*i));}}printf("Case #%d: %I64d\n",cases,ans);}return 0;}

Hdu4939 Stupid Tower Defense相关推荐

  1. unity2D塔防游戏资源 Tower Defense 2D v1.3.1

    unity2D塔防游戏资源 Tower Defense 2D v1.3.1 包括: - 平铺地图编辑器窗口; - 级别编辑窗口; - 单位和塔编辑窗口; - 主菜单场景; - 级别选择场景; - 3个 ...

  2. hihocoder Tower Defense Game(树上贪心)

    题目大意 给定一颗以1为根节点的树,每个节点有一个购入价格p和卖出价格q. 进入一个节点时需要花费p,离开时可以收回q,每个节点只产生一次购入和卖出. 请你选择一个遍历的顺序,要求在遍历的过程中身上的 ...

  3. [**收藏**] Warcraft 小游戏 -- Tower Defense(1) -- Flash Element TD

    空格键显示血 转载于:https://www.cnblogs.com/temptation/archive/2007/05/31/766247.html

  4. 塔防游戏的路径寻找算法分析

    在塔防游戏中,有很多敌人都是向着同一目标前进的.在众多塔防游戏当中,有一条或几条预定好的路径.在一些塔防游戏中,比如经典的<Desktop Tower Defense>,你可以将塔放在地图 ...

  5. 2014_hangzhou_onsite

    4770 Lights Against Dudely 状态压缩+枚举 4771 Stealing Harry Potter's Precious 签到,压缩后直接BFS 4772 Zhuge Lian ...

  6. css flexbox模型_CSS Flexbox在全国范围内的公路旅行中得到了解释

    css flexbox模型 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) CSS Flexbox在全国范围内的公路旅行中得到了解释 (CSS Flexbox ...

  7. 如何制作一个塔防游戏 Cocos2d x 2 0 4

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本文实践 ...

  8. h5跨域访问图片_h5标签canvas关于getImageData跨域的问题

    h5标签canvas关于getImageData跨域的问题 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): ...

  9. 将3D坐标转成2D坐标的方法

    将3D坐标转成2D坐标的方法.3D坐标在Unity中称作World Space,2D坐标称作Screen Space, 是以pixel为基准,以iPad 1024 x 768(4:3)的解析度为例子: ...

  10. CS61A Proj 3

    更好的阅读体验 Project 3: Ants Vs. SomeBees ants.zip The bees are coming! Create a better soldier With inhe ...

最新文章

  1. 面向对象设计:共性VS个性-------继承的粒度和聚合的粒度以及类的重构
  2. python简易图形-python图形用户界面(四):教你实现一个简单实用的计时器
  3. 【AC Saber】双指针
  4. 图论 —— 生成树 —— 次小生成树
  5. ArcGIS API for JavaScript:Layer之间那点儿事
  6. ESXi日志分析网站第五版v5.4
  7. 关于vs重新生成出现“错误 CS0006: 未能找到元数据文件”.
  8. 正商职业学校预付费云平台系统 的设计与应用
  9. AutoJs学习-多点取色
  10. Vue2.0+组件库总结
  11. svn 文件夹没有绿勾红感叹号图标
  12. 扫除知识共享障碍,天翎知识文档管理系统+群晖NAS一体化解决方案
  13. php会议签到签退系统,会议签到管理系统,无障碍会议签到系统,一卡通会议签到系统,会议签到系统 - 新开普(NewCapec)...
  14. html 创建一个正方形,css 如何设置带有正方形项目的列表
  15. 人工智能的出现,赋予零售业6种应用新生命!
  16. 彩虹六号服务器维护3月19号,彩虹六号无法初始化battleye服务器咋办 | 手游网游页游攻略大全...
  17. vue使用sort实现json数据中字母排序
  18. 宇宙无敌第一帅的Java笔记
  19. 如何理解金融中的 “头寸”
  20. 三维重建面试3:旋转矩阵-病态矩阵、欧拉角-万向锁、四元数

热门文章

  1. Hello, CTF WP
  2. win7 系统盘 减肥
  3. FastReport Mono 2023.1 Crack
  4. springdata jpa in查询
  5. 高性能计算中的并行计算、分布式计算、网格计算和云计算之间的区别与联系
  6. 腾讯轻量云FREEBSD11.1安装panabit cloud
  7. CDH 6系列(CDH 6.0.0、CHD 6.1.0等)安装和使用
  8. OSChina 周一乱弹 —— 大学老教授说你媳妇在幼儿园
  9. ios string转dic_如何在Swift(iOS,Xcode)中将NSDictionary转换为Json String?
  10. 腾讯、华为角逐“云游戏”