二分答案法
来源:互联网 发布:手机淘宝没有卖家中心 编辑:程序博客网 时间:2024/06/07 04:47
当一题求符合要求最小值或最大值,并且答案的范围可以确定时,可以使用二分答案法。
二分答案题的关键在于检验结果是否符合要求.
二分答案有多种写法
写法一 (同NOIP2017初赛试题的写法):
结果是mid.
- 找最大值
l = min_ans, r = max_ans;while(l < r) { mid = (l + r + 1) / 2;if(Check(mid)) l = mid;else r = mid - 1;}
- 找最小值
l = min_ans, r = max_ans;while(l < r) {mid = (l + r + 1) / 2;if(Check(mid)) r = mid;else l = mid - 1;}
写法二:(不推荐的写法)
- 找最大值
l = min_ans, r = max_ans; //建议不要让l=0.while(l <= r) {mid = (l + r) / 2;if(Check(mid)) l = mid + 1;else r = mid - 1;}结果是l-1.
- 找最小值
l = min_ans, r = max_ans;while(l <= r) {mid = (l + r) / 2;if(Check(mid)) r = mid + 1;else l = mid - 1;}
如果答案求的是浮点型,可以乘上10的次方,变为整数再二分答案,最后输出再除以这个数.
比如答案保留两位小数,就乘上100.
阅读全文
0 0
- 二分答案法、三分法
- 二分答案法
- 二分答案
- 二分答案
- 二分答案
- 二分答案
- ~二分答案~
- 二分答案
- 二分答案?!
- 二分答案
- 二分答案
- 【hiho38】二分•二分答案
- #1139 : 二分·二分答案
- 二分答案全攻略
- hunnu 10922 二分答案
- hdu 4190 二分答案
- hdu 4190 #二分答案
- HDU4004 二分答案
- ThermoAnalytics.CoTherm.1.3.0.Win64.&.Linux64 2CD
- +-购物车
- hadoop搭建hive web 界面
- codeforces 900C(暴力)
- maven整合spring profile实现多环境自动切换
- 二分答案法
- 软件工程
- 尽量延后变量定义式的出现时间《Effective C++》
- Android中的三级缓存
- ActiveMQ学习总结——(二)Queue队列模式示例
- C#实现最短路径
- 移动139邮箱被曝出漏洞
- Bentley Map Enterprise V8i v08.11.09.805 CHS Win32 1DVD
- 开发流程