poj 1002 很好的水題

2021-05-10 20:49:56 字數 1137 閱讀 3498

思路簡單,但要過可是非常艱難(測試資料非常

bt,從

ac率就可以看出來)

剛開始直接對字串進行排序,超時了。

之後採用索引的方法排序,仍舊超時。

最後化為整數,並用

sort

函式進行排序,終於

ac(用自己編的快排仍舊超時)。

五點總結:(1

)對整數操作比對字串操作效率高(2

)用stl

的sort

函式比自己寫的快排效率高(要好好學下

stl了)(3

)讀取一行字元用

gets

函式比scanf

效率稍高一點

但要注意之前的

scanf

要讀入回車符

,否則回車會被當前

gets

讀取scanf("%d/n", &num);(4

)printf

中可以設定輸出整數的場寬,並且可以設定填充0

詳細介紹:

5)對字串初始化(

new)很耗時!!

所以盡量不要在迴圈內初始化字串,而是在外面初始化一次。這一題就因為這一點差別差了

700ms!!!!

詳見注釋

總之這一題讓我學習了如何爭分奪秒

**:#include

#include

using namespace std;

int carray[100001];

//intdigitlength[100001];

int letter[25] = ;

char *temp=new char[50];

int main()

else

} ch=temp[pt++]; }

} sort(carray,carray+num);

int count=1;

bool dup=0;

for(i=1;i

count=1; }

} if(count>1)

if(dup==0)cout<<"no duplicates."<

return 0; }

poj1002 簡單排序題

從午後一點呼呼睡到三點,昏昏沉沉的,感覺學不了平衡樹,於是找了道水題做做,不過這題雖然水但是很麻煩 渾渾噩噩的打 調錯誤 會用sort函式就可以了,沒什麼特別的吧 include include includeusing namespace std int pho 100005 ans 100005...

poj 1002 (電話號碼)

題目意思很簡單,就不重複了。這是乙個很簡單的模擬題,但是我居然wa了很多次。看了題目的討論,才發現,號碼還有數字0開頭的。簡直無語了。這組資料輸出 000 0000 2 也是考慮不全,居然沒想到還會有0開頭的 號碼。如下 include include includeusing namespace ...

poj 1002 電話號碼查重

雖然網上都說這是一道水題,其實我也感覺這題思路滿清晰的,但死活提交不通過,基本都是時間超了,後來勉強痛過了,但效果還是不怎麼理想。這裡做乙個簡單分析 1.我們一開始的程式是利用stl中的vector,string 等容器讀入資料,然後自己寫了乙個快速排序的演算法,對儲存在vector中的string...