#12720: 解題心得


a5083 (assassin刺客大師)

School : 新北市立板橋高級中學
ID : 28347
IP address : [140.116.138.99]
Last Login :
2017-06-27 17:13:56
b265. Q11286 - Conformity | From: [140.116.92.38] | Post Date : 2017-09-21 09:46

這一題可使用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)

School : No School
ID : 68108
IP address : [36.232.36.125]
Last Login :
2021-09-18 17:37:14
b265. Q11286 - Conformity | From: [111.246.63.6] | Post Date : 2017-09-21 16:07

這一題可使用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 (卓承緯)

School : No School
ID : 74409
IP address : []
Last Login :
2018-01-11 15:15:59
b265. Q11286 - Conformity | From: [223.137.179.251] | Post Date : 2018-07-09 15:48

這一題可使用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)

School : 國立中央大學
ID : 27736
IP address : [180.177.78.186]
Last Login :
2021-09-19 16:52:49
b265. Q11286 - Conformity | From: [123.195.138.33] | Post Date : 2018-07-09 20:55

這一題可使用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 (卓承緯)

School : No School
ID : 74409
IP address : []
Last Login :
2018-01-11 15:15:59
b265. Q11286 - Conformity | From: [114.136.224.188] | Post Date : 2018-07-10 09:23

這一題可使用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 (有時沒有)

School : No School
ID : 82536
IP address : [61.62.214.122]
Last Login :
2019-03-07 21:23:44
b265. Q11286 - Conformity | From: [61.62.214.122] | Post Date : 2018-08-29 22:53


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

 

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

 
ZeroJudge Forum