luoguP1163-二分
银行贷款
题目链接:https://www.luogu.com.cn/problem/P1163
本题思路:
orz公式
数学公式给出n,m,k,求贷款者向银行支付的利率
p,使得: $ \sum_{i = 1}^{k
}m * [\frac{1}{1 + p}]^{i} $,通过化简(根据等比数列的求和公式)我们有: $ m\frac{1-\left(\frac{1}{1+p}\right)^k}{1-\frac{1}{1+p}} = n $
数学公式: $ \sum_{i=1}^{k} ar^{i-1} = a\frac{1-r^k}{1-r} $
对于第一个公式有:
$ \sum_{i=1}^{k} m \left(\frac{1}{1+p}\right)^i = n $
将公式转换为等比数列的形式:设a = m 、r = $ \frac{1}{1+p} $, k是求和的项数。
这样,我们的等比数列就可以表示为: $ (m, m\frac{1}{1+p}, m\left(\frac{1}{1+p}\right)^2, \ldots, m\left(\frac{1}{1+p}\right)^{k-1} ) $
然后,对等比数列求和公式的右侧进行化简: $ m\frac{1-\left(\frac{1}{1+p}\right)^k}{\frac{p}{1+p}} = n $
$ m\frac{1-\left(\frac{1}{1+p}\right)^k}{p} = n $
进一步简化:
数学公式: $ \left(\frac{1}{1+p}\right)^k = 1 - \frac{n}{m}p $
本题思路:
题目描述
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。
输入格式
三个用空格隔开的正整数。
第一个整数表示贷款的原值 \(w_0\),第二个整数表示每月支付的分期付款金额 \(w\),第三个整数表示分期付款还清贷款所需的总月数 \(m\)。
输出格式
一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到 \(0.1\%\)。
数据保证答案不超过 \(300.0\%\)。
样例 #1
样例输入 #1
1000 100 12
样例输出 #1
2.9
提示
数据保证,\(1 \leq w_0, w\leq 2^{31}-1\),\(1 \leq m\leq 3000\)。
ACcode:
#include <iostream>
#include <cmath>
using namespace std;
double n, m, k, l = 0, r = 10;//注意考虑n,m,k在公式关系可能为double
bool bs(double mid) {//代入orz公式计算
return pow(1.0 / (1.0 + mid), k) >= 1.0 - n / m * mid;
}
int main()
{
cin >> n >> m >> k;
while(r - l >= 0.0001) {
double mid = (l + r) / 2;
if(bs(mid)) r = mid;
else l = mid;
}
printf("%.1lf", l * 100);
return 0;
}
·························································
当时思路:
再一次二分答案卡住坐牢,(应该是看到了)但没有理解利率按月累计(又好像影响不大)...脑子wa掉了,然后就是坐牢推不出公式,快进到题解模式
luoguP1163-二分的更多相关文章
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8748 Solved: 3835[Submi ...
- BZOJ 2756: [SCOI2012]奇怪的游戏 [最大流 二分]
2756: [SCOI2012]奇怪的游戏 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 3352 Solved: 919[Submit][Stat ...
- 整体二分QAQ
POJ 2104 K-th Number 时空隧道 题意: 给出一个序列,每次查询区间第k小 分析: 整体二分入门题? 代码: #include<algorithm> #include&l ...
- [bzoj2653][middle] (二分 + 主席树)
Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b ...
- [LeetCode] Closest Binary Search Tree Value II 最近的二分搜索树的值之二
Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...
- [LeetCode] Closest Binary Search Tree Value 最近的二分搜索树的值
Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...
- jvascript 顺序查找和二分查找法
第一种:顺序查找法 中心思想:和数组中的值逐个比对! /* * 参数说明: * array:传入数组 * findVal:传入需要查找的数 */ function Orderseach(array,f ...
- BZOJ 1305: [CQOI2009]dance跳舞 二分+最大流
1305: [CQOI2009]dance跳舞 Description 一次舞会有n个男孩和n个女孩.每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞.每个男孩都不会和同一个女孩跳两首(或更多)舞曲 ...
- BZOJ 3110 [Zjoi2013]K大数查询 ——整体二分
[题目分析] 整体二分显而易见. 自己YY了一下用树状数组区间修改,区间查询的操作. 又因为一个字母调了一下午. 貌似树状数组并不需要清空,可以用一个指针来维护,可以少一个log 懒得写了. [代码] ...
- 2016 ACM/ICPC Asia Regional Dalian Online 1008 Function 二分+RMQ
Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submissio ...
随机推荐
- Windows-exporter(node-exporter)+ Prometheus + Grafana资源监控搭建
在性能测试过程中,资源监控可以时刻掌握被测软件运行环境的各类数据,从而更加直观地反馈测试过程中潜在的问题,下面是基于Windows-exporter(node-exporter)+ Prometheu ...
- Python 变量作用域 LEGB
回顾 - Decorator 前篇有讲到了, 闭包和装饰器的概念. 闭包就是, 函数内部嵌套函数. 而 装饰器只是闭包的特殊场景而已, 特殊在如果外函数的参数是指向一个, 用来被装饰的函数地址时(不一 ...
- 聊一聊 dotnet 社区对 RISC-V 的支持进展
我们从Github .NET 社区的相关仓库和Issue 里通过三个方面的简要梳理dotnet 对 RISC-V 的支持: 官方支持截至 2025 年 5月,微软官方的 .NET(dotnet)尚未正 ...
- Redis介绍及6.2.x版本安装
概述 Redis官网:https://redis.io/ Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言 ...
- codeup之【字符串】回文串
题目描述 读入一串字符,判断是否是回文串."回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串. 输入 ...
- java.sql.sqlexception: access denied for user ‘***‘@‘localhost‘ (using password: yes)
参考文章: 0.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办法 1.M ...
- String Game
二分答案的练手题,虽然很淼,但本题解提供一种清爽的解. 首先,二分什么: 当然是二分可以删除的次数,并使用 check 函数判断该值是否合法.这点毋庸置疑. check 怎么写. 首先,我们假设可以删 ...
- 2025AI元年,常见智能体盘点
你好,小钗在医疗AI.教育AI.管理AI有丰富的经验 关注公众号,回复1,与我交个朋友吧 2025被成为国内AI应用元年,抛开各个公司正在自研的各种产品,有两类产品是比较红火的:Agent平台以及智能 ...
- [书籍精读]《基于MVC的JavaScript Web富应用开发》精读笔记分享
写在前面 书籍介绍:<JavaScript异步编程>讲述基本的异步处理技巧,包括PubSub.事件模式.Promises等,通过这些技巧,可以更好的应对大型Web应用程序的复杂性,交互快速 ...
- 数栈技术分享:利用 Atomic 构建 React 项目工作流,so easy!
数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...