見鏈結
首先,我要說一句:
既然題目說要去重,那不就是用個set
嗎?
建立乙個查詢用的set
和乙個去重的set
。
由於這道題n
≤100
n \le 100
n≤10
0,而stl的set
插入與查詢的時間複雜度均為o(
logn)
\operatorname o(\operatornamen)
o(logn
),所以可以用(n
2)
\operatorname(n^2)
(n2)
的暴力列舉來做。
所以這道題的時間複雜度是o(
n2
logn)
\operatorname o(n^2\operatornamen)
o(n2lo
gn)。
c +
+\operatorname c++
c++**如下。
#include
using
namespace std;
typedef set<
int>
::iterator setit;
//定義set的迭代器別名
set <
int> setfind;
//查詢用的set
set <
int> setuniq;
//去重用的set
int n, a[
105]
;int
main()
//----暴力列舉----//
for(
int i =
0; i < n; i++
)for
(int j = i +
1; j < n; j++)}
cout << setuniq.
size()
;return0;
}
2023年noip普及組第1題 ↩︎ 珠心算測驗
題目 來自 題目描述 description 珠心算是一種通過在腦中模擬算盤變化來完成快速運算的一種計算技術。珠心算訓練,既能夠開發智力,又能夠為日常生活帶來很多便利,因而在很多學校得到普及。某學校的珠心算老師採用一種快速考察珠心算加法能力的測驗方法。他隨機生成乙個正整數集合,集合中的數各不相同,然...
珠心算測驗
題目描述 珠心算是一種通過在腦中模擬算盤變化來完成快速運算的一種計算技術。珠心算訓練,既能夠開發智力,又能夠為日常生活帶來很多便利,因而在很多學校得到普及。某學校的珠心算老師採用一種快速考察珠心算加法能力的測驗方法。他隨機生成乙個正整數集合,集合中的數各不相同,然後要求學生回答 其中有多少個數,恰好...
珠心算測驗
珠心算是一種通過在腦中模擬算盤變化來完成快速運算的一種計算技術。珠心算訓練,既能夠開發智力,又能夠為日常生活帶來很多便利,因而在很多學校得到普及。某學校的珠心算老師採用一種快速考察珠心算加法能力的測驗方法。他隨機生成乙個正整數集合,集合中的數各不相同,然後要求學生回答 其中有多少個數,恰好等於集合中...