/*
粘一下开始写的暴力吧 虽然没啥价值
*/
#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. seo小技巧(转载)

    转载自前端网:五行缺火 优化技巧是老师在课堂上教不了你的,而自己也不可能在练习中领悟,最便捷的方法就是听取别人的经验,所以转载一下 SEO要点:1.语义化html标签,用合适的标签嵌套合适的内容,不可 ...

  2. Uncaught SyntaxError: Unexpected end of input

    js报错  原因:输入的意外终止…… 页面代码写的不规范啊……其中的某条语句,没有正常结束…… 或者部分语句“‘’”双引号,单引号没有配对好,被转义了之类的……错误造成的 代码: <script ...

  3. jquery easy ui 学习 (7) TreeGrid Actions

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Rotate List 面试题

    今天做了leetcode的Rotate List,刚开始头脑不清楚,写的乱七八糟的,后来改了下,提交了,能过,把代码贴出来. 做题的时候头脑要清楚,我刚开始做完的时候才发现我把向左向右移动弄反了,后来 ...

  5. JMS集群部署问题 java.net.ConnectException: Connection refused; No available router to destination

    1:本地spring配置如下 <!-- JndiTemplate --> <bean id="jndiTpl" class="org.springfra ...

  6. 关于function与closure

    function 方式 scope function closure expression anonymous function class(this, prototype)

  7. cf B. Making Sequences is Fun

    http://codeforces.com/contest/373/problem/B 用二分枚举长度就可以. #include <cstdio> #include <cstring ...

  8. C#程序设计基础——转义字符

    \’ 单引号 \” 双引号 \\ 反斜杠 \0 空字符 \a 感叹号 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平Tab \v 垂直Tab

  9. 关于KeilC51的指针(参见, page 106-113, keil uv2 user's guide 09,2001)

    keil中的指针分为两种,一种是普通指针,兼容标准C语言的指针:另一种是我翻译成内存特殊指针(memory-specific pointers,翻译的不好:>) 一.普通指针 普通指针的定义方式 ...

  10. KEIL C51高级编程

    第一节 绝对地址访问C51提供了三种访问绝对地址的方法: 1. 绝对宏:在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:CBYTE.XBYTE.PWORD.DBYTE.CWO ...