推 a29022792: 要連續? 09/02 03:01
→ a29022792: 然後我覺得會被叫去problem solve板 09/02 03:01
→ phoenixrace: sub array的定義是連續的array 09/02 03:38
→ phoenixrace: 感謝 我應該去那個板問的 09/02 03:38
→ john2007: 範例二是回傳6吧 1 2 3不算一種解嗎? 09/02 04:01
→ john2007: 如果是找sybarray數量 範例2的兩個1 應該要分開看? 09/02 04:09
→ john2007: 用有點變化的前綴和配二分搜應該可以nlogn解出來 09/02 04:36
※ 編輯: phoenixrace (129.219.21.3), 09/02/2018 05:21:09
→ phoenixrace: [1, 2, 3]也算 抱歉忽略了 09/02 05:21
→ idiont: 應該還有[1 2]跟[3]吧 09/02 05:30
感謝 已修改了
※ 編輯: phoenixrace (129.219.21.3), 09/02/2018 05:41:40
推 sunflower304: 先把array刷一次然後分成奇數跟偶數 09/02 11:02
→ sunflower304: 然後用排列組合相乘就求出來了 09/02 11:02
→ sunflower304: 應該可以再O(n)解決 09/02 11:03
→ sunflower304: 我沒試過 但直覺這樣是對的 09/02 11:03
推 sunflower304: 抱歉沒看到最多k個奇數 所以應該是O(n+k) 09/02 11:06
推 a159a: 第二個為例,數學模型應該是(x^0+x^1+x^2)(x^0+x^1)(x^0+x 09/02 11:27
→ a159a: ^1)的係數和,但因為條件是奇數,所以要先算出一三個括弧x 09/02 11:27
→ a159a: 次方小於k的係數和,那只需要做一些多項式運算,不知道這 09/02 11:27
→ a159a: 樣的方法有沒有比較快? 09/02 11:27
→ john2007: 如果相同pattern視為一種感覺滿困難的 可以請教n平方的 09/02 12:17
→ john2007: 方法嗎 09/02 12:17
推 Sirctal: 這個應該都是用back tracking的技巧來寫吧 09/02 14:43
在Prob_solv板, 有人教我怎麼扣掉重複的subarray了, 我在那裡有更新程式碼了
※ 編輯: phoenixrace (24.251.153.7), 09/02/2018 15:38:15
推 ga544523: 應該可以用two pointer維護區間奇數值 時間O(n) 09/02 15:38
Yes, the only thing I don't know is how to remove the duplicate arrays. Some people in the Prob_solv told me how to do that!!
※ 編輯: phoenixrace (24.251.153.7), 09/02/2018 15:41:07
→ ga544523: ㄜ 沒看到不能重複 當我沒說吧 09/02 15:41
推 bill1992: 我覺得應該用segment tree可以解吧 keep每個區間的奇 09/02 23:45
→ bill1992: 數數量 O(nlgn) 09/02 23:45
→ bill1992: 啊 想了一下應該On 就可以 抱歉耍蠢了 09/02 23:46