UVA 11881 - Internal Rate of Return - [二分]
依然是来自2017/9/17的周赛水题……
题目链接:https://cn.vjudge.net/problem/UVA-11881
题解:
观察这个函数:
由于CF[i]固定值,因此NPV(IRR)这个函数,是连续单减函数,其值域区间为从+∞到CF[0];
那么显然的,NPV(IRR) = 0方程的解必然有且仅有一个,所以题目中“Too many”和“No”的输出纯粹掩人耳目,实际上是不会有test case输出这两个的;
那么要得到IRR的一定精确度的数值,显然二分法求即可。
AC代码:
#include<cstdio>
#include<cmath>
int t,cf[];
double l,r,mid;
double ans;
double calc(double IRR)
{
double ans=cf[]*1.0;
for(int i=;i<=t;i++) ans+=(cf[i]*1.0)/pow(+IRR,i);
return ans;
}
int main()
{
while(scanf("%d",&t) && t>)
{
for(int i=;i<=t;i++) scanf("%d",&cf[i]);
l=-1.0, r=1e8;
while(r-l>1e-)
{
mid=(l+r)/;
double tmp=calc(mid);
if(tmp>=) l=mid;
else r=mid;
}
printf("%.2lf\n",l);
}
}
UVA 11881 - Internal Rate of Return - [二分]的更多相关文章
- UVA 11881 Internal Rate of Return(数学+二分)
In finance, Internal Rate of Return (IRR) is the discount rate of an investment when NPV equals zero ...
- 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束)
layout: post title: 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束) author: "luowentaoaa" catal ...
- 训练指南 UVA - 11090(最短路BellmanFord+ 二分判负环)
layout: post title: 训练指南 UVA - 11090(最短路BellmanFord+ 二分判负环) author: "luowentaoaa" catalog: ...
- UVA 10341 Solve It 解方程 二分查找+精度
题意:给出一个式子以及里面的常量,求出范围为[0,1]的解,精度要求为小数点后4为. 二分暴力查找即可. e^(-n)可以用math.h里面的exp(-n)表示. 代码:(uva该题我老是出现Subm ...
- UVa 10341 - Solve It【经典二分,单调性求解】
原题: Solve the equation: p*e-x + q*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0 where ...
- UVA - 11090 - Going in Cycle!!(二分+差分约束系统)
Problem UVA - 11090 - Going in Cycle!! Time Limit: 3000 mSec Problem Description You are given a we ...
- UVa 11996 Jewel Magic (splay + Hash + 二分)
题意:给定一个长度为n的01串,你的任务是依次执行如表所示的m条指令: 1 p c 在第p个字符后插入字符,p = 0表示在整个字符串之前插入2 p 删除第p个字符,后面的字符往前移3 p1 p2反转 ...
- Risk UVA - 12264 拆点法+最大流+二分 最少流量的节点流量尽量多。
/** 题目:Risk UVA - 12264 链接:https://vjudge.net/problem/UVA-12264 题意:给n个点的无权无向图(n<=100),每个点有一个非负数ai ...
- UVA 11090 Going in Cycle!!(二分答案+判负环)
在加权有向图中求平均权值最小的回路. 一上手没有思路,看到“回路”,第一想法就是找连通分量,可又是加权图,没什么好思路,那就转换题意:由求回路权值->判负环,求最小值->常用二分答案. 二 ...
随机推荐
- SpringBoot------集成MyBatis
1.pom.xml文件添加MyBatis和MySQL等依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns: ...
- MySQL---insert into select from
INSERT INTO perf_week(node_id,perf_time,pm25,pm10,temp,humi) SELECT node_id,'2016-12-22 11:55:00' AS ...
- cocos2d-x 3.0 在C++中调用lua函数
代码用的是<cocos2d-x 3.0 在lua中调用自定义类>中的代码. 在上篇的基础上进行扩充. 写lua函数 local function process_packet(user_d ...
- Linux关闭Tomcat为什么要用Kill,而不是shutdown.sh
Linux关闭Tomcat为什么要用Kill,而不是shutdown.sh >>>>>>>>>>>>>>>&g ...
- linux下查看当前目录属于哪个分区?
下班之前写哈今天用的一个新命令. df -h /opt/test
- 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况
0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更 ...
- SaltStack salt-run 命令
salt-run 常见用法如下: salt-run manage.up # 查看在线的minion salt-run manage.down # 查看不在线的minion salt-run manag ...
- VS2017编译Poco1.9.0的64版本
需要先准备好OpenSSL1.0.2 下载poco-poco-1.9.0-release.zip,解压,修改buildwin.cmd中的OPENSSL_DIR路径,特别注意OPENSSL_LIB的路径 ...
- jq判断滚动条向上还是向下
$(document).ready(function(){ ,t=; $(window).scroll(function(e){ p = $(this).scrollTop(); if(t<=p ...
- JDBC批量加密数据库密码
package com.lxc.wmb; import java.io.UnsupportedEncodingException; import java.security.MessageDigest ...