题意: 给你一个方程,方程太变态不打,给你一个p一个k,p保证是大于等于3的质数,k保证在0~p-1之间的整数.要求对应函数的定义域在0~p-1值域为0~p-1的子集,求这样的函数有多少个... 分析: [今天刚迷迷糊糊听了节集合论,做着做着就发现好像是循环群还是啥==] k=0时,不难发现f(0)=0,其他任意. k=1时,f(0)=f(0) mod p,发现除了其他任意外f(0)也任意. 当k>=2时,发现某规律... 不难发现假如k=2,则f(2)根据f(1),f(4)根据f(2)...以…
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output As behooves any intelligent schoolboy, Kevin Sun is studying psycowlogy, cowculus, and cryptcowgraphy at the Bovinia State University (BGU) under…
置换群(本蒟蒻瞎BB的)(未完) 群的定义 给定一个集合\(G=\{a, b, c...\}\)和集合\(G\)上的二元运算*,并满足: 封闭性:\(\forall a, b \in G, \exists c \in G, a*b=c\).也就是集合里的元素怎么乱搞都只能搞出来集合里的东西. 结合律:\(\forall a, b, c \in G, (a*b)*c=a*(b*c)\).注意不一定满足交换律哟. 单位元:\(\exists e \in G, \forall a \in G, a*e…
题意: 给定一个1~n的排列(n<=3000),输出字典序最小且次数最少的交换操作,使得操作后的排列可以通过最少m次交换得到排列[1,2,...n] Solution: 可以将排列的对应关系看做边,f[i]=i,代表自环.那么根据置换原理,图中有k个环,则需要最少n-k次交换操作得到排列[1,2...n].所以,先找出图中的环,对同一个环的位置进行标记.这样对不在同一个环的两个位置进行交换,会将两个环合并.将在同一个环内的两个位置进行交换,会将这个环分成两个环. 只需要,判断需要加环还是去环.贪…
1.递归求解  注:叙述时 节点其实就是数字0-N-1 !!!最好用一个数组记录0-N-1每个数字的位置 !!!递归计算一个置换群内部的节点数 分为两种情况 累加M,M即是一个置换群所有数字在正确位置上所需要的swap 次数.这句话 需要详细解释下,如果这个置换群里面有0则M=置换群节点数量-1(找一个测试样例,自行模拟);如果这个置换群里面没有0,则M=置换群节点数量+1 !!!vis记录是否该节点已经被放在正确的位置 !!!剩下就没什么可说的了 参考了https://www.cnblogs.…
A permutation p of length n is a sequence of distinct integers p1, p2, ..., pn (1 ≤ pi ≤ n). A permutation is an identity permutation, if for any i the following equation holds pi = i. A swap (i, j) is the operation that swaps elements pi and pj in t…
就是先看排列p,必须满足其是一个环,才满足题意.就处理出有几个环,然后把它们合起来,答案就是多少. 然后再看序列b,自己稍微画一画就会发现,如果有偶数个1肯定是不行哒,否则,它就会再置换一圈回到它自己的位置的时候,正反面的情况和最初始相同,这样怎么转都没法在每个位置烤两面. 所以两部分的答案加起来就是最后的答案. A. Pavel and barbecue time limit per test 2 seconds memory limit per test 256 megabytes inpu…
http://codeforces.com/problemset/problem/441/D 置换群的基本问题,一个轮换内交换成正常顺序需要k-1次,k为轮换内元素个数 两个轮换之间交换元素,可以把两个轮换合并成1个,总交换次数+1 一个轮换内部交换,可以把一个轮换拆分成两个,总交换次数-1 #include <iostream> #include <cstdio> #include <cstring> #include <vector> using nam…
layout: post title: Codeforces Round 252 (Div. 2) author: "luowentaoaa" catalog: true tags: mathjax: true - codeforces - 群论 --- 传送门 A.Valera and Antique Items (签到) 题意 如果当前钱数比一组数中最小的还要大就+1 思路 直接模拟 #include<bits/stdc++.h> using namespace std…
比赛链接:http://codeforces.com/contest/569 A. Music time limit per test:2 seconds memory limit per test:256 megabytes Little Lesha loves listening to music via his smartphone. But the smartphone doesn't have much memory, so Lesha listens to his favorite…