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/cn.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灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP