洛谷 P1412 经营与开发
/*
粘一下开始写的暴力吧 虽然没啥价值
*/
#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 经营与开发的更多相关文章
- 洛谷 P1412 经营与开发 解题报告
P1412 经营与开发 题目描述 \(4X\)概念体系,是指在\(PC\)战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"\(EX\)"为开头的英语单词. \(eXplo ...
- 洛谷P1412 经营与开发题解
题目链接QWQ这里就不阐述了: 题解部分: 从题面上来看,这是个dp(递推)的题目. 但是dp要满足无后效性,但这个题为了取最值,得考虑从当前开始一直持续到结束的p的影响. 这让我们怎么满足无后效性? ...
- 落谷 P1412 经营与开发
题目链接 Solution 用传统的思想考虑正推,发现后面的答案依赖于当前的 \(p\),你不但要记录前 \(i\) 个还要记录 \(p\),显然空间爆炸. 类似 AcWing 300. 任务安排1, ...
- P1412 经营与开发
题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXploit(经营与开发) ...
- luogu P1412 经营与开发 |dp
题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"EX"为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXplo ...
- 数学【p1412】 经营与开发(秦九韶算法)
顾z 你没有发现两个字里的blog都不一样嘛 qwq 题目描述-->P1412 经营与开发 分析 虽然看到\(Rank_1\)已经有了解释. 但我认为我能BB的更好 我还是决定来写一篇题解. q ...
- HUSTOJ:5500 && 洛谷:P1412:经营与开发
题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词.eXplore(探索)eXpand(拓张与发展)eXploit(经营与开发)eXte ...
- 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解
[洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...
- 洛谷P3959 [NOIP2017]宝藏
[题目描述] 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋,也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度. 小明决心亲自前往挖掘所有宝藏屋中的宝藏.但 ...
随机推荐
- Linux系统配置成简单的路由器
一.两个不同网段的子网相互访问或通信 废话不多说了,直接上图,一目了然吧. 按照如图配置,就可以实现两个不同网段的子网相互通信. 二.连接上网的配置: 如果想让这两个子网,不仅可以相互通信,而且还可以 ...
- JavaScript-学习一字符串
字符串可以存储一系列字符,如 "John Doe". 字符串可以是插入到引号中的任何字符.你可以使用单引号或双引号: 用于字符串的 + 运算符 + 运算符用于把文本值或字符串变量加 ...
- Python学习笔记:05类
类 Python是面向对象的语言,面向对象最重要的三个优点有: 多态:多态使对象具备不同的行为方式.(可以认为声明了接口,但是实现方式可能多样) 封装:封装是对全局作用域中隐藏多余信息的原则(创建对象 ...
- C语言 位操作
c语言位操作中需要注意有: 位操作只针对整型和字符型数据 在右移操作中:对无符号数和有符号中的正数补 0:符号数中的负数,取决于所使用的系统:补 0 的称为“逻辑右移”,补 1 的称为“算术右移”. ...
- The formatter threw an exception while trying to deserialize the message in WCF
有一个WCF应用, 主要功能是存储doc, txt等类型文件到database,当文件的大小在16kb之内,调用WCF service能正常工作:但如果文件大小超出16KB之外, 它将抛出这样一个错误 ...
- Skynet:特性收集
基于云风的 blog,收集 skynet 的特性以便将来在代码中一一验证. “ ... ” 部分节选自云风的 BLOG. 1. 基于 Erlang-Actor 模式的 C 实现 “把一个符合规范的 C ...
- 蓝牙-b
最近智能家居比较火,好多公司开始开发通过蓝牙对智能家居进行连接控制!下面,我就把自己总结的蓝牙方面的知识分享一下!求吐槽!!!!O(∩_∩)O... 1.导入头文件#import <CoreBl ...
- mongodb 教程一
mongodb是nosql(not only sql)的一种方式 .是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL - 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式 ...
- History Grading
uva111:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24& ...
- java Future 模式
考慮這樣一個情況,使用者可能快速翻頁瀏覽文件中,而圖片檔案很大,如此在瀏覽到有圖片的頁數時,就會導致圖片的載入,因而造成使用者瀏覽文件時會有停頓 的現象,所以我們希望在文件開啟之後,仍有一個背景作業持 ...