z

你没有发现两个字里的blog都不一样嘛 qwq

题目描述-->P1412 经营与开发

分析

虽然看到\(Rank_1\)已经有了解释.

但我认为我能BB的更好

我还是决定来写一篇题解. qwq

列式

根据题意,我们很容易列出式子.(瞎j8写.

(变量名与题目描述相同.

\(a_1 \times w+ (1-0.01 \times k)\times w \times a_2+(1-0.01 \times k)\times w\times(1-0.01\times k)\times a_3+\dots\)

其中\((1-0.01 \times k)\times w\)代表新的能力值.

提取公因式\(w\). (是叫公因式还是公因子?,qwq

新式子

\(w\times[a_1+ (1-0.01 \times k) \times a_2+(1-0.01 \times k)\times(1-0.01\times k)\times a_3+\dots]\)

然后又可以写成这种形式.

\(w\times[a_1+ (1-0.01 \times k) \times a_2+(1-0.01 \times k)^2\times a_3+\dots]\)

再将\([]\)中的式子变形(根据秦九韶算法.

得到这样的式子

\(w\times[a_1+ (1-0.01 \times k) \times (a_2+(1-0.01 \times k)\times a_3+\dots)]\)

然后根据秦九韶一直拆下去.

(下面以\(k^{'}\)代表\((1-0.01\times k)\)

所以我们会得到这样的式子.

\(w*[a_1+k^{'}\times(a_2+k{'}\times(a_3+k{'}\times (a_4+\dots)))]\)

然后写出来好长好长一段 qwq.

然后考虑正解为什么是倒着枚举?.

显然,我们从\(1-n\)枚举星球,钻头会受到影响.

即后面的答案会受到影响.(后效性.

而我们从后向前枚举则可以免去这种影响.(感觉这句话自己说的很虚啊.

如果不理解这句话的话,请回想秦九韶算法也是从里到外地求解.

对应到这个题的话我们就相当于从后向前枚举.

因为秦九韶算法的话,从里到外的拆分会乘上\(k^{'}\).(钻头能力值会降低.

简单来讲的话

我们通过一直乘上\(k^{'}\),最里层的式子,对应的就是我们最后一次使用钻头的情况.

同样,次里层的式子,对应的就是我们倒数第二次使用钻头的情况.

(无法正确组织语言. qwq.

如果不懂的话还是用笔试一下.

这样我们模拟的就是这个从里向外求解的过程.

所以我们求出来的一定会是我们的答案.

------------------代码-------------------

#include<bits/stdc++.h>
#define R register
using namespace std;
int n;
double k,c,w;
struct cod{int idx;double cost;}type[100008];
double ans;
int main()
{
scanf("%d%lf%lf%lf",&n,&k,&c,&w);
k=1-0.01*k;c=1+0.01*c;//我说我式子一开始带错了你信不信 qwq.
for(R int i=1;i<=n;i++)
scanf("%d%lf",&type[i].idx,&type[i].cost);
for(R int i=n;i>=1;i--)
if(type[i].idx==1)ans=max(ans,ans*k+type[i].cost);
else ans=max(ans,ans*c-type[i].cost);
printf("%.2lf",ans*w);
}

数学【p1412】 经营与开发(秦九韶算法)的更多相关文章

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

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

  2. P1412 经营与开发

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

  3. luogu P1412 经营与开发 |dp

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

  4. 洛谷 P1412 经营与开发

    /* 粘一下开始写的暴力吧 虽然没啥价值 */ #include<iostream> #include<cstdio> #include<cstring> #inc ...

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

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

  6. 落谷 P1412 经营与开发

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

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

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

  8. 【贪心】经营与开发 @upc_exam_5500

    目录 经营与开发 @upc_exam_5500 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE 经营与开发 @upc_exam_5500 PROBLEM 题 ...

  9. 基于SageMath的数学网站——本科毕业开发项目

    1 绪论 1.1研究背景 我国是一个拥有15亿人口的大国.其中,据2017年的统计,全国共有大学生2600万左右.如此数量众多的大学生,都会有着学习基础数理课程的需求.而在高校的数学教学中,教授最多最 ...

随机推荐

  1. webdriver--设置元素等待

    sleep():脚本执行到某一位置时“睡一会”,再继续执行:参数的单位是s:sleep方法由python的time模块提供,有两种引入和使用方式 import time time.sleep(5) f ...

  2. 【非原创】tomcat 安装时出现 Failed to install Tomcat7 service

    tomcat 安装时出现 Failed to install Tomcat7 service 今天在安装tomcat时提示 Failed to install Tomcat7 service了,花了大 ...

  3. Python学习记录一

    1.这个在unix类的操作系统才有意义.#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器:#!/usr/bin/env python这种用 ...

  4. .Net MVC无限循环或无限递归

    错误往往是service的相互引用之类的. 好好排查

  5. linux perf: 为什么采样频率设置成99Hz而不是100Hz

    早晨在linuxer看到文章,感觉挺有意思,最早研究perf的时候接触过这些概念,乍一看倍感亲切. sudo perf record -F  99 -a -g --sleep 20 perf reco ...

  6. HTML5_纯JS实现上传文件显示文件大小,文件信息,上传进度_不使用JS库

    前台 html <input type="file" id="_netLogo" onchange="fileSelected();" ...

  7. [codeforces] 359D Pair of Numbers

    原题 RMQ st表棵题 要想让一个区间里的所有数都可以整除其中一个数,那么他一定是这个区间内的最小值,并且同时是这个区间的gcd.然后这个问题就转化成了RMQ问题. 维护两个st表,分别是最小值和g ...

  8. C语言——指向函数的指针

    转载自:http://www.cnblogs.com/liangyan19910818/archive/2011/08/19/2145270.html C语言——指向函数的指针 函数类型 (* 函数指 ...

  9. Linux临时增加swap空间

    linux临时增加swap空间:step 1: #dd if=/dev/zero of=/home/swap bs=1024 count=500000 注释:of=/home/swap,放置swap的 ...

  10. CSS清除浮动常用方法小结 CSS clear both {overflow:auto;zoom:1;}

    常用的清除浮动的方法有以下三种: 此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景 <!DOCTYPE html><html><head> <met ...