CodeForces #352B.Jeff and Periods
题目链接:传送门
看题看了好久,最后题意还是问出来的….
题意给定n个数的序列,这里面会有一些一样的数,把这些一样的数抽出来,看看他们在序列中的下标是否构成一个等差数列,如果是输出这个数和差值。
如果一个数只出现一次,那么输出差值为0
代码如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
#define N 100001
int a[N],p[N],c[N],vis[N],b[N];
int main(){int i,j,n,m;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++){cin>>a[i];p[a[i]]++;if(p[a[i]]==1){c[a[i]]=i;}if(p[a[i]]==2){b[a[i]]=i-c[a[i]];c[a[i]]=i;}if(p[a[i]]>2){if((i-c[a[i]])!=b[a[i]]){b[a[i]]=0;}else c[a[i]]=i;}}int cnt=0;sort(a+1,a+1+n);for(i=1;i<=n;i++){if(vis[a[i]]) continue;vis[a[i]]=1;if(p[a[i]]==1) {cnt++;continue;}if(b[a[i]]!=0) cnt++;}memset(vis,0,sizeof(vis));cout<<cnt<<endl;for(i=1;i<=n;i++){if(vis[a[i]]) continue;vis[a[i]]=1;if(p[a[i]]==1){cout<<a[i]<<" "<<"0"<<endl;continue;}if(b[a[i]])cout<<a[i]<<" "<<b[a[i]]<<endl;}}return 0;
}
CodeForces #352B.Jeff and Periods相关推荐
- Codeforces 352B - Jeff and Periods
352B - Jeff and Periods 思路:水题,考验实现(implementation)能力,来一波vector[允悲]. 代码: #include<bits/stdc++.h> ...
- codeforces A. Jeff and Digits 解题报告
题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...
- CodeForces 351B Jeff and Furik 概率DP 逆序对
题目大意: 就是现在给出一个1~n的排列, Jeff和Furik分别轮流进行操作, Jeff先手, Jeff会选择相邻的两个数p[i], p[i + 1]交换位置, 然后轮到Furik, Furiki ...
- CodeForces - 351E Jeff and Permutation(贪心)
题目链接:点击查看 题目大意:给出一个长度为 n 的序列,可以选择某些位置使得 a[ i ] = - a[ i ],问逆序对最少可以是多少 题目分析:需要看出的一个关系就是,在某一对关系 ( i , ...
- CodeForces 351A Jeff and Rounding
题意:给你一个2×n长的序列,进行n次操作,每次操作是选取两个从未选过的数,一个取上整,一个取下整,问你最后能得到最接近原来和的序列是多少. 解题思路:先将所有小数和统计出来,然后再枚举向下取整的个数 ...
- 莫队 ---- CF 135D. Jeff and Removing Periods (等差数列预处理 + 莫队)
题目 题目大意: 给你一个等差序列,每次查询一段区间[l,r][l,r][l,r]的答案. 显然这是典型的不带修改的区间询问类问题,我们可以考虑用莫队算法去解决. 解题思路: 接下来看怎么递推[l,r ...
- codeforces 351A A. Jeff and Rounding(★)
题目大意: 给出2*n个数,n个向上取整,n个向下取整,求新的数的和与原始的数的和的最小差距. 题目分析: 机智的人会发现,先对所有的数的小数部分取和,然后如果出现一个向上取整的,那么sum的变化一定 ...
- Codeforces Round #404 (Div. 2) B. Anton and Classes 水题
B. Anton and Classes 题目连接: http://codeforces.com/contest/785/problem/B Description Anton likes to pl ...
- 拿下Facebook黑客杯四冠王!与Jeff Dean相提并论...ACM竞赛之神的传奇前半生
作者 | 陈大鑫.青暮 转载自:AI科技评论 近日,Facebook Hacker Cup(黑客杯)总决赛落下帷幕,最终,现年26岁的白俄罗斯选手Gennady Korotkevich(比赛网名:To ...
- CodeForces 570C Replacement 统计
原题: http://codeforces.com/contest/570/problem/C 题目: Replacement time limit per test2 seconds memory ...
最新文章
- 最新阿里Java技术面试题,看这一文就够了!
- P1772 [ZJOI2006]物流运输
- IT民工系列——c#操作Microsoft IE,实现自动登录吧!
- 802.1X学习笔记
- 干货 | 机器学习正在面临哪些主要挑战?
- STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试
- jquery-easyui中表格的行编辑功能
- 爬虫入门【10】Pyspider框架简介及安装说明
- linux环境ubuntu: pushd: not found
- Java、素数的个数
- STM32串口调试一直打印 00 00
- chrome 开启HEVC硬件解码
- 简单了解oop编程思想和常见的几种设计模式
- 你的sd卡到底有多快? 256G SD 卡实际速度测试
- 建立完善的员工晋升机制_员工晋升管理制度精选5篇
- Linux下深度学习常用工具的安装
- 什么是Kurento
- The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one time zone
- 用Python海龟画图画哆啦A梦
- Visual Studio Code底部状态栏的隐藏及复原
热门文章
- 如何彻底解决Variable used in lambda expression should be final or effectively final
- FDTD的PML设置
- 论文《Reasoning With Neural Tensor Networks for Knowledge Base Completion》的学习笔记
- 2015年计算机二级office,2015年计算机二级MSoffice考试资料汇总.doc
- The Balance POJ - 2142
- 解决chrome 浏览器不能看视频
- postgresql C++接口libpq
- 禁止使用搜狗浏览器打开QQ邮箱,更换成其他邮箱
- Ubuntu安装jdk-8u201-linux-x64.tar.gz
- 机器学习-决策树算法