hihocoder #1607 : H星人社交网络(双指针)
传送门
题意
分析
可知对与某个数x,设其可发送信息的边界为[L,R],那么随着x的递增,[L,R]也右移,故可对输入数排序,做一次双指针即可
trick
代码
//1. Aj < 1/8 * Ai + 8 或者
//2. Aj > 8 * Ai + 8 或者
//3. Ai < 88888 且 Aj > 88888
/*
i不会给j发消息当且仅当
8*a[j]<a[i]+64
a[j]>8*a[i]+8
a[i]<88888&&a[j]>88888
可行区间
1:9~16
2:9~24
9:10~80
10:10~88
11:10~96
...
16:10~136
17:11~144
11110:1397~88888
11112:1397~88888
88888:11103~88888
88889:88888~100000
100000:88888~100000
*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define F(i,a,b) for(int i=a;i<=b;++i)
#define R(i,a,b) for(int i=a;i<b;++i)
#define mem(a,b) memset(a,b,sizeof(a))
int x,sz;
vector<int>v;
int main()
{
int n;
cin>>n;
F(i,1,n)
{
scanf("%d",&x);
v.push_back(x);
}
sort(v.begin(),v.end());
sz=v.size();
ll ans=0;
int l=0,r=-1;
R(i,0,sz)
{
while(l<sz&&v[l]*8<v[i]+64) l++;
while(r+1<n&&v[r+1]<=8*v[i]+8&&(v[i]>=88888||v[r+1]<=88888)) r++;
ans+=r-l+1;
if(i>=l&&i<=r) ans--;
}
printf("%lld\n",ans );
return 0;
}
hihocoder #1607 : H星人社交网络(双指针)的更多相关文章
- YTU 2897: E--外星人供给站
2897: E--外星人供给站 时间限制: 2 Sec 内存限制: 128 MB 提交: 20 解决: 13 题目描述 外星人指的是地球以外的智慧生命.外星人长的是不是与地球上的人一样并不重要,但 ...
- 【Java Saves!】Session 6:十六指星人
前面说,计算机用2个手指头数数,它内部的数是二进制,有0和1两个数字.也看到,对于人来说,二进制数too long, too inconvenient, sometimes troublesome.程 ...
- 编程题:X星人的金币
X星人的金币 时问限制:3000MS 内存限制:589824KB 题目描述: X是人在一艘海底沉船上发现了很多很多很多金币.可爱的X星人决定用这些金币来玩一个填格子的游戏.其规则如下:第1个格子放2枚 ...
- HihoCoder 1053 : 居民迁移 二分+贪心+双指针(好题)
居民迁移 时间限制:3000ms 单点时限:1000ms 内存限制:256MB 描述 公元2411年,人类开始在地球以外的行星建立居住点.在第1326号殖民星上,N个居住点分布在一条直线上.为了方便描 ...
- python编程:从入门到实践--项目1-外星人入侵_学习笔记_源码
这里有九个.py文件,在工作的间隙,和老板斗智斗勇,终于完成了,实现了游戏的功能,恰逢博客园开通,虽然是对着书上的代码敲了一遍,但是对pygam这个库的了解增加了一些,作为一个python初学者,也作 ...
- hihoCoder #1558 : H国的身份证号码I
题目链接:https://hihocoder.com/problemset/problem/1558 H国的身份证号码I 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 ...
- Java后台工程师面试杂记——不跳不涨工资星人跳槽经历
经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧. 在某互联网公司工作了近一年的时间,但是频繁的业务需 ...
- 【BZOJ-3174】拯救小矮人 贪心 + DP
3174: [Tjoi2013]拯救小矮人 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 686 Solved: 357[Submit][Status ...
- 软件测试---测试模型(V、W、H)
一.V测试模型 1.V模型示意图: 单元测试:又叫模块测试,针对软件设计中的最小单位—>程序模块 集成测试:又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序.递增测试. 系统测试:把 ...
随机推荐
- Codeforces Round #243 (Div. 1)——Sereja and Squares
题目链接 题意: 给n个点,求能组成的正方形的个数. 四边均平行与坐标轴 大神的分析: 经典题 我们考虑每一种x坐标,显然仅仅有<= sqrt{N}个x坐标出现了> sqrt{N}次,我们 ...
- IP和归属地
ip: http://www.ip.cn/index.php?ip=10.132.98.143 归属地: http://www.ip138.com:8080/search.asp?action=mob ...
- Appium python自动化测试系列之认识Appium(四)
4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...
- 图像处理之滤波---gabor
http://blog.csdn.net/xiaowei_cqu/article/details/24745945 小魏北大
- Python标准库:内置函数set([iterable])
本函数是从迭代对象生成集合.集合能够添加或删除元素. 样例: #set() tset = set([1, 2, 3, 3, 4, 5, 6, 6]) print(tset) tset.add(20) ...
- android-async-http框架
android-async-http 简单介绍:An asynchronous, callback-based Http client for Android built on top of Apac ...
- session自己定义存储,怎样更好地进行session共享;读tomcat7源代码,org.apache.catalina.session.FileStore可知
session自己定义存储.怎样更好地进行session共享: 读tomcat源代码,org.apache.catalina.session.FileStore可知 一.详见: 方法1 public ...
- RTSPClient工具EasyRTSPClient支持H.265,支持海思等各种芯片平台
EasyRTSPClient是EasyDarwin开源流媒体团队开发.提供的一套非常稳定.易用.支持重连的RTSPClient工具,接口调用非常简单,再也不用像调用live555那样处理整个RTSP ...
- jquery 备忘笔记
1.选择器 a.查询所有以某字符串开头的元素 $("input[id^='dgItem_txt']") b.获取一组单选按钮中选中的值 $("input[name='it ...
- RequestDispatcher用法
1.具体用法: RequestDispatcher dispatcher = req.getRequestDispatcher("updateByUserId_001.jsp"); ...