#12720: 解題心得


a5083 (assassin刺客大師)

學校 : 新北市立板橋高級中學
編號 : 28347
來源 : [140.116.138.99]
最後登入時間 :
2017-06-27 17:13:56

這一題可使用STL的map來建立一個hast table來解決問題

首先可以將每個陣列先排序,並將排序後的結果當成index

// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index                              value(人數)
// ----------------------------------------
// 100101102103488                  1
// 100101102200300                  2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index                             value(人數)
// ------------------------------------------
// 100200300400444                  1
// 123234321345456                  1
// 200202204206208                  1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

#12722: Re:解題心得


asnewchien@gmail.com (david)

學校 : 南投縣立旭光高級中學
編號 : 68108
來源 : [114.42.176.221]
最後登入時間 :
2025-10-04 22:52:03

這一題可使用STL的map來建立一個hast table來解決問題

首先可以將每個陣列先排序,並將排序後的結果當成index

// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index                              value(人數)
// ----------------------------------------
// 100101102103488                  1
// 100101102200300                  2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index                             value(人數)
// ------------------------------------------
// 100200300400444                  1
// 123234321345456                  1
// 200202204206208                  1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

原來題意是這樣  3Q


#14273: Re:解題心得


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59

這一題可使用STL的map來建立一個hast table來解決問題

首先可以將每個陣列先排序,並將排序後的結果當成index

// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index                              value(人數)
// ----------------------------------------
// 100101102103488                  1
// 100101102200300                  2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index                             value(人數)
// ------------------------------------------
// 100200300400444                  1
// 123234321345456                  1
// 200202204206208                  1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

原來題意是這樣  3Q


請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問

 

#14277: Re:解題心得


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2025-05-29 22:24:26

這一題可使用STL的map來建立一個hast table來解決問題

首先可以將每個陣列先排序,並將排序後的結果當成index

// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index                              value(人數)
// ----------------------------------------
// 100101102103488                  1
// 100101102200300                  2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index                             value(人數)
// ------------------------------------------
// 100200300400444                  1
// 123234321345456                  1
// 200202204206208                  1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

原來題意是這樣  3Q


請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問

 

 

轉成string 串起來

map<string, int>


#14278: Re:解題心得


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59

這一題可使用STL的map來建立一個hast table來解決問題

首先可以將每個陣列先排序,並將排序後的結果當成index

// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index                              value(人數)
// ----------------------------------------
// 100101102103488                  1
// 100101102200300                  2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index                             value(人數)
// ------------------------------------------
// 100200300400444                  1
// 123234321345456                  1
// 200202204206208                  1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

原來題意是這樣  3Q


請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問

 

 

轉成string 串起來

map<string, int>


原來String 可以直接用相加的方式串起來@@  
感謝大神

 

#15002: Re:解題心得


phjk (有時沒有)

學校 : 不指定學校
編號 : 82536
來源 : [61.62.214.122]
最後登入時間 :
2019-03-07 21:23:44


// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

這題目的問法真是令人讚嘆。

#37131: Re: 解題心得


liuc7721 (Shin)

學校 : 國立竹東高級中學
編號 : 179484
來源 : [106.64.169.100]
最後登入時間 :
2025-10-12 14:11:23


// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

這題目的問法真是令人讚嘆。

 真的看不懂題目想表達什麼,若有3個學生,全部人選一樣會是3;全部人選不一樣也是3?

 



#37132: Re: 解題心得


predator (sigma)

學校 : 不指定學校
編號 : 239167
來源 : [122.117.95.179]
最後登入時間 :
2024-10-10 20:44:39


// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3

 

這題目的問法真是令人讚嘆。

 真的看不懂題目想表達什麼,若有3個學生,全部人選一樣會是3;全部人選不一樣也是3?

 



 

假如有 3 個學生

A 選   1 3 2
B 選   1 2 3
C 選  2 5 8
把所有人的選擇先排序

可見 1 2 3 有 2 個人選。
為最熱門。