群
nlj1999
这个作者很懒,什么都没留下…
展开
-
POJ 1286 Necklace of Beads
人生第一道polya(玻璃呀!)定理。 搞了一个上午的群论,唯一看懂的就是伽罗华很会作…… 你说你一个搞数学的,怎么就喜欢革命呢。 唯一的遗憾就是过分追求简洁hhhhhhhhhh这评价真是十分中肯啊。 好了不扯了,反正玻璃呀定理就是用来求染色数的,具体的请任意翻开一本组合数学教材,或者跟我一样(安利一下)找学堂在线的课看去。 显然我们可以发现对序列(1,2,3,......n)做i次轮换原创 2016-02-18 14:01:11 · 297 阅读 · 0 评论 -
POJ 1026 Cipher
虽然我知道这是一道很水的置换群的题,只要把每个循环求出来然后将k对循环节长度取余就可以得出repeat k次后的置换了。 可是……为毛putchar会吃空格啊,你一个输出代码不好好输出吃我空格干嘛,吃空格就算了,胃口还那么小,一下只吃一个,两个以上不吃,调了半个小时不知道为什么中间缺了个空格,简直了。 #include #include #include #include using name原创 2016-02-18 15:32:47 · 262 阅读 · 0 评论 -
BZOJ 1488: [HNOI2009]图的同构
同SHOI2006图的染色 只是这题只有两种颜色,即边选或不选 然后套用08年论文里的方法,循环节的长度进行划分 大概划分方案有10^6左右 对要用到的一些东西进行预处理,比如说逆和幂。 然后再算上循环节的计算,大概是O(N*10^6)左右的复杂度,就可以过了。 (话说这个在OEIS上是不是有啊,首页上0MS的大爷们都是怎么写的啊) #include #include #includ原创 2016-03-31 14:30:26 · 499 阅读 · 0 评论 -
BZOJ 1998: [Hnoi2010]Fsk物品调度
很作死地写了个高端(SB)的并查集 首先只要求出所有的posi,剩下的很容易用置换群的理论得出答案 然后看posi的求法 对于固定的a,d a+b*d(modn) 通过b不断地累加会构成环 于是查找的时候只要找环上xi最小的点。 但是有的时候会把一个环用完 于是我们把环上的每个点都连到相应的下一个环上 然后我很脑残地写了个并查集,维护环与环之间的路径和环内的路径 每次查找的时候原创 2016-03-31 21:41:28 · 655 阅读 · 0 评论 -
BZOJ 1815: [Shoi2006]color 有色图
这题时限不知道怎么搞的,我的代码跑了4000+MS A掉了,可是时限是4S 然后做法什么的不是很懂,好像很玄学的样子,具体看08年的论文。 大概是利用划分对置换进行分类,每一类的循环节个数是一样的,这样统计出每一类的置换个数,然后就可做了。 代码好短…… #include #include #include using namespace std; typedef long long ll原创 2016-03-23 19:57:15 · 1292 阅读 · 0 评论 -
POJ 2888 Magic Bracelet
Burnside引理+欧拉函数+矩阵乘法。 突然发现Burnside引理忘得差不多了(根本没学会好吗) 今天才知道不动点原来是这么求的,以前都是循环k=1->n,ans+=calc(gcd(n,k)) 现在反过来,令gcd(n,k)=r,ans+=calc(r)*euler(n/r),显然gcd(n/r,k/r)=1,所以循环节为r的循环一共有euler(n/r)个。 然后还有就是计数其实原创 2016-02-28 16:22:21 · 412 阅读 · 0 评论