10294 - Arif in Dhaka (First Love Part 2) (数论置换)

2024-06-01 20:18

本文主要是介绍10294 - Arif in Dhaka (First Love Part 2) (数论置换),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

UVA 10294 - Arif in Dhaka (First Love Part 2)

题目链接

题意:给定n个珠子,t种颜色, 问能组成几个项链和手镯(手镯能翻转,项链不能)

思路:利用Burnside求解,推理出旋转的循环个数是gcd(i, n),翻转的分为奇偶情况考虑

代码:

#include <stdio.h>
#include <string.h>const int N = 30;
int t, next[N], vis[N], num[N];
char str[N];bool judge() {for (int i = 2; i <= 26; i += 2)if (num[i] % 2) return false;return true;
}int main() {scanf("%d", &t);while (t--) {scanf("%s", str);for (int i = 0; i < 26; i++)next[i] = str[i] - 'A';memset(vis, 0, sizeof(vis));memset(num, 0, sizeof(num));for (int i = 0; i < 26; i++) {if (!vis[i]) {vis[i] = 1;int t = next[i];int cnt = 1;while (!vis[t]) {vis[t] = 1;t = next[t];cnt++;}num[cnt]++;}}printf("%s\n", judge()?"Yes":"No");}return 0;
}


这篇关于10294 - Arif in Dhaka (First Love Part 2) (数论置换)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022015

相关文章

数据分析:置换检验Permutation Test

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 介绍 置换检验是一种非参数统计方法,它不依赖于数据的分布形态,因此特别适用于小样本数据集,尤其是当样本总体分布未知或不符合传统参数检验的假设条件时。置换检验的基本思想是通过随机置换样本来评估观察到的统计量是否显著不同于随机情况下的预期值。最初真正认识置换检

Spark算子:RDDAction操作–first/count/reduce/collect/collectAsMap

first def first(): T first返回RDD中的第一个元素,不排序。 scala> var rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)rdd1: org.apache.spark.rdd.RDD[(String, String)] = ParallelCollectionRDD[33] at mak

什么是FIFO管理单元?(First-In-First-Out)

FIFO(First-In-First-Out,先进先出)管理单元是一种广泛用于数据处理和存储系统中的机制,其核心理念是确保最早进入系统的数据最早被处理或移出。这种管理方法类似于排队的方式,最早进入队列的项目会最先得到服务。         FIFO管理单元通常用于缓冲区(Buffer)设计、任务调度、内存管理等多个领域。在硬件和软件系统中,FIFO机制有助于保证数据的有序处理,

SharePoint At Work----SharePoint Data View Web Part

添加DVWP(数据视图Web部件) 1. SharePoint Designer中打开页面,光标放置在要添加DVWP的地方。建议使用拆分模式。 2. 插入----数据视图----空白数据视图。         如果你选择了某个列表或库,你将得到一个XLV而不是DVWP。         你将看到页面上你的DVWP。现在你只有DVWP的外壳,它声明其主要特征。典型的外壳可能

使用Visual Studio 创建新的Web Part项目

使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之一。它是平台构建的核心基块。 1. 管理员身份打开Visual Studio,新建空白SharePoint项目。命名WroxSPProject,点击确定。部署为场解决方案,点击完成。 2. 右击选择添加新项目Web Part,命名SimpleWebPart,点

使用程序创建自定义Web部件Web Part

使用程序创建自定义Web部件Web Part 使用VS2010你可以通过程序创建自定义Web部件。 1. 以管理员身份打开VS2010.新建项目----空白SharePoint项目。命名MyFirstWebPart,点击确定。 2. 部署为场解决方案。 3. 右击项目添加新项目---Web Part。命名MyFirstWebPart。 4. 查看Web part代码文件,

[POJ 1284] Primitive Roots (数论,原根)

POJ - 1284 题意是,求一个质数的原根 原根的定义是,对于正整数 aimodp(i=[1,p−1]) a^i mod p (i=[1,p-1])得到的集合为{1,2,…,p-1},那么则称 a是 p的一个原根 对于任意正整数 p,其原根个数为 ϕ(ϕ(p)) \phi( \phi(p) ), ϕ(n) \phi(n)为欧拉函数,表示小于n且与n互质的数的个数 而质数的欧拉函数值

[HDU 4324] Triangle LOVE (拓扑排序,DFS)

HDU - 4324 题意是,一张有 N个点的图,保证每两个点之间有且只有一条有向边连接 求是否存在三元环 用拓扑排序判环,如果存在环,则一定存在三元环 证明如下: 不存在二元环 设存在 n(n>=3)元环 p1->p2->p3->…->pn->p1 1) 若存在边 p3->p1,则存在三元环 (p1->p2->p3->p1) 2) 若不存在 p3->p1,则必然存在 p1->p3

EF三种编程方式详细图文教程(C#+EF)之Model First

Model First Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在Visual Studio中我们通过设计对于的数据模型来生成数据库和数据类。 首先创建一个控制台应用程序,右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDe

计算机视觉实验二:基于支持向量机和随机森林的分类(Part two: 编程实现基于随机森林的泰坦尼克号人员生存与否分类)

目录 一、实验内容 二、实验目的 三、实验步骤 四、实验结果截图 五、实验完整代码 一、实验内容         编程实现基于随机森林的泰坦尼克号人员生存与否分类,基本功能包括:Titanic - Machine Learning from Disaster数据集的下载;数值型数据和文本型数据的筛查、舍弃、合并、补充;随机森林的人员生存与否分类。 二、实验目的