博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AtCoder Regular Contest 084 C - Snuke Festival【二分】
阅读量:6037 次
发布时间:2019-06-20

本文共 1551 字,大约阅读时间需要 5 分钟。

....最后想到了,可是不应该枚举a[],这样要二重循环,而应该枚举b[],这样只需一重循环。。。

 

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 typedef long long ll; 7 const int maxn=1e5+10; 8 int a[maxn],b[maxn],c[maxn]; 9 int n;10 11 int FindLastSmaller(int key)12 {13 int l=0,r=n-1;14 while(l<=r){15 int mid=(l+r)>>1;16 if(a[mid]>=key) r=mid-1;17 else l=mid+1;18 }19 return r;20 }21 22 int FindFirstLarger(int key)23 {24 int l=0,r=n-1;25 while(l<=r){26 int mid=(l+r)>>1;27 if(c[mid]>key) r=mid-1;28 else l=mid+1;29 }30 return l;31 }32 33 int main()34 {35 cin>>n;36 for(int i=0;i
>a[i];37 for(int i=0;i
>b[i];38 for(int i=0;i
>c[i];39 sort(a,a+n);40 sort(b,b+n);41 sort(c,c+n);42 ll ans=0;43 for(int i=0;i

lower_bound(),upper_bounder()不能再好用。。。

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 typedef long long ll; 7 const int maxn = 1e5 + 1000; 8 int a[maxn], b[maxn], c[maxn]; 9 int n;10 11 int main()12 {13 scanf("%d", &n);14 for (int i = 0; i < n; i++) scanf("%d", &a[i]);15 for (int i = 0; i < n; i++) scanf("%d", &b[i]);16 for (int i = 0; i < n; i++) scanf("%d", &c[i]);17 sort(a, a + n);18 sort(b, b + n);19 sort(c, c + n);20 ll ans = 0;21 for (int i = 0; i

 

转载于:https://www.cnblogs.com/zxhyxiao/p/7797200.html

你可能感兴趣的文章
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>
深度分析Java的ClassLoader机制(源码级别)
查看>>
微服务架构选Java还是选Go - 多用户负载测试
查看>>
我的友情链接
查看>>
Javascript中的异步如何实现回调
查看>>
halcon算子介绍
查看>>
挖掘你不知道的windowsxp中的带宽潜能
查看>>
Software Engineering 招聘要求
查看>>
【转载】InstallAnyWhere自动化制作安装包的知识
查看>>
69、iSCSI共享存储配置实战
查看>>
文本编程
查看>>
乔布斯走了。你还期待苹果吗?
查看>>
优先级
查看>>
Tomcat与Web服务器、应用服务器的关系
查看>>
用DFS实现全排列 & 八皇后问题
查看>>
深度学习博客
查看>>