E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
置换群循环节
置换群
好题
1.CF Round 252 Div 2 D 题目大意: 给出一个N的排列,求至少通过多少次交换使得这个排列至少通过m次排列才能变成升序。 题解: 1.首先可以通过划分子群的方法求出初始排列需要的交换次数。 然后分次数不够和超出m两种情况考虑。 2.如果次数太多,说明子群太多,需要合并子群。 然后草稿纸上画一下可以发现&nb
·
2015-11-11 16:00
hdu1812 Polya定理
用polya定理解题其实就是确定置换及其
循环节
。这题显然就是8个置换,四个旋转(其中一个为不动。。)
·
2015-11-11 15:18
HDU
hdu 1358 KMP的应用
非优化的next数组的含义是:next[i]=k表示模式串下标为i的字符的前k个字符与开头的前k个字符相等,那么从0到i-1的模式串必然是循环的,
循环节
为从0到next[i] - (2 * next[i
·
2015-11-11 15:18
HDU
HDU 3374 String Problem(字符串最小表示+KMP )
pid=3374 题意:求字符串的最小最大表示位置以及
循环节
个数。 思路:
循环节
是KMP的。
·
2015-11-11 14:10
String
模板题 + KMP + 求最小
循环节
--- HDU 3746 Cyclic Nacklace
Cyclic Nacklace Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=3746 Mean: 给你一个字符串,让你在后面加尽量少的字符,使得这个字符串成为一个重复串。 例: abca---添加bc,成为abcabc abcd---添加a
·
2015-11-11 13:41
HDU
"红色病毒"问题 HDU 2065 递推+找
循环节
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=2065 递推类题目, 可以考虑用数学方法来做, 但是明显也可以有递推思维来理解。 递推的话基本就是状态转移了, 如何找状态是递推的关键。 我们把这个分为四个状态 A 出现次数的奇偶和B出现状态的奇偶,我们可以构造出四个状态: &nb
·
2015-11-11 13:46
HDU
uva 11582 Colossal Fibonacci Numbers!
//为啥
循环节
一定要是0 1开头 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath>
·
2015-11-11 13:47
fibonacci
uvalive3026 Period (KMP+结论)
id=29342 题目大意:给定字符串,找到每个前缀的最大
循环节
的个数。 首先当然是kmp预处理,接下来的问题是 怎么找
循环节
?
·
2015-11-11 12:53
live
HDU4291 A Short problem
但其实取模这种操作肯定会出现循环的,可以先本地暴出
循环节
,1000000007对应的
循环节
是222222224,222222224对应的
循环节
是183120。
·
2015-11-11 12:07
HDU
POJ 3693 Maximum repetition substring
我们定义重复的字符串为
循环节
, 那么我们就枚举
循环节
长度L, 那么如果答案存在, 则必定包含s[0], s[L], s[2 * L]等中相邻的连个. 我们再枚举
·
2015-11-11 11:07
substring
hdu 4291 a short problem
利用矩阵法求f(n),其中f(n)=3*f(n-1)+f(n-2) f(0)=0,f(1)=1 接着就是求
循环节
,即可。
·
2015-11-11 11:54
HDU
hdu 1014 Uniform Generator(水 枚举 gcd)
mod-1 为
循环节
的数列 则为 good choice
·
2015-11-11 10:28
generator
poj2748
所以想到有
循环节
,写个程序找
循环节
,发现为75000,所以只需要求出前75000个即可。 View Code #include <iostream>
·
2015-11-11 10:26
poj
HDU 3374 String Problem(最小(大)表示 + KMP)
pid=3374 他左移的步数刚好是最小(大)表示返回的值+1, 然后就是一个关键的结论:同构串个数 == 最小
循环节
的总个数。。。。
·
2015-11-11 10:19
String
POJ 3270 Cow Sorting(
置换群
)
题目链接 很早之前就看过这题,思路题把,确实挺难想的,黑书248页有讲解。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <cmath> 5 #include <algorithm> 6 using names
·
2015-11-11 10:18
sort
hdu 4291矩阵快速幂
其实最关键的就是要懂得取余一定会循环的,如果能够找出
循环节
,就是一个巨大的突破。
·
2015-11-11 10:38
HDU
POJ 3270 Cow Sorting(
置换群
)
思路 : 这个在黑书上有写,就是
置换群
,248页有写。写的挺详细的。每个状态都可以分为若干个循环的乘积。对于任意循环 i ,设其长度为ki,则至少需要交换ki-1次,即每次让一个元素到达目标位置,
·
2015-11-11 10:41
sort
POJ 1026 Cipher(
置换群
)
所以要用
置换群
,把每个的元素的循环求出来,直接对其取余即可。会3270的话,这个题理解起来挺容
·
2015-11-11 10:40
poj
生成字符串排列
2.置换算法,基于
置换群
的理论,每完成一次置换生成一个排列。 3.字典序法,每次生成排列的下一个排列,可以通过数值计数来模拟,当然也可以手工生成。 实现: 1.递归
·
2015-11-11 09:45
字符串
第2章 数字之魅——找符合条件的整数
所以这个无穷数列中间必定存在
循环节
。即假设有s,t均是正整
·
2015-11-11 08:38
数字
第2章 数字之魅——精确表达浮点数
比如: 0.9 = 9/10 0.333(3)= 1/3(括号中的数字表示是
循环节
) 当然一个小数可以用好几种分数形式来表示。如: 0.333(3)= 1/3 = 3/9
·
2015-11-11 08:37
浮点数
【Codeforces #135 Div2】Solutions
【A k-String】 http://www.codeforces.com/contest/219/problem/A 题目大意:给你一堆字母,问用这些字母能不能组成一个由某个
循环节
循环
·
2015-11-11 07:40
codeforces
POJ 3358 Period of an Infinite Binary Expansion ★ (数论好题:欧拉函数)
id=3358 题目大意:给定一个真分数p/q,求出在此种表示下的循环起点和
循环节
长度:{ x} = 0. a 1 a 2... ar( a r+1 a r+2...
·
2015-11-11 07:04
binary
POJ 3358 Period of an Infinite Binary Expansion ★ (数论好题:欧拉函数)
id=3358 题目大意:给定一个真分数p/q,求出在此种表示下的循环起点和
循环节
长度:{ x} = 0. a 1 a 2... ar( a r+1 a r+2...
·
2015-11-11 07:03
binary
USACOTrainning.Party Lamps
后来,仔细观察状态,发现对于N个灯泡,4种操作时有
循环节
的,为6,就是说状态数只有2^6,然后用BFS一层一层扩展,扩展到C层,复杂度就是2^6 * C,BF
·
2015-11-11 03:50
USACO
USACOTrainning.Sorting A Three-Valued Sequence
排序后求
置换群
的个数,然后每个
置换群
要交换的最少次数是该个数-1,所以总的交换次数就是n-
置换群
的个数了。
置换群
可以O(n)里求得,这里只有3个数值,我用这三个点,建了个图。
·
2015-11-11 03:48
sequence
HDU 1005 Number Sequence (
循环节
)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1005 题目大意:给定f[1] = 1, f[2] = 1, f[n] = ((A*f[n-1]) + (B*f[n-2])) % 7, 求f[n] (n最大100,000,000) 思路:f[n]显然都是小于7的,而f[n]又只与f[n-1]和f[n-2]有关,于是想到只有7*7种
·
2015-11-11 01:10
sequence
HDU 1005 Number Sequence (
循环节
)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1005 题目大意:给定f[1] = 1, f[2] = 1, f[n] = ((A*f[n-1]) + (B*f[n-2])) % 7, 求f[n] (n最大100,000,000) 思路:f[n]显然都是小于7的,而f[n]又只与f[n-1]和f[n-2]有关,于是想到只有7*7种
·
2015-11-11 01:09
sequence
HDU 3374 String Problem (KMP+最大最小表示)
KMP,在有
循环节
的前提下:
循环节
t = len-next[len], 个数num = len/(len-next[len]); 个人理解,如果有
循环节
,
循环节
长度必定小于等于len/2,
·
2015-11-11 00:41
String
HDU 3923 Invoker 【裸Polya 定理】
我们将每一种变换转换成一个
置换群
,通过
置换群
得到的都是等价的染色方案 最终我
·
2015-11-10 23:22
HDU
hdu 1005(规律)
//
循环节
#include <cstdio>#include <iostream>using namespace std;int f[49];int main() { int
·
2015-11-10 23:55
HDU
leetcode:Reverse Nodes in k-Group(以k为
循环节
反转链表)【面试算法题】
题目: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in
·
2015-11-10 22:51
LeetCode
poj3358:欧拉定理
嗯,关键还是要建好方程,注意一些化简技巧 题目大意: 给定一个由 p / q 生成的循环小数,求此循环小数在二进制表示下的最小
循环节
以及不是
循环节
的前缀 思路: 小数化为二进制,应该乘2取余,
·
2015-11-10 22:37
poj
kmp的next数组的运用(求字符串的最小
循环节
)
hdu3746 Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2262 Accepted Submission
·
2015-11-10 22:00
ext
一步一步写算法(之排序二叉树)
每个
循环节
点有两个指针,一个指向前面一个节点,一个指向后继节点,这样全部的节点像一颗颗珍珠一样被一根线穿在了一起。然而今天我们讨论的数据结构却有一点不同,它有三个节点。
·
2015-11-10 22:45
二叉树
小数
循环节
定理:设b为一正整数,设正整数r,s满足,s=TU,其中T中的任意素因子整除b且(U,b)=1,那么 a的b进制展开式的
循环节
长度为,预循环的长度为N,其中N为满足的最小正整数
·
2015-11-09 14:23
循环
bzoj 1004: [HNOI2008]Cards
这也是一道polya定理的题,只不过在求
循环节
数的时候由于有使用个数限制,所以不能直接快速幂,而是用DP求出每个置换的
循环节
。
·
2015-11-09 13:20
2008
hdu 4291 A Short problem (成都网络赛 矩阵乘法 递推式 求
循环节
)
http://acm.hdu.edu.cn/showproblem.php?pid=4291 题意: A Short problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis
·
2015-11-09 12:42
HDU
小紫书 习题 3-8(UVA 202) 循环小数(Repeating Decimals)
n除以m的余数只能是0~m-1,根据鸽笼原理,当计算m+1次时至少存在一个余数相同,即为
循环节
;存储余数和除数,输出即可。额,就是模拟题,具体过程就模拟除法的运算就好。
code12hour
·
2015-11-08 18:00
C语言
uva
小紫书
hdu 4333 Revolving Digits(扩展KMP)
对于重复串问题,只有这个串具有
循环节
的时候才会产生重复串,用KMP的next数组求出最小
循环节
,用长度除以最小
循环节
得到
循环节
个数,再将最后答案除以
循环节
个数即可。
u014552756
·
2015-11-08 18:00
hdu 1358 Period 最小
循环节
pid=1358 分析:已知字符串,求其由最小
循环节
构成的前缀字符串。
·
2015-11-08 16:25
HDU
循环节
的问题
SDUT
循环节
Time Limit: 1000ms Memory limit: 65536K 有疑问?
·
2015-11-08 16:48
循环
POJ 2406 Power Strings(字符串的最小
循环节
)
id=2406 题意:确定字符串最多是多少个相同的字串重复连接而成的 思路:关键是找到字符串的最小
循环节
code: 1 #include <cstdio> 2 #include
·
2015-11-08 16:34
String
hdu 4291 A Short problem
数学题,找
循环节
!! 首先g(g(g(n)))=g(x) mod 1e9+7 则可知x有
循环节
1e9+7; 之后x=g(g(n)),则可算出g(n)的
循环节
,在算出n的
循环节
就可以了!!
·
2015-11-08 15:58
HDU
hdu 4664 Triangulation 博弈论
看到这题时,当时还不会做,也没搞懂sg函数,于是狠狠的钻研了下博弈论,渐渐的知道了sg函数…… 现在在来做这题就很容易了,1A 打表容易发现在80左右的时候就出现
循环节
了 代码如下:  
·
2015-11-08 15:48
HDU
poj 2888 Magic Bracelet
对于这种限制条件的情况我们可以通过矩阵连乘得到,先初始化矩阵array[i][j]为1.如果颜色a和颜色b不能涂在相邻的珠子, 那么array[a][b] = array[b][a] = 0; 对于具有n/L个
循环节
的置换
·
2015-11-08 15:05
poj
POJ burnside&&polya整理练习
POJ 2409 Let it Bead 这题就是polya公式的直接套用,唯一麻烦的是
置换群
的种类数,由于可以翻转,所以除了要加上pow(c,gcd(s,i))这些平面旋转的
置换群
·
2015-11-08 14:53
ide
poj2409 & 2154 polya计数+欧拉函数优化
画图可以看出
循环节
有gcd(n,i)个 镜像对称的置换画个图也是很容易找的 然后通过polya定理就可以容易的求出等价类的种数了 2409就是这样一个裸
·
2015-11-08 14:19
poj
acdream1075 神奇的%系列三(线代-矩阵-数论)
pid=1075 题意:定义一个f(n)函数,f(n) = a * f(n - 1) + b * f(n - 2), f(1) = c, f(2) = d.问f(n)在模1000000007情况下的最小
循环节
·
2015-11-08 11:00
矩阵
POJ 2888 Magic Bracelet(burnside引理+矩阵)
思路:旋转k个珠子,有Gcd(n,k)个长度为n/Gcd(n,k)的
循环节
。对于从某个珠子开始的Gcd(n,k)个珠子不在同一个
循环节
中。那么对于旋转k,问题转化为有多少长度为p=Gcd(n,k)的合
·
2015-11-08 11:32
ide
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他