洛谷 1097 統計數字

2021-09-05 17:44:46 字數 1221 閱讀 2016

這道題目就是一道很為簡單的模擬題。

但是,我從做這道題中,發現了一種思維的轉換。對於簡單的題目,不應該想的太過於糾纏。雖然都能做對,但是map的做法最慢,hash較快,而用類似單調佇列的思想的模擬看起來見簡潔,跑得也最快

如下可以什麼都不管,將a陣列排序(從小到大),顯然是乙個單調的佇列,而我們只需要比較兩個之間的關係就可以了。沒必要像下面我敲的map,hash那樣麻煩。

#include

#include

#include

#include

#include

#define rr register

using

namespace std;

struct nodea[

200001];

string g; mapint> m;

int n,len;

bool

cmp(node x,node y)

intmain()

sort

(a+1

,a+len+

1,cmp)

;for

(rr int i=

1;i<=len;i++

) cout<.s<<

" "<.num<}

#include

#include

using

namespace std;

const

int inn=

200003

;int ma,ta,t,q[inn]

,a[inn]

,num[inn]

;int

hash

(int x)

intlclate

(int x)

void

insert

(int x)

boolok(

int x)

intmain()

}sort

(q+1

,q+t+1)

;for

(int i=

1;i<=t;i++

)printf

("%d %d\n"

,q[i]

,num[

lclate

(q[i])]

+1);

}

洛谷 P1097 統計數字

某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 10 9 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入格式 輸入檔案count.in包含n 1行 第一行是整數n,表示自然數的個數 第2 n 1每行乙個...

洛谷 P1097 統計數字

題目鏈結 ac 1 include 2 include 3 include 4using namespace std 5 mapct number 6int main 716 for map iterator it ct number.begin it ct number.end it 1720 r...

模擬 洛谷 P1097 統計數字

某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 10 9 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入格式 輸入檔案count.in包含n 1行 第一行是整數n,表示自然數的個數 第2 n 1每行乙個...