Noip2007提高组

Posted benjamin-cpp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Noip2007提高组相关的知识,希望对你有一定的参考价值。

2水题 + 1中等 + 1稍难


t1.统计数字

题目

题意:给定n个数,按数字从小到大的顺序输出数字及出现次数。

思路:[水题]爱怎么搞怎么搞,反正我就是要用优先队列。

Code:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;
//Mystery_Sky
//
#define INF 0x3f3f3f3f
#define M 1000100
#define ll long long
inline int read()
{
    int x=0,f=1; char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return x*f;
}
int n;
struct node{
    int x;
    inline bool operator <(const node& a) const{
        return a.x < x;
    }
};
priority_queue <node> Q;

int main() {
    n = read();
    for(int i = 1; i <= n; i++) {
        int x = read();
        Q.push((node){x}); 
    }
    node last = Q.top();
    Q.pop();
    int count = 1;
    while(!Q.empty()) {
        node top = Q.top();
        Q.pop();
        if(top.x == last.x) count++;
        else {
            printf("%d %d
", last.x, count);
            count = 1;
            last = top;
        }
        //printf("->%d %d<-
", top.x, count);
    }
    printf("%d %d
", last.x, count);
    return 0;
}

t2.

以上是关于Noip2007提高组的主要内容,如果未能解决你的问题,请参考以下文章

求NOIP2007提高组Pascal语言试题及答案

Noip2007提高组

NOIP2007 提高组 题解

noip2007提高组题解

树网的核 2007年NOIP全国联赛提高组(floyed)

P1005 [NOIP2007 提高组] 矩阵取数游戏(区间dp)