Rikka with Competition hdu 6095

签到题目,排序然后按序清理掉一定会输的结果就可以。

ac代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[100001];
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,k;
        int sum=0;
        scanf("%d %d",&n,&k);
        for(int i=0;i<n;i++) scanf("%d",&a[i]);
        sort(a,a+n);
        int vis[100001];
        memset(vis,0,sizeof(vis));
        sum=0;
        for(int j=n-1;j>=0;j--)
        {
            int temp=j-1;
            if(vis[j]) continue;
            while(a[j]-a[temp]>k && temp>=0)
            {
                sum++;
                vis[temp]=1;
                temp--;
            }
        }
        cout<<n-sum<<endl;
    }
    return 0;
}
时间: 08-06

Rikka with Competition hdu 6095的相关文章

HDU 6095: Rikka with Competition

Rikka with Competition ///@author Sycamore ///@date 8/8/2017 #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); int t; cin >> t; while (t--) { int n, k; cin >> n >> k; vector<int>v(n); for 

hdu 6095

1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N=1e5+10; 5 ll a[N]; 6 int main(){ 7 int t ; 8 cin>>t; 9 while(t--){ 10 int n; 11 ll k; 12 scanf("%d%lld",&n,&k); 13 for(int i=1;i<=n;i++

Rikka with Graph hdu 6090

题解:考虑贪心地一条一条边添加进去. 当 m \leq n-1m≤n?1 时,我们需要最小化距离为 nn 的点对数,所以肯定是连出一个大小为 m+1m+1 的联通块,剩下的点都是孤立点.在这个联通块中,为了最小化内部的距离和,肯定是连成一个菊花的形状,即一个点和剩下所有点直接相邻. 当 m > n-1m>n?1 时,肯定先用最开始 n-1n?1 条边连成一个菊花,这时任意两点之间距离的最大值是 22.因此剩下的每一条边唯一的作用就是将一对点的距离缩减为 11. 这样我们就能知道了最终图的形状了

Rikka with Candies HDU 6085

其实这种中档的问题,要是好好思考的话还是可以想出来的就是要深入的思考,实在不行就改变一下思路. 这个书写bitset的模板还是应该好好的记住的,真的感觉不错. #include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> #include<bitset> #include<set> #include<vector> using nam

HDU 5831 Rikka with Parenthesis II(六花与括号II)

HDU 5831 Rikka with Parenthesis II (六花与括号II) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Description 题目描述 As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math ta

hdu 5425 Rikka with Tree II(暴力)

题目链接:hdu 5425 Rikka with Tree II 直接枚举就好了,当概率极小时贡献值可以忽略. #include <cstdio> #include <cstring> #include <cmath> #include <vector> #include <queue> #include <algorithm> using namespace std; const int maxn = 1e5 + 5; int N,

HDU 5634 Rikka with Phi

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5634 -------------------------------------------------------------------------------------------- 官方题解上给的是用平衡树写 不过用类似的思路 也是可以用线段树去写的 操作$2$区间赋为相同值可以直接按照常规的线段树的题目去写 操作$1$是只减不增的 而且最多$log$次会减少到$1$ 所以大量使用$1$操

HDU 5422:Rikka with Graph

Rikka with Graph Accepts: 353 Submissions: 1174 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) 问题描述 众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的: 勇太有一张nn个点mm条边的无向图,每一条边的长度都是1.现在他想再在这张图上连上一条连接两个不同顶点边,使得1号点到nn号点的最短路尽可能的短

HDU 5423:Rikka with Tree Dijkstra算法

Rikka with Tree Accepts: 207 Submissions: 815 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) 问题描述 众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的: 对于一棵树TT,令F(T,i)F(T,i)为点1到点ii的最短距离(边长是1). 两棵树AA和BB是相似的当且仅当他们顶点数相同且对于任意的ii都有