【XSY2703】置换 数学 置换 DP】的更多相关文章

题目描述 对于置换\(p\),定义\(f(p)\)为最小的正整数\(k\),使得\(p^k\)为恒等置换. 你需要求对于所有的\(n\)元素置换\(p\),\(f^2(p)\)的平均值. \(n\leq 200\) 题解 考虑把置换拆成很多个循环. \(f(p)\)就是所有循环的长度的\(lcm\) 可以考虑DP,设\(f_{i,j}\)为放了\(i\)个位置,当前所有循环长度的\(lcm\)的状态为\(j\)(每个质因子的最高次幂是多少). 但是状态数会很多 有一个微小的技巧,考虑到每个循环长…
BZOJ_1025_[SCOI2009]游戏_DP+置换 Description windy学会了一种游戏.对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应.最开始windy把数字按 顺序1,2,3,……,N写一排在纸上.然后再在这一排下面写上它们对应的数字.然后又在新的一排下面写上它们 对应的数字.如此反复,直到序列再次变为1,2,3,……,N. 如: 1 2 3 4 5 6 对应的关系为 1->2 2->3 3->1 4->5 5->4 6->6 wind…
鞍山热身赛的题,也是去年多校原题 题目大意: 求n个数的排列中满足相邻两个数互质的排列的数量并取模 当时的思路就是状压dp.. dp[i][state]  state用二进制记录某个数是否被取走,i 表示当前序列末尾的数字 然后gcd状态转移 可是n是28,算了一下有几亿个状态..没法做.. 回来之后找了题解发现可以用数学方法优化,于是搞了半天终于ac了 首先在这个问题中: 两个数是否互质只与他们的质因数有关,所以质因数相同的数是等价的,称作此问题的等价类 质因数找到这些等价类,并得到每个类中的…
题目传送门 题目大意: 给出一个n和k,每次操作可以把n等概率的变成自己的某一个因数,(6可以变成1,2,3,6,并且概率相等),问经过k次操作后,期望是多少? 思路:数学和期望dp  好题好题!! 直接考虑n到因子很难做,所以要研究从n到因子的一些性质. 如果一个数可以写成,p^c这样的形式,并且p是质数,那么如果把这个数进行上述的操作,他可以变成的形式必然是p^x(0<=x<=c),并且每个数的概率是平均的. 所以对于这样的数,我们可以得出dp方程,i表示第几次操作,j表示p^j. dp[…
置换 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output Sample Input 4 2 1 4 3 Sample Output 3 4 2 1 HINT 1<=n<=10^6 Main idea 已知一个置换置换自己得到的序列,求这个置换. Solution 显然是置换题.首先我们正向考虑,考虑一下一个置换置换自己会发生怎样的结果. 然后我们一波画图发现:如果一个轮换的长度是奇数,那么这个环所有点连边向后移一位…
题意:输入一个数N,N每次被它的任意一个因数所除 变成新的N 这样一直除下去 直到 N变为1 求变成1所期望的次数 解析: d[i] 代表从i除到1的期望步数:那么假设i一共有c个因子(包括1和本身) d[i] = ( d[1] + d[a2] + d[a3] + d[a4] ..... + d[i] + c) / c; (加c是因为每一个期望值都会加1,因为多出一步才变成它(即第一次从i到它的因子的那一步)) 把右边的dp[i] 移到左边 化简得 dp[i] =  ( d[1] + d[a2]…
Description 给定一棵 \(n\) 个节点的树,点有点权 \(a_u\),可能为负.现在请你在树上找出 \(k~(1~\leq~k~\leq~n)\) 个不相交集合,使得每个集合中的每对点都可以通过本集合中的点互相到达,假设选出的 \(k\) 个集合的并集为 \(s\),要求最大化: \[\frac{\sum_{u \in s} a_u}{k}\] 如果有多解请输出 \(k\) 最大的解 Input 第一行是节点个数 \(n\). 下面一行 \(n\) 个数代表点权 下面 \(n -…
[BZOJ4872][Shoi2017]分手是祝愿 Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态,下标为从 1 到 n 的正整数.每个灯有两个状态亮和灭,我们用 1 来表示这个灯是亮的,用 0 表示这个灯是灭的,游戏的目标是使所有灯都灭掉.但是当操作第 i 个开关时,所有编号为 i 的约数(包括 1 和 i)的灯的状态都会被改变,即从亮变成灭…
Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所以皮皮购买第k 张邮票需要支付k元钱.现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望. Input 一行,一个数字N,  N<=10000 Output 要付出多少钱. 保留二位小数 题解: 挺神的一道期望 $DP$. 令 $f_{i}$ 表示已经有 $…
Description Input 第一行,两个正整数 S 和 q,q 表示询问数量. 接下来 q 行,每行一个正整数 n. Output 输出共 q 行,分别为每个询问的答案. Sample Input 30 3 9 29 1000000000000000000 Sample Output 0 9 450000036 HINT 感谢the Loser协助更正数据 对于100%的数据,2<=S<=2*10^6,1<=n<=10^18,1<=q<=10^5 这个题面让人很…
题意:RT 题解:先对\(p\)排个序,然后设\(dp[i]\)表示前\(i-1\)个\(p[i]\)满足条件但是\(p[i]\)不满足,即在\([1,p[i]]\)中不存在从\(p[1]\)到\(p[i-1]\)[的排列,比如说\(p[1]=1\),\(p[2]=2\),\(p[3]=3\),则\(dp[4]\)中一定不能存在\([1,x,x,x](p[1])\),\([1,2,x,x](p[2])\),\([1,2,3,x]\)这样的序列,因为这些对于\(p[1]\)到\(p[i-1]\)存…
正题 题目链接:https://www.luogu.com.cn/problem/CF708E 题目大意 有\(n*m\)的矩形网格,然后每次每行最左边和最右边的格子各有\(p=\frac{c}{d}\)的概率会消失,进行\(k\)次. 求最后所有格子依旧四联通的概率,在\(\%(10^9+7)\)的情况下进行 \(1\leq n,m\leq 1500,1\leq k\leq 10^5\) 解题思路 \(n,m\)很小,感觉上不是一个暴力计数的题目. 可以考虑一个比较慢的方法先,先考虑一个方向腐…
问题描述 给定一个十进制整数N,求出从1到N的所有整数中出现”1”的个数.  例如:N=2时 1,2出现了1个 “1” . N=12时 1,2,3,4,5,6,7,8,9,10,11,12.出现了5个“1”. 方法一 暴力求解 最直接的方法就是从1开始遍历到N,将其中每一个数中含有“1”的个数加起来,就得到了问题的解. 下面给出代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() {…
题目链接 大意 给出一个序列,当你在某个点时,有一个向右走的概率\(P_i\)(向左为\(1-P_i\)), 给出\(M\)个操作,操作有两类: 1 X Y Z:把\(P_X\)的值修改为\(\frac{Y}{Z}\) 2 L R:询问你从\(L\)出发,随机游走,在不经过\(L-1\)的情况下到达\(R+1\)的概率 思路 我们对于一个区间设有两个值\(ValL,ValR\), 分别表示从这段区间的左端点出发能赢的概率与从它的右端点出发能赢的概率. 即我们要求的是任意区间的\(ValL\).…
题面传送门 一道挺有意思的题罢-- 首先看到这种与置换乘法相关的题,首先把这些置换拆成一个个置换环,假设输入的置换有 \(m\) 个置换环,大小分别为 \(s_1,s_2,\cdots,s_m\),显然置换环与置换环的顺序是不影响的,因此我们只用考虑它的大小即可. 其次我们考虑对于一个置换,我们来考虑对其进行 \(k\) 次幂后会得到什么.手玩几组数据就可以发现,原来不在同一个置换环中的元素,进行 \(k\) 次幂后,肯定也不会在同一个置换环中,而有的原本在同一个置换环中的元素进行 \(k\)…
页面置换算法是什么?我们看一下百度百科对页面置换算法给出的定义:在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断.当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存中选择一个页面将其移出内存,以便为即将调入的页面让出空间.而用来选择淘汰哪一页的规则叫做页面置换算法.好了,说到底,页面置换算法就是因为操作系统的内部不够,在调入新的页面时如何取代哪个页面的问题.常见的页面置换算法有如下图所示几种: 上述的随机替换我们很容易理解,就是操作系统随机挑选的一个被…
题目 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 样例 "abc" 为 "cba" 的置换. "aabc" 不是 "abcc" 的置换. 解题 定义一个数组统计字符次数,去除字符次数,数组是否为空 public class Solution { /** * @param A a string * @param B a string * @re…
题意:给你一个无序数列,让你两两交换将其排成一个非递减的序列,每次交换的花费交换的两个数之和,问你最小的花费 思路:首先了解一下什么是置换,置换即定义S = {1,...,n}到其自身的一个双射函数f.那么我们将其写为若干个不相交的循环的乘积形式(A1, A2, ... Ap1)(B1, B2, ... Bp2)... ...例如 数组   9 4 5 7 3 1 下标   1 2 3 4 5 6 排序后下标   6 3 4 5 2 1 让我们看下标 1->6->1 一个循环 (9 1) 2-…
字符串置换 描述: 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 样例: "abc" 为 "cba" 的置换. "aabc" 不是 "abcc" 的置换. 思路: 误区是列出给定字符串的全部置换字符串然后再一一比对,这样肯定会超时. 根据题目给出的置换的概念和样例可以知道几个条件: 两个字符串长度相同. 每个字符串中的各个字符数量相同. 因此,…
FIFO.LRU.OPT这三种置换算法的缺页次数 转载  由于要考计算机四级网络,这里遇到了问题,就搜了一些资料来解疑. 考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问FIFO.LRU.OPT这三种置换算法的缺页次数各是多少? 答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页. 当内存块数量为3时: 发生缺页中断的次数为16. 在FIFO算法中,先进入内存的页面被先换出.当页6要调入时,内存…
题意 给定一个置换形式如,问经过几次置换可以变为恒等置换 思路 就是求k使得Pk = I. 我们知道一个置换可以表示为几个轮换的乘积,那么k就是所有轮换长度的最小公倍数. 把一个置换转换成轮换的方法也很简单,从一个数出发按照置换图置换,直到置换到已经置换过的数,则这些数就构成一个轮换. 代码 [cpp] #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #i…
字符串置换 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 样例 "abc" 为 "cba" 的置换. "aabc" 不是 "abcc" 的置换. 标签 字符串处理 排列 code class Solution { public: /** * @param A a string * @param B a string * @return a bo…
题目描述 出个题就好了.这就是出题人没有写题目背景的原因.你在平面直角坐标系上.你一开始位于$(0,0)$.每次可以在上/下/左/右四个方向中选一个走一步.即:从$(x,y)$走到$(x,y+1),(x,y-1),(x-1,y),(x+1,y)$四个位置中的其中一个.允许你走的步数已经确定为$n$,现在你想走$n$步之后回到$(0,0)$.但这太简单了,你希望知道有多少种不同的方案能够使你在n步之后回到$(0,0)$,当且仅当两种方案至少有一步走的方向不同,这两种方案被认为是不同的.答案可能很大…
目录 1.什么是变量的测试与内容置换 2.变量的测试与内容置换 3.示例 例1: 例2: 例3: 1.什么是变量的测试与内容置换 我们之前说过,在Shell中,一个变量未定义,和一个变量为空值的输出效果是一样的. # 先直接输出一个未定义的变量y [root@Lyl ~]# echo $y # 再定义变量y为空值,并输出变量y [root@Lyl ~]# y="" [root@Lyl ~]# echo $y [root@Lyl ~]# 其结果都是没有任何显示. 前边在说set命令的时候…
目录 题面 置换 这里没有群论 置换 置换的乘法(复合) 置换乘法的单位元 置换乘法的结合律 置换快速幂 置换求乘法逆 真题解 一种可能的代码实现 关于循环节做法 题面 对于字符串 \(s\) 定义一个变换 \(f(s)\) 表示, \(\forall 1\le k\le \lfloor|s|/2\rfloor\) ,将 \(s\) 中从后往前第 \(k\) 个字符插入从前往后第 \(k\) 个字符和第 \(k+1\) 个字符之间后得到的字符串,例如 \(\texttt{abcdef}\) 变换…
 1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,<组合数学>里面有讲.对于置换的幂运算大家可以参考一下潘震皓的那篇<置换群快速幂运算研究与探讨>,写的很好. *简单题:(应该理解概念就可以了) pku3270 Cow Sorting http://acm.pku.edu.cn/JudgeOnline/problem?id=3270 pku…
题目描述 用三种颜色染一个长度为 $n=Sr+Sb+Sg$ 序列,要求三种颜色分别有 $Sr,Sb,Sg$ 个.给出 $m$ 个置换,保证这 $m$ 个置换和置换 ${1,2,3,...,n\choose 1,2,3,...,n}$ 构成一个置换群,求置换后不同构的序列个数模 $p$ . $0\le Sr,Sb,Sg\le 20,0\le m\le 60,m+1\le p\le 100$ ,$p$ 是质数. 输入 第一行输入 5 个整数:Sr,Sb,Sg,m,p(m<=60,m+1<p<…
在盛情收到学弟邀请给他们整理ACM数学方面的知识体系,作为学长非常认真的弄了好久,希望各学弟不辜负学长厚爱!!!非常抱歉因为电脑全盘格式化好多word.PPT都丢失,我尽量具体地给大家找到各知识点学习链接及题目链接,敬请原谅.里面非常多牛人写的博客,我都贴了网址,大家认真看下吧! 本人数论博客地址: http://blog.csdn.net/xh_reventon/article/category/1334125 一.组合数学: 1.  Polya定理.burnside定理 http://blo…
意图写出http://www.cnblogs.com/kuangbin/archive/2012/08/28/2661066.html这个东西的完善版. 1.置换,置换的运算 poj 2369 Permutations置换群中有一个定理:设T为一置换,e为单位置换,T^k=e,那么k的最小正整数解是T的拆分的所有循环长度的最小公倍数. #include <cstdio> ; ? a : gcd(b, a % b);} int lcm(int a,int b){return a / gcd(a,…
这个东西先放在这吧.做过的以后会用#号标示出来 1.burnside定理,polya计数法    这个大家可以看brudildi的<组合数学>,那本书的这一章写的很详细也很容易理解.最好能完全看懂了,理解了再去做题,不要只记个公式.    *简单题:(直接用套公式就可以了)    pku2409 Let it Bead      #http://acm.pku.edu.cn/JudgeOnline/problem?id=2409    pku2154 Color   #http://acm.p…