/*
粘一下开始写的暴力吧 虽然没啥价值
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#define maxn 100010
using namespace std;
int n,type[maxn];
double k,c,w,v[maxn],ans;
void Dfs(int p,double t,double m)
{
if(p==n+)
{
ans=max(ans,m);
return;
}
if(type[p]==)Dfs(p+,t*(-double(k/100.0)),m+v[p]*t);
if(type[p]==)Dfs(p+,t*(+double(c/100.0)),m-v[p]*t);
Dfs(p+,t,m);
}
int main()
{
freopen("exploit.in","r",stdin);
freopen("exploit.out","w",stdout);
cin>>n>>k>>c>>w;
for(int i=;i<=n;i++)
cin>>type[i]>>v[i];
Dfs(,w,);
printf("%.2f\n",ans);
return ;
}
/*
似乎不是dp题 因为前面的决策影响后面的决策 具有后效性
然而他就是dp题 - -
正难则反 我们发现后面的决策对前面的没有影响
但是显然后面的用到前面的决策来确定钻头能力值
我们不先计算出前面的 无法确定后面的能力值
仔细看题目的话 我们会发现前面的对后面的影响只是乘一个数值
那么我们可以先不乘 反着跑 到了前面在乘
对于每一个i 有选或者不选两种情况
(1)资源型:如果选了 那么金钱数变大 能力值变小 对后面的影响就是能力值*k 然后+钱
我们假设每个i的能力值为1*w
有 f[i]=max(f[i+1],f[i+1]*k+v[i]*w);
(2)维修型:如果选了 那么金钱数变小 能力值变大 对后面的影响就是能力值*c 然后-钱
同上假设每个i的能力值为1*w
有 f[i]=max(f[i+1],f[i+1]*c-v[i]*w);
注意并不是得到的f[1]就是最优解 所以对所有的f取大
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#define maxn 100010
using namespace std;
int n,type[maxn];
double k,c,w,f[maxn],v[maxn],ans;
int main()
{
cin>>n>>k>>c>>w;
for(int i=;i<=n;i++)
cin>>type[i]>>v[i];
k=(-k)/100.0;c=(+c)/100.0;
for(int i=n;i>=;i--)
{
if(type[i]==)
f[i]=max(f[i+],f[i+]*k+v[i]*w);
if(type[i]==)
f[i]=max(f[i+],f[i+]*c-v[i]*w);
ans=max(ans,f[i]);
}
printf("%.2f\n",ans);
return ;
}

洛谷 P1412 经营与开发的更多相关文章

  1. 洛谷 P1412 经营与开发 解题报告

    P1412 经营与开发 题目描述 \(4X\)概念体系,是指在\(PC\)战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"\(EX\)"为开头的英语单词. \(eXplo ...

  2. 洛谷P1412 经营与开发题解

    题目链接QWQ这里就不阐述了: 题解部分: 从题面上来看,这是个dp(递推)的题目. 但是dp要满足无后效性,但这个题为了取最值,得考虑从当前开始一直持续到结束的p的影响. 这让我们怎么满足无后效性? ...

  3. 落谷 P1412 经营与开发

    题目链接 Solution 用传统的思想考虑正推,发现后面的答案依赖于当前的 \(p\),你不但要记录前 \(i\) 个还要记录 \(p\),显然空间爆炸. 类似 AcWing 300. 任务安排1, ...

  4. P1412 经营与开发

    题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXploit(经营与开发) ...

  5. luogu P1412 经营与开发 |dp

    题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"EX"为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXplo ...

  6. 数学【p1412】 经营与开发(秦九韶算法)

    顾z 你没有发现两个字里的blog都不一样嘛 qwq 题目描述-->P1412 经营与开发 分析 虽然看到\(Rank_1\)已经有了解释. 但我认为我能BB的更好 我还是决定来写一篇题解. q ...

  7. HUSTOJ:5500 && 洛谷:P1412:经营与开发

    题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词.eXplore(探索)eXpand(拓张与发展)eXploit(经营与开发)eXte ...

  8. 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解

    [洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...

  9. 洛谷P3959 [NOIP2017]宝藏

    [题目描述] 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋,也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度. 小明决心亲自前往挖掘所有宝藏屋中的宝藏.但 ...

随机推荐

  1. Log4j实现对Java日志的配置全攻略

    1. 配置文件 Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , ...

  2. android 9Path图片的使用

    Android UI设计时,经常会使用图片作为背景,比如给按钮设置背景图片时,图片会默认缩放来适应整个按钮.但是有时这种缩放效果并不是我们所需求的.而我们只是希望缩放图片的特定位置,以此来保证按钮的视 ...

  3. 理解javascript之 对象

    大纲: 1.介绍attribute property的异同,翻译自http://javascript.info/tutorial/attributes-and-custom-properties#pr ...

  4. JQuery Dialog(JS模态窗口,可拖拽的DIV) 效果实现代码

    效果图 调用示意图   交互示意图 如上图所示,这基本是JQueryDialog的完整逻辑流程了. 1.用户点击模态窗口的“提交”按钮时,调用JQueryDialog.Ok()函数,这个函数对应了用户 ...

  5. 省队集训day6 C

    Description 给定平面上的 N 个点, 其中有一些是红的, 其他是蓝的.现在让你找两条平行的直线, 使得在保证    不存在一个蓝色的点 被夹在两条平行线之间,不经过任何一个点, 不管是蓝色 ...

  6. Solr4.8.0源码分析(6)之非排序查询

    Solr4.8.0源码分析(6)之非排序查询 上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节.查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查 ...

  7. asp.net请求流程

    http://developer.51cto.com/art/200902/109441.htm http://www.cnblogs.com/couhujia/archive/2010/04/21/ ...

  8. [转载]mininet的安装和使用

    http://blog.csdn.net/neterpaole/article/details/8512106 最近在搞controller+mininet的openflow环境模拟,搞得不是很顺利, ...

  9. [Android] 混音器AudioMixer

    AudioMixer是Android的混音器,通过混音器可以把各个音轨的音频数据混合在一起,然后输出到音频设备. 创建AudioMixer AudioMixer在MixerThread的构造函数内创建 ...

  10. Linux下视频转换工具:转换,切割,连接,

    首先当然是需要安装ffmpeg软件包,可以直接从源中进行安装!但我安装后并不能成功执行后面所需要执行的转换命令,所以我只能重新从源码编译安装ffmpeg: (1)下载ffmpeg源码包,注意版本不能太 ...