Math 板


LINE

這是題目的網址:https://open.kattis.com/problems/bread 這題目的重點如下: - 三個相鄰的數字可以做旋轉,例如3,5,4 -> 4,3,5 -> 5,4,3 - 大小為n的array裡面有n個相異的整數,其值為1,2,3,...,n - 給你一個起始的數列與最終的數列,回答可否藉由旋轉來完成轉換 EX1: n: 4 起始:1 3 4 2 最終:4 3 2 1 1 3 4 2 ->4 1 3 2 ->4 2 1 3 ->4 3 2 1 (Possible) 我在網路上搜尋到的解法是,對於 1 2 3 4這個數列,起始與最終轉換到1 2 3 4 是否滿足某個性質: 對起始與最終數列,分別加總小於目前數值的個數, 其相差如果是偶數則是 possible (如解釋不清楚,可以參照我下面的程式碼) 我對這演算法正確性的理解是 - 相異的數,所以兩個數的關係不是小於就是大於 - 計算小於的個數等同於計算大於的個數 - 旋轉的關係會導致小於個數的變化 - 當3個相鄰的數時,我們只要確定相差是2的倍數即可保證可轉換 - 一般化來講,當k個相鄰的數時,是否要相差k-1的倍數才可保證能轉換? + 我是計算關係個數改變來做以上推斷 我比較沒有信心的部分是這種存在性,看似好像合理但我又不是很確定是否真的有 一系列的步驟可以完成這樣的轉換。也就是存在反例來打我臉XD 這邊不知道有沒有人可以理解我的擔憂? 我覺得好像還差一個步驟來完成這個一般化證明 先謝謝了 code: int count(vector<int> &arr, int idx, int n){ int cnt=0; for(int i=idx+1;i<n;++i) if(arr[i]<arr[idx]) ++cnt; return cnt; } int main(){ int n; cin >> n; vector<int> org(n); vector<int> target(n); for(int i=0;i<n;++i) cin >> org[i]; for(int i=0;i<n;++i) cin >> target[i]; int res1=0,res2=0; for(int i=0;i<n;++i){ res1 += count(org,i,n); res2 += count(target,i,n); } if(abs(res1-res2)%2==0) cout << "Possible" << endl; else cout << "Impossible" << endl; return 0; } -- 天下英雄出我輩,一入江湖歲月催。 鴻圖霸業談笑間,不勝人生一場醉。 提劍跨騎揮鬼雨,白骨如山鳥驚飛。 塵世如潮人如水,只嘆江湖幾人回。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.207.101.195 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Math/M.1600823286.A.845.html
1F:推 hwanger : 你對symmetric group和alternative group熟嗎 09/23 09:26
2F:→ expiate : 抱歉,我連聽都沒聽過。是代數相關嗎? 09/23 09:31
3F:→ hwanger : 對 因為用這兩個概念 馬上就能驗證程式的正確性 09/23 09:43
4F:→ hwanger : 因為A_n是由3-cycle所生成的 所以只要考慮兩個 09/23 09:45
5F:→ hwanger : permutation的parity是否一樣就可以 09/23 09:47
6F:→ hwanger : 冏 我晚點再看看你是怎麼理解的好了 09/23 09:48
7F:→ hwanger : typo: alternating group 09/23 10:24
8F:→ expiate : 好的,請問有什麼參考資料是我可以開始的? 09/23 10:48
9F:→ expiate : 可以先出一些作業讓我先去理解我再跟你討論好了 09/23 10:52
10F:→ hwanger : 真的? 那先看下面網址(不用管normal subgroup) 09/23 10:59
11F:→ hwanger : https://reurl.cc/N605Ok 09/23 11:03
12F:→ hwanger : https://reurl.cc/Oqv2zy 09/23 11:04
13F:→ hwanger : 可以先不管證明 理解各個定義 引理 定理想講什麼就 09/23 11:07
14F:→ hwanger : 好了 09/23 11:07
15F:→ expiate : 好,我理解完會重新編輯我的文章再請你幫我看一下 09/23 11:37
16F:推 hwanger : 冏 沒辦法完全理解原PO想說的 很抱歉 然後 "- 一般 09/23 14:06
17F:→ hwanger : 化來講,當k個相鄰的數...">>這句話雖然我不是很理 09/23 14:07
18F:→ hwanger : 解 不過我想應該是沒有這個結論的 例如n=5時 考慮 09/23 14:09
19F:→ hwanger : Ok 我想錯了一些細節 不過應該就是沒那個結論 09/23 14:19
20F:→ hwanger : Ok 我補足了一些細節 當n=5 k=4 基本任兩種排列是可 09/23 14:36
21F:→ hwanger : 以互相轉換的 [因為<(1,2,3,4),(2,3,4,5)>=S_5] 09/23 14:37
22F:→ hwanger : 所以沒有那句話的結論 冏 09/23 14:45
23F:→ hwanger : 而[09/23 09:45]要改成A_n是由(1,2,3),(2,3,4),..., 09/23 14:55
24F:→ hwanger : (n-2,n-1,n)所生成的 09/23 14:56
25F:→ hwanger : 更進一步 隨便一個n 考慮k=4 也就是我們可以讓任意 09/23 15:03
26F:→ hwanger : 相鄰四個做循環的話 則我們想要怎麼排就可以怎麼排 09/23 15:04
27F:→ hwanger : [因為<(1,2,3,4),...,(n-3,n-2,n-1,n)> = S_n] 09/23 15:06
28F:→ expiate : 謝謝你的幫忙,那我先學習完你給我的教材我再另外發 09/24 01:19
29F:→ expiate : 文章請教你好了 09/24 01:19







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP