Uva10294 Arif in Dhaka (置换问题)】的更多相关文章

扯回正题,此题需要知道的是置换群的概念,这点在刘汝佳的书中写的比较详细,此处不多做赘述.此处多说一句的是第二种手镯的情况.在下图中“左图顺时针转1个位置”和“右图顺时针旋转5个位置”是相同的,所以在最终结果处需要(ans1+ans2)/2. 可以看刘汝佳白书,来看,这道题,burnside引理和polya定理的经典应用. #include<cstdio> #include<cstring> #include<cmath> #include<iostream>…
[Uva10294]Arif in Dhaka 标签: 置换 Burnside引理 题目链接 题意 有很多个珠子穿成环形首饰,手镯可以翻转和旋转,项链只能旋转.(翻转过的手镯相同,而项链不同) 有n个珠子,k种颜色,输出不同的项链和手镯的个数. 题解 先考虑旋转的置换: 假如旋转i颗珠子,那么显然产生的循环节个数为gcd(i,n),那么就可以做了. 考虑翻转的置换: 首先可以知道,如果先旋转再翻转,肯定可以找到某一种翻转的置换与之等价. 那么假如珠子的个数为奇数,可以得到(n/2)个长度为2的循…
题目链接:https://vjudge.net/problem/UVA-10294 题解: 白书P146~147. 为什么旋转i个间距,就有gcd(i,n)个循环,且每个循环有n/gcd(i,n)个元素? 证明: (gcd:最大公约数,lcm:最小公倍数) 将珠子从0到n-1标号,对于旋转i位的置换,在以0号为起点,长度为t的一个循环节中,元素标号为:0,i%n,(i*2)%n,…,(i*(t-1))%n 易知:(i*t)%n==0(循环大小为t,跳t次就回到初始点0),即 n*k == i*t…
UVA10294 Arif in Dhaka (群论,Polya定理) 题意 : 给你一个长为\(n\)的项链和手镯,每个珠子有\(m\)种颜色. 两个手镯定义为相同,即它们通过翻转和旋转得到一样的手镯. 两个项链定义为相同,即它们只能通过旋转得到一样的项链. 求出有多少种本质不同的项链和手镯. \((1 \le n \le 50, 1 \le m \le 10)\) 题解 : (参考了一下这篇大佬博客) 大白书上的原题,一个裸的Polya定理(逃 Polya定理 : \[L=\frac{1}{…
题意 PDF 分析 用n颗宝石串成项链和手镯, 每颗宝石的颜色可以t种颜色中的一种,当A类项链经过旋转得B类项链时,A和B属于一类项链, 而手镯不仅可以旋转还可以翻转,当A类手镯经过翻转得得到B类手镯时A和B属于一类手镯,问这n颗宝石,t种颜色,可以串成多少种项链和手镯? 解法: 首先将n颗宝石按顺时针方向编号1,2,3,4,5,6......n 旋转,当顺时针旋转i颗宝石时, 可以得到一个置换,且这个置换的个数为 (n*i)/gcd(n,i)/i ;由对称性可知 每个循环的阶均相同,故共有gc…
题目来源:UVa 10294 Arif in Dhaka (First Love Part 2) 题意:n颗珠子t种颜色 求有多少种项链和手镯 项链不可以翻转 手镯可以翻转 [分析] 要开始学置换了. 置换是什么呢?  置换的广义概念在不同语境下有不同的形式定义: 在集合论中,一个集合的置换是从该集合映至自身的双射:在有限集的情况,便与上述定义一致. 在组合数学中,置换一词的传统意义是一个有序序列,其中元素不重复,但可能有阙漏.例如1,2,4,3可以称为1,2,3,4,5,6的一个置换,但是其中…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35397 [思路] Polya定理. 旋转:循环节为gcd(i,n),i为偏移距离. 翻转:当n为偶数时,对称轴过点时循环节为n/2+1有n/2个,不过点时循环节为n/2有n/2个. 使用polya定理进行计数即可. [代码] #include<cstdio> using namespace std; typedef long long LL; +; LL pow…
Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f).等价类的数目等于所有C(f)的平均值. 一个项链,一个手镯,区别在于一个能翻转一个不能,用t种颜色染n颗珠子,求等价类的个数. 旋转置换群一共有n个置换,分别对应将项链整体逆时针旋转0个.1个.2个...珠子的置换. 对于第i个置换,第0个.i个.2i...个珠子构成一个循环,共有gcd(n, i)个循环,每个循环中有n / gcd(n, i)个珠子. 所以n个置换,每个置换的不动点有t…
Description 现有一颗含\(N\)个珠子的项链,每个珠子有\(t\)种不同的染色.现求在旋转置换下有多少种本质不同的项链,在旋转和翻转置换下有多少种本质不同的项链.\(N < 51,t < 11\) Input The input file contains several lines of input. Each line contains two positive integers \(N (0 < N < 51)\) and \(t (0 < t < 1…
这题和POJ-1286一样 题意: 给出t种颜色的n颗珠子 (每种颜色的珠子个数无限制,但总数必须是n), 求能制作出项链和手镯的个数 注意手镯可以翻转和旋转  而 项练只能旋转 解析: 注意Polya定理: 等价类的个数等于所有的置换f的km(f)的平均数 先考虑旋转,一共有n种情况,旋转1颗珠子构成循环,2颗,3颗·····n颗,那么对于旋转i颗珠子有gcd(i,n)个循环,那么根据Polya定理  置换的不动点的个数为 a = sum(tgcd(i, n)); 为什么又gcd(i, n)个…
题意:给定 n 和 m 表示要制作一个项链和手镯,项链和手镯的区别就是手镯旋转和翻转都是相同的,而项链旋转都是相同的,而翻转是不同的,问你使用 n 个珠子和 m 种颜色可以制作多少种项链和手镯. 析:一个很明显的 Polya 定理,先考虑旋转,如果逆时针旋转 i 个珠子,那么 0 i 2i 3i ... 是一个循环,这样的话就有 gcd(i, n) 个循环. 对于翻转,要考虑是奇偶,如果是奇数,肯定是要过一个珠子的,所以就一共有 n 个相同的,对于每一个会形成 n/2 个长度为 2 个的循环,和…
polya题目:uva 11077 Find the Permutationsuva 10294 Arif in DhakaLA 3641 Leonardo's Notebookuva 11077 Find the PermutationsHOJ 2084 The Colored CubesHOJ 2647 Megaminx POJ 1286 Necklace of BeadsPOJ 2409 Let it BeadTOJ 2795 The Queen's New NecklacesHDU 18…
Arif in Dhaka(First Love Part 2) Input: standard input Output: standard output Time Limit: 2 seconds Our hero Arif is now in Dhaka (Look at problem 10244 – First Love if you want to know more about Arif, but that information is not necessary for this…
UVA10294 POLYA定理的基本应用 题意:有n个珠子围成的环,有t种颜色可以染这些珠子:如果这个环可以旋转有几种办法:如果这个环可以旋转,且可以翻转,有几种办法: 参考博客 刘汝佳的分析: 等价类计数问题.一共有两种置换,选择以及翻转.项链只有第一种置换,手镯则有两种置换.设所有珠子按逆时针编号0~n-1. 旋转置换:如果逆时针旋转i颗珠子的间距,则珠子0.i.2i.…构成一个循环.这个循环有n/gcd(i,n)个元素.根据对称性,所有循环的长度相同,因此一共有n/(n/gcd(i,n)…
Design and implement a data structure for Least Frequently Used (LFU) cache. It should support the following operations: get and put. get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise return -1.pu…
Given a string that consists of only uppercase English letters, you can replace any letter in the string with another letter at most k times. Find the length of a longest substring containing all repeating letters you can get after performing the abo…
页置换算法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这三种置换算法的缺页次数各是多少? 假设:缺页定义为所有内存块最初都是空…
链接:http://poj.org/problem?id=2369 Permutations Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3039   Accepted: 1639 Description We remind that the permutation of some final set is a one-to-one mapping of the set onto itself. Less formal…
链接:http://poj.org/problem?id=1026 Cipher Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21436   Accepted: 5891 Description Bob and Alice started to use a brand-new encoding scheme. Surprisingly it is not a Public Key Cryptosystem, but t…
在Excel中把横行与竖列进行置换:复制要置换的单元,在新的单元上右键->选择性复制,会出现对话框,选中“置换”,即可在Excel中打勾号,左手按住ALT不放,右手在小键盘也就是右边的数字键盘依次输入41420这几个数字,再放开左手的ALT键,这样"√"就出来了.请不要在字母上面的一排数字输入41420,那样是不会出来的.…
选择调出页面的算法就称为页面置换算法.好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问或者以后较长时间内不会再访问的页面先调出. 常见的置换算法有以下四种(以下来自操作系统课本). 1. 最佳置换算法(OPT) 最佳(Optimal, OPT)置换算法所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率.但由于人们目前无法预知进程在内存下的若千页面中哪个是未来最长时间内不再被访问的,因而该算法无法实现. 最佳置换算法可以用来评…
页面置换算法是什么?我们看一下百度百科对页面置换算法给出的定义:在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断.当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存中选择一个页面将其移出内存,以便为即将调入的页面让出空间.而用来选择淘汰哪一页的规则叫做页面置换算法.好了,说到底,页面置换算法就是因为操作系统的内部不够,在调入新的页面时如何取代哪个页面的问题.常见的页面置换算法有如下图所示几种: 上述的随机替换我们很容易理解,就是操作系统随机挑选的一个被…
LRU(Least Recently Used)最少使用页面置换算法,顾名思义,就是替换掉最少使用的页面. FIFO(first in first out,先进先出)页面置换算法,这是的最早出现的置换算法.该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最长的页面给予淘汰. FIFO置换算法有这样一个奇怪现象:内存空间块数越多,缺页中断率可能相反的越高(缺页中断次数越高). LFU(Least Frequently Used)最近最少使用算法,它是基于"如果一个数据在最近一段时间内使用次…
目录 00 简介 01 算法概述 02 公用方法与变量解释 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存的忙闲状态,为进程分配和释放内存.当主存的空间太小而无法装入所有的进程时,就需要在内存和硬盘之间进行调度操作. 多数操作系统只采用某种特定的页面置换算法进行置换,无法预先探测当前运行进程的页面访问模式,因此不能根据不同的页面访问模式,选用不同的页面置换算法.当然,如果能对不同的访问模式选取相应的页面…
缓存算法(页面置换算法)-FIFO. LFU. LRU 在前一篇文章中通过leetcode的一道题目了解了LRU算法的具体设计思路,下面继续来探讨一下另外两种常见的Cache算法:FIFO. LFU 1.FIFO算法 FIFO(First in First out),先进先出. 其实在操作系统的设计理念中很多地方都利用到了先进先出的思想,比如作业调度(先来先服务),为什么这个原则在很多地方都会用到呢?因为这个原则简单. 且符合人们的惯性思维,具备公平性,并且实现起来简单,直接使用数据结构中的队列…
题目链接: LCS Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 818    Accepted Submission(s): 453 Problem Description You are given two sequence {a1,a2,...,an} and {b1,b2,...,bn}. Both sequences are…
转自:http://blog.doyoe.com 先进一个题外话 在面试一个 重构(各大公司的叫法可能不太一样)时,我喜欢从一个点开始问,然后一直延展下去成为一条线,甚至是一个面,直到问到不会的地方,然后又换另外一个点. 例如:我可能会说,能简单聊聊 行内级元素 和 块级元素 的区别吗. 一般这时,候选人都会说到 行内级元素 不会换新行,而 块级元素 会格式化为块状,即换行.但也有些遗憾的方面(如:混淆了块元素和块级元素,行内元素和行内级元素),当然这看起来似乎不是特别重要. 这时我会继续问,行…
视差贴图和法线贴图都是使用特定的手段来达到欺骗视觉的目的,让人以为物体的表面是凹凸起伏的.而置换贴图却是真的将模型的顶点进行偏移,在原本的平面上创造出凹凸的效果.既然是对顶点进行偏移,那么就需要模型有足够多的顶点数量,否则达不到比较好的效果.为了达到足以置换的顶点数量,一般会使用 Tessellation 技术来增加低模的面数.查阅了相关资料,Tessellation 是 DirectX11 才有的技术,OpenGL 要到 4.0 才能使用.对于 Tessellation 知道的并不多,再加上移…
题目 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 样例 "abc" 为 "cba" 的置换. "aabc" 不是 "abcc" 的置换. 解题 定义一个数组统计字符次数,去除字符次数,数组是否为空 public class Solution { /** * @param A a string * @param B a string * @re…
来自:[数据结构与算法分析——C语言描述]练习2.7 问题描述:假设需要生成前N个自然数的一个随机置换.例如,{4,1,2,5,2}和{3,1,4,2,5}就是合法的置换,但{5,4,1,2,1}却不是,因为数1出现了两次而数3缺没有.这个程序常常用于模拟一些算法.我们假设存在一个随机数生成器randInt(i, j),它以相同的概率生成i和j之间的一个整数.下面是三个算法: 1.如下填入A[0]到A[N-1]的数组A:为了填入A[i],生成随机数直到它不同于已经生成的A[0],A[1], ..…