POJ 1003 解题报告
1.问题描述:
http://poj.org/problem?id=1003
2.解题思路:
最直观的的想法是看能不能够直接求出一个通项式,然后直接算就好了, 但是这样好水的样子,而且也不知道这个通项式能否求出且精度如何?
题目中提到输入介于0.01 和5.20之间,可以确定的是最后求出来的卡片数肯定介于1-300之间,因此可以预先求出1-300张卡片分别垒起来可以达到的overhang长度。
然后用二分搜索来做。具体的代码如下:
/*author: obalamadate: 2013.07.24email: areslipan@163.com*/#include <iostream>#include <vector>#include <iterator>using namespace std;int main(){/*preprocessing*/double table[288];for(int i = 0;i<288; ++i){if(i==0)table[i] = 1/2.0;else table[i] = table[i-1] + 1.0/(i+2);}vector<int> result;double cur;cin>> cur;while(cur-0>0.00001){int head=0;int end = 277;int mid = (head + end)/2;while(table[mid] != cur){if(table[mid] < cur){head = mid +1;}else{end = mid -1;}if(head > end) break;else mid = (head + end)/2;}int maxNum;if(table[mid] >= cur)maxNum = mid +1;elsemaxNum = mid +2;result.push_back(maxNum);cin>> cur;}vector<int>::iterator iter;for(iter = result.begin(); iter != result.end(); ++iter){cout<<*iter<<" card(s)"<<endl;}return 0;}
转载于:https://www.cnblogs.com/obama/p/3211816.html
POJ 1003 解题报告相关推荐
- POJ 2159 解题报告
一.substitution cipher (置换密码): Substitution cipher changes all occurrences of each letter to some oth ...
- POJ 3250 解题报告 Bad Hair Day (单调栈)
传送门:http://poj.org/problem?id=3250 这题--水题啊,单调栈可解. 上一波C艹实现 #include <iostream> #include <cst ...
- poj 2262 解题报告
这道题是给一个偶数,然后找出两个素数的a.b和等于这个偶数,如果有多对的话就输出一个a-b最大的组结果.这道题很简单以前AC过,今天我改了一些判断一个数是否是素数的那个方法,但是没想到时间还是和以前的 ...
- POJ 1679 解题报告
这道题是判断最小生成树是否唯一. 方法之一(也是显而易见正确的方法)是求次小生成树,然后看两者的值是否一样.一样则不唯一.ByVoid有对次小生成树(及次短路径)的讲解(https://www.byv ...
- POJ 1185 解题报告 炮兵阵地
题目是中文的,我就不描述题意了. 题目用到的主要算法是状态压缩dp. 思路是,我们要知道n行最多的炮数,只要知道n-2行所有状态最多的炮数,就可以根据n-1行和n行最多可行的状态算出.也就是说,n-2 ...
- POJ 2593解题报告
题目来源 :PKU 2593 http://acm.pku.edu.cn/JudgeOnline/problem?id=2593 解法类型 :动态规划应用 作 者 :刘亚宁 题目大意: 抽取一个 ...
- POJ 1017解题报告
这题看起来简单,实际上要考虑的地方不少,一不小心就可能漏掉某条件导致WA,我一次测了1000组输入输出才发现自己原来的代码里面有40组输出是错误的,然后一步步调试,终于AC了.一直WA又找不到自己错在 ...
- POJ 2800 垂直直方图 解题报告
POJ 2800 垂直直方图 解题报告 编号:2800 考查点:简单计算题 思路: 用gets()读入4行数据,然后按字符统计,显示的时候有点小处理即可. 提交情况: 感觉POJ的测试数据有点骗人 ...
- POJ 2745 显示器 解题报告
POJ 2745 显示器 解题报告 编号:2745 考查点:模拟 思路:抽象出来,计算器显示是7个笔画,然后建立数组表示各笔画被覆盖情况,不过这个是我看了书之后实现的,方法果真经典. 提交情况:比 ...
最新文章
- 区块链技术指2.1 区块链技术
- Spring Cloud Alibaba - 08 Ribbon 两种方式实现细粒度自定义配置控制微服务的负载均衡策略
- 《系统集成项目管理工程师》必背100个知识点-97信息系统生命周期
- Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)
- python文件是怎么打开_python file怎么打开
- 贴片铝电容识别及型号_电容器选型及其应用规范
- IDEA 不识别的MAVEN 项目应如何处理
- 安卓智能手机刷机前的准备工作
- 在网页中实现录音功能
- 【线性代数】线性代数的几何意义
- 采样频率和带宽的关系_示波器的带宽与采样率是什么关系
- V2.0 版本的 《JavaGuide面试突击版》来啦!带着它的在线阅读版本来啦!
- UOS系统启动盘制作
- 利用echarts做图表统计
- MindManager:将excel转成思维导图
- MessageBox 按钮显示英文或其他语言
- (美化)WordPress网站添加自定义字体
- 《F4+2团队项目需求改进与系统设计》
- DLL 导入的两种方式
- java 字符串转list_浅谈java 字符串,字符数组,list间的转化