比赛的时候想着用单调队列做。。。

打完发现其实就是个双指针

/*
构造双指针解决即可
*/ #include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
#define maxn 200005
struct sd{int ans,a,id;}x[maxn];
bool cmp1(sd a,sd b){return a.a<b.a;}
bool cmp2(sd a,sd b){return a.id<b.id;}
int main(){
int n,m,d,p=,cnt=;
scanf("%d%d%d",&n,&m,&d);
for(int i=;i<=n;i++) scanf("%d",&x[i].a),x[i].id=i;
sort(x+,x++n,cmp1);
for(int i=;i<=n;i++){
if(!x[i].ans) x[i].ans=++cnt;
while(p<=n && (x[p].ans||x[p].a-x[i].a<=d))
++p;
x[p].ans=x[i].ans;
}
sort(x+,x++n,cmp2);
printf("%d\n",cnt);
for(int i=;i<=n;i++) printf("%d ",x[i].ans);
}

cf 1041C双指针的更多相关文章

  1. CF 1006C Three Parts of the Array【双指针/前缀和/后缀和/二分】

    You are given an array d1,d2,-,dn consisting of n integer numbers. Your task is to split this array ...

  2. CF A.Mishka and Contest【双指针/模拟】

    [链接]:CF/4892 [题意]: 一个人解决n个问题,这个问题的值比k小, 每次只能解决最左边的或者最右边的问题 解决了就消失了.问这个人能解决多少个问题. [代码]: #include<b ...

  3. CF 1009A Game Shopping 【双指针/模拟】

    Maxim wants to buy some games at the local game shop. There are n games in the shop, the i-th game c ...

  4. CF R 635 div2 1337D Xenia and Colorful Gems 贪心 二分 双指针

    LINK:Xenia and Colorful Gems 考试的时候没想到一个很好的做法. 赛后也有一个想法. 可以考虑答案的样子 x,y,z 可以发现 一共有 x<=y<=z,z< ...

  5. CF 1087解题报告

    cf解题报告 记录一下吧 做出:T1 rating :-97 想起几个月前做不出T1还是有点小搞笑呀2333 T1 双指针+特判 T2 发现k特别小,枚举剩余系 还要判断是否是能被n整除 移项发现可以 ...

  6. Card Game Again CodeForces - 818E (双指针)

    大意: 给定序列, 求多少个区间积被k整除. 整除信息满足单调性, 显然双指针. 具体实现只需要考虑k的素数向量, 对每一维维护个指针即可. 这题看了下cf其他人的做法, 发现可以直接暴力, 若当前的 ...

  7. CF数据结构练习

    1. CF 438D The Child and Sequence 大意: n元素序列, m个操作: 1,询问区间和. 2,区间对m取模. 3,单点修改 维护最大值, 取模时暴力对所有>m的数取 ...

  8. 【codeforces】【比赛题解】#854 CF Round #433 (Div.2)

    cf一如既往挺丧 看丧题点我! [A]分数 Petya是数学迷,特别是有关于分数的数学.最近他学了所谓一个分数被叫做“真分数”当且仅当其分子小于分母,而一个分数被叫做“最简分数”当且仅当其分子分母互质 ...

  9. Skills CodeForces - 613B (双指针)

    大意: $n$门课, 第$i$门分数$a_i$, 可以增加共$m$分, 求$cnt_{mx}*cf+mi*cm$的最大值 $cnt_{mx}$为满分的科目数, $mi$为最低分, $cf$, $cm$ ...

随机推荐

  1. 20190312 Windows安装Kafka

    1. 下载 使用版本2.1.1 官网下载地址 2. 安装 2.1. 前提 已安装ZooKeeper,可参考 20190311 Windows安装ZooKeeper 进行安装ZooKeeper 2.2. ...

  2. ruby where用法

    用法1 Subject.where(").order("name") 用法2 与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这 ...

  3. CentOS下查找java环境变量

    CentOS下通过命令查找java环境变量 [root@yuteng opt]# echo $JAVA_HOME /usr/java/default [root@yuteng opt]# which ...

  4. jdk8中奖Date转换为String格式的方法

    public static String getLocalDateStr(Date date,String formatter) { DateTimeFormatter dateTimeFormatt ...

  5. git删除仓库的某个文件

    可以用git rm命令删除文件(删除远程仓库文件) git clone 仓库地址 git add . git rm 文件//本地中该文件会被删除 git rm -r文件夹 //删除文件夹 上面会把对应 ...

  6. Vue加载json文件

    一.在build/dev-server.js文件里 var app = express() 这句代码后面添加如下(旧版): var appData = require('../address.json ...

  7. JavaScript数组倒序函数reverse()

    左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = tem ...

  8. 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常

    第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  

  9. Hadoop mapreduce执行过程涉及api

    资源的申请,分配过程略过,从开始执行开始. mapper阶段: 首先调用默认的PathFilter进行文件过滤,确定哪些输入文件是需要的哪些是不需要的,然后调用inputFormat的getSplit ...

  10. Web开发之404小结

    404算是Web工程里最常见的错误代号了.今天做一个小结: 场景:[Tomcat运行正常,但无法访问自己建的项目:404] 结果:在URL拼写正确的情况下,无法访问目标工程任何页面 信息:[404]: ...