1335: 高桥和低桥(用到二分查找)
来源:互联网 发布:砸金蛋源码 编辑:程序博客网 时间:2024/05/30 23:03
题目链接:点击打开链接
题目大意就不说了(中文题)
主要用二分(太坑了)
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[100009],b[100009];int n,m,k,h,t,x,y,shui;int erfen1(int s,int e)//二分查找求最小值{ if(e-s==1||e==s) { if(a[s]>shui&&a[s]<=x) return s; else return e; } int mid=(s+e)/2; if((a[mid]>shui&&a[mid]<=x)||a[mid]>x) erfen1(s,mid); else erfen1(mid,e);}int erfen2(int s,int e)//二分查找求最大值{ if(e-s==1||e==s) { if(a[e]>shui&&a[e]<=x) return e; else return s; } int mid=(s+e)/2; if((a[mid]>shui&&a[mid]<=x)||a[mid]<=shui) erfen2(mid,e); else erfen2(s,mid);}int main(){ int i; t=1; while(scanf("%d%d%d",&n,&m,&k)!=EOF) { memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); for(i=0; i<n; i++) scanf("%d",&a[i]); sort(a,a+n); shui=1; int sum=0; for(i=0; i<m; i++) { scanf("%d%d",&x,&y); int s=erfen1(0,n-1); int e=erfen2(0,n-1); for(int j=s; j<=e; j++) b[j]++; shui=y; } for(i=0; i<n; i++) if(b[i]>=k) sum++; printf("Case %d: %d\n",t++,sum); } return 0;}
0 0
- 1335: 高桥和低桥(用到二分查找)
- 高桥和低桥(STL二分查找)
- CSU1335 高桥和低桥(二分查找)
- CSU 1335 高桥和低桥(二分)
- 1335: 高桥和低桥+csuoj+树状数组+二分
- csu 1335: 高桥和低桥(二分+扫气球)
- 高桥和低桥(二分函数)
- CSU 1335: 高桥和低桥(树状数组啊 二分查找啊 湖南省第九届大学生计算机程序设计竞赛)
- csu 1335 高桥和低桥(树状数组+二分)
- 高桥和低桥(sort的常犯错误)(stl中的二分函数)
- CSU-1335 高桥和低桥
- CSU 1335 高桥和低桥
- csu 1335 高桥和低桥
- CSU 1335 高桥和低桥
- 高桥和低桥
- 高桥和低桥
- 高桥和低桥
- 高桥和低桥
- Map的迭代
- Atitit 大json文件的结构化查看解决方案,高性能的jsonview attilax总结.docx
- 煤球数目
- SpringMVC数据的格式化
- 用Java实现面向对象编程(入门)二
- 1335: 高桥和低桥(用到二分查找)
- 古堡算式,蓝桥杯2012年第2题
- Linux Makefile 详细语法
- 01-Java基础知识
- poj2299 树状数组快速求逆序数
- [Leetcode] #14 Longest Common Prefix
- NET Core helloworld
- 389. Find the Difference
- python写入csv和matlab写入csv的效率对比