非常基础的二分法-寻找序列中是否存在某一条件的元素 的应用

AC代码

#include<cstdio>
#include<iostream>
#include<set>
#include<vector>
#include<map>
#include<algorithm>using namespace std;const int SUP = 100000000;
const int maxn = 100010;int n,T;
int M[maxn];int BS(int begin,int l,int r){int mid;while(l<=r){mid = (l+r)/2;if(M[begin]+M[mid]<T){l = mid+1;}else if(M[begin]+M[mid]>T){r = mid-1;}else return mid;}return -1;
}int main(){cin>>n>>T;for(int i=0;i<n;i++){cin>>M[i];}sort(M,M+n);for(int i=0;i<n;i++){int j = BS(i,i+1,n-1);if(j!=-1){printf("%d %d",M[i],M[j]);return 0;}}printf("No Solution\n");return 0;
}

1048 Find Coins(二分法解法)相关推荐

  1. PAT甲级1048 Find Coins :[C++题解]哈希表、两个硬币之和为定值

    文章目录 题目分析 题目链接 题目分析 来源:acwing 题意:找两个数,和为定值. 分析:本题在各大OJ上几乎都有, 反正在Leetcode上做过.本题有两种常见的解法,一种是双指针,另一种是用哈 ...

  2. 【最简解法】1048 Find Coins (25 分)_18行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Eva loves to collect coins from all over the universe, including ...

  3. 1048 Find Coins(two pointers解法)

    1. 很典型的双指针的应用,将数组按照非降排列,两个指针从一头一尾开始包抄,若等于(等于要放在第一个)则返回结果结束程序,小于则左指针右移,大于则右指针左移. 2. 起初还担心,如果得到的结果不是那个 ...

  4. 1048 Find Coins(散列解法)

    1. 开始测试点3答案错误,看参考书发现是,读题时根据硬币最大面值500设置的数组大小,但是后来会用总面值减去硬币面值,这个大小在[1,999),因此散列表的大小应该设为1010. 2. 学会了一个小 ...

  5. 【PAT甲级】1048 Find Coins (25 分) C++ 全部AC

    题目 给你一个sum,以及拥有的钱 让你找出一个组合,正好用两张钱付清sum,注意如果有多个结果,输出其中最小的 这道题注意稍微优化一下算法,要不然卡在测试点3,4 我是用二重循环过了的,只要注意输入 ...

  6. 1048 Find Coins

    水题,详见代码- #include <iostream> #include <string.h> #include <cstdio> #include <al ...

  7. PAT甲级训练合集(1-70)

    本章题解跳转 考点 P1001 数字的数组表示和处理 P1002 多项式的数组表示和处理 P1003 深度优先搜素 P1004 深度优先搜素 P1005 哈希表 P1006 P1007 数组子区间求和 ...

  8. 【最新合集】PAT甲级最优题解(题解+解析+代码)

    以下每道题均是笔者多方对比后, 思考整理得到的最优代码,欢迎交流! 共同成长哇.可以和博主比拼一下谁刷的更快~ 欢迎收藏.欢迎来玩儿 PAT题解目录 题号 标题 题解 分类 使用算法 1001 A+B ...

  9. PAT题型分类 记录汇总

    这篇博客记录了我在跟着<算法笔记>以及习题册<算法笔记 上机实践指南>刷了PAT的题目之后的一些解题方法的总结与心得. 第三章 入门模拟 1. 简单模拟 一般解题思路 这一小节 ...

最新文章

  1. ORACLE约束总结
  2. C#WindowsForm之创建窗体
  3. 华为FusionCube从融合到超融合 只为让计算变简单
  4. Webpack 实现 Tree shaking 的前世今生
  5. 如何改变WINDOWS服务的启动顺序(Win2000)
  6. 生成器和迭代器,列表推导式
  7. ASP.NET随机显示数据库记录
  8. otc机器人tp_发那科机器人TP 示教器按键使用简介
  9. 毕业答辩ppt怎么做?
  10. ELK之metricbeat
  11. 磁盘 I/O 和网络
  12. 使用CSS样式设置文本超出2行显示为省略号
  13. 生活随笔:人心难测,伤心地离开
  14. Jmeter TCP 取样器 上一个请求响应结果参数传个下一个请求,响应结果为空
  15. u盘在计算机硬盘量,电脑硬盘指示灯一直亮怎么办
  16. fluent———patch
  17. 西电软工oop面向对象程序设计实验二上机报告
  18. 前端学习笔记-4.2php实现注册功能
  19. Libav、FFmpeg、mplayer、VLC开源项目、FFDshow
  20. mysql函数在where后使用_【MYSQL函数】MYSQL中IF函数在where中的使用

热门文章

  1. 宝塔的服务忽然挂掉解决方法
  2. php 2 往数据库添加数据
  3. 3-RACSignal 常用方法
  4. iOS - 支持水平 / 垂直显示自动滚动的跑马灯控件 --- SKAutoScrollLabel 的使用和实现
  5. [转]C++11 随机数学习
  6. android采用MVP完整漫画APP、钉钉地图效果、功能完善的音乐播放器、仿QQ动态登录效果、触手app主页等源码...
  7. Didn't find class net.oschina.app.AppContext on
  8. BM提供支持云的量子计算平台,以加速创新
  9. 转:strcat与strcpy与strcmp与strlen
  10. 设计模式:状态模式(State Pattern)