hdu2609---How many

LSF调度实战:如何用bsub命令实现多队列资源抢占与公平调度 本文深入探讨了LSF作业调度系统的高级实战技巧,重点解析如何通过配置`lsb.queues`文件与灵活运用`bsub -R`命令,构建一套兼顾效率与公平的多队列资源抢占与调度体系。文章详细介绍了队列优先级设计、公平共享机制、资源感知调度以及抢占策略的实施,帮助集群管理员解决高优先级任务等待、资源分配不均等常见问题,实现计算资源的精细化管理和高效利用。 阅读详情

Problem Description
Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell me
How many kinds of necklaces total have.(if two necklaces can equal by rotating ,we say the two necklaces are some).
For example 0110 express a necklace, you can rotate it. 0110 -> 1100 -> 1001 -> 0011->0110.

Input
The input contains multiple test cases.
Each test case include: first one integers n. (2<=n<=10000)
Next n lines follow. Each line has a equal length character string. (string only include ‘0’,’1’).

Output
For each test case output a integer , how many different necklaces.

Sample Input

4 0110 1100 1001 0011 4 1010 0101 1000 0001

Sample Output

1 2

Author
yifenfei

Source
奋斗的年代

Recommend
yifenfei | We have carefully selected several similar problems for you: 2608 1131 2572 1130 2610

把每一个串用最小表示法表示,然后统计出不同的字符串的个数

/*************************************************************************
    > File Name: hdu2609.cpp
    > Author: ALex
    > Mail: zchao1995@gmail.com 
    > Created Time: 2015年02月17日 星期二 22时06分29秒
 ************************************************************************/

#include <map>
#include <set>
#include <queue>
#include <stack>
#include <vector>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

const double pi = acos(-1);
const int inf = 0x3f3f3f3f;
const double eps = 1e-15;
typedef long long LL;
typedef pair <int, int> PLL;

const int N = 10010;
const int M = 110;
char str[N][M];
char s[M];
set <string> st;

void minway (char str[])
{
    int len = strlen (str);
    int i = 0;
    int j = 1;
    int k = 0;
    while (i < len && j < len && k < len)
    {
        int t = str[(i + k) % len] - str[(j + k) % len];
        if (!t)
        {
            ++k;
        }
        else
        {
            if (t > 0)
            {
                i += k + 1;
            }
            else
            {
                j += k + 1;
            }
            k = 0;
            if (i == j)
            {
                ++j;
            }
        }
    }
    int start = min (i, j);
    for (int i = 0; i < len; ++i)
    {
        s[i] = str[(i + start) % len];
    }
    s[len] = '\0';
    st.insert(s);
}

int main ()
{
    int n;
    while (~scanf("%d", &n))
    {
        st.clear();
        for (int i = 1; i <= n; ++i)
        {
            scanf("%s", str[i]);
            minway(str[i]);
        }
        int size = st.size();
        printf("%d\n", size);
    }
    return 0;
}
推荐系统(一)概述 在互联网领域,推荐系统(Recommendation Systems)的应用非常广泛。在音视频方面,如抖音、快手、哔哩等;在电商平台方面,如京东、淘宝、拼多多等。推荐有助于帮助用户快速发现潜在感兴趣的内容(音视频、商品、新闻等信息流),从而提升用户体验,同时有助于提升商业效率。从本文开始,笔者将结合自身在信息流推荐领域的经验,通过系列文章对推荐系统展开介绍。 阅读详情

相关推荐

智能农业大棚

目 录 摘要 1.绪论 2.系统概述及单片机介绍 2.1整体方案设计思想 2.2系统组成 2.2.1主控芯片的选择 2.2.2传感器模块选择 2.2.3电机驱动模块 2.3 单片机介绍 2.3.1 AT89C51单片机的基本组成 2.3.2AT89C51主要特性 2.3.3管脚说明 2.3.4 AT89C51单片机的存储器 2.3.4.1 程序存储器 2.3.4.2 数据存储器 2.3.5 振荡电路和时钟 2.3.6 AT89C51的中断

weixin_70886450的博客 1327

【代码超详解】HDU 2609 How Many?(最小表示法)

一、题目描述 二、算法分析说明与代码编写指导 对输入的每个字符串,将它们的最小表示添加到 unordered_set 中,最后就可以直接统计出有多少同构的字符串。 字符串的长度似乎会达到 101,超出题目给的 100。 三、AC 代码 #include<cstdio> #include<algorithm> #include<cstring> #include...

COFACTOR 259

用Java实现森林冰火人游戏

g.drawString("游戏结束", CELL_SIZE * COLS / 2 - 100, CELL_SIZE * ROWS / 2);g.drawString("难度级别: " + difficultyLevel, 10, CELL_SIZE * ROWS + 60);g.drawString("生命值: " + playerHealth, 10, CELL_SIZE * ROWS + 20);setTitle("森林冰火人");

2401_82778412的博客 1734

字符串处理--HDU第2609解题报告

题目链接 这题本来不明白是什么意思,还以为是每个串的数字加起来,如果相等就表明是相等的串,但原来不来。 而是--》如果两个串是同构串,那么这两个串相等,为一个相同的串,我们就是要找出给出的数据中有多少不同的串。 这就要用找最小表示法了,如果两个串是同构串,那么这两个串的最小表示S1 == S2 http://blog.youkuaiyun.com/u012501262/article/deta

剑行earth 697

Jetson Nano 【1】入手开箱、烧系统

类似于半开箱哈哈 怀着小期待的心情,屁颠屁颠跑到村口领快递,拿到了这个香喷喷的Jetson Nano 开发板 开箱: 由于太激动了忘记拍点啥,于是在最后留了张全家福 板子的结构: 我觉得这个有必要记录一下,于是去官方文档拿了张图来:官方文档传送 1=SD card 的卡槽,位于第二层板子的背部,也就是大风扇屁股位置 2=40针扩展接头(还没开用) 3=USB的供电口,根据大佬测试(某哩...

椰子奶糖的博客 4195

ESP32-S3双模CMSIS-DAP调试器:USB+WiFi无线调试方案

CMSIS-DAP是ARM生态中标准化的嵌入式调试协议接口,广泛用于Keil、IAR、STM32CubeIDE等开发环境。其核心原理是通过SWD/JTAG物理层实现目标芯片寄存器访问、内存读写与断点控制,依赖确定性时序和低延迟通信。传统DAPLink调试器受限于USB线缆束缚,而WiFi-USB-DAPLink项目将完整CMSIS-DAP v2协议栈移植至ESP32-S3平台,同时支持USB CDC直连与WiFi TCP远程通道,兼顾实时性与网络化部署能力。该方案无需主机驱动、兼容主流IDE,并支持多机并发

weixin_31185473的博客 369

HDU 2609 How many(最小表示法模板+set判重)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2609 题意: 给定n个01组成的字符串,每个字符串是一个环状的结构,求可以经过循环旋转,最后不同的串有多少个。 题解: 求出每个字符串的最小表示,然后求hash值,set去重即可。 AC代码: #include&lt;iostream&gt; #include &lt;algorith...

sortmin的博客 274

YOLOv8模型轻量化实战:基于稀疏化剪枝与L1正则化的高效目标检测模型优化-附源码

本文提出一种YOLOv8轻量化方案,通过L1正则化稀疏化训练和动态阈值通道剪枝,在边缘计算场景中优化模型性能。方案分三步:首先通过L1正则诱导权重稀疏化并动态衰减系数;然后基于BN层权重统计进行通道剪枝,保留80%关键通道;最后对剪枝模型微调恢复精度。在COCO128数据集上验证,模型体积压缩40%,推理速度提升2.3倍,mAP仅下降0.4%,实现了精度与效率的平衡。该方案为移动端部署提供了可行的轻量化技术路径。

m0_64661770的博客 479

HDU - 2609 (最小表示法)

题目链接:HDU - 2609大致题意:这题就是给你n个字符串,然后如果是同构的字符串(如 :1100和0110和0011就是同样的字符串)所以这题的话,就是用最小表示法求出所有字符串的最小表示法,再暴力一下,求出不同的最小表示法的个数。#include<bits/stdc++.h> using namespace std; const int MAX_N =1e4+9; string vec[MA

会打架的程序员不是好客服 382

Pointnet++环境配置(Windows11和ubuntu)及训练教程

PS:前两行命令是数据处理的命令,主要是进行数据读取和生成相应的训练数据格式,在Ubuntu上是正常运行的,在Windows上运行会失败,无法生成训练用的数据格式,所以最好在Ubuntu上训练,如果一定要用Windows,可以ubuntu上生成数据格式在导到Windows上,数据生成不需要安装torch。通过anaconda配置的环境,在官网找的命令安装的,版本是2.1.0+cu118。训练命令:我使用的pycharm,直接在pycharm中打开终端,运行命令。Python版本:3.7。

AIcurator的博客 2558

CAD二次开发c# .net加载cui\cuix菜单文件

public static void LoadMyCui(string cuiFile) { Document doc = Application.DocumentManager.MdiActiveDocument; object oldCmdEcho = Application.GetSystemVariable("CMDECHO"); object oldFileDia = Application.GetSys..

2127

HDU 2609 How many (给定很多串,求不重复循环串的个数-----最大最小表示法)

Problem Description Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell me How many kinds of necklaces total have.(if two necklaces can equal by rotating ,we sa...

wcxyky的博客 205

【华为OD机试真题】65、高矮个子排队 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 >  我们现在希望小朋友排队,以"高" "矮" "高" "矮" 顺序排列,每一个高位置的小朋友要比相邻的位置高或者相等;每个 "矮" 位置的小朋友要比相邻的位置矮或者相等; >  要求小朋友们移动的距离和最小,第一个从“高"位开始排,输出最小移动距离即可。 >  例如,在示范小队{5,3,1,2,3}中, {5, 1, 3, 2, 3}是排序结果。 > 

KJ.JK 2101

HDU-2609 How many

题目链接:https://vjudge.net/problem/HDU-2609 这道题一看就很容易想到用最小表示法,把每个串都字典序最小化,再判重 判重的方法一开始没有想到,后来知道了可以先排序再去重,也可以直接用set去重 这里用set明显更方便,时间上也没问题 #include #include #include #include #include #include using na

wl16wzl的博客 268

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 2609 How Many

题目链接:HDU2609 题意:给你一堆串,如果一个串通过平移可以变成另一个串,就算两个串相同。我们要求出这堆串中有多少个不同的串。 题目分析:又是一道最大最小表示法的模板题,都转换成最小表示法,然后统计不同的串即可。 特别注意,转换后需要进行一次排序,不然会超时。 #include #include #include #include using namespace std; stru

teddywang 405

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【ICPC-230】hdu 2609 How many

点击打开链接hdu 2609 思路:字符串的最小表示 分析: 1 题目要求的是给定n个字符串,找出不同的字符串的个数。由于题目说了,字符串可以进行变换,也就是如果两个字符串相同那么它们的最小表示是相同的。 2 只要求出所有字符串的最小表示,然后利用set存储,最后set的元素个数就是最后的ans 代码: #include<iostream> #include<cst...

藏经阁 | 玄苦 1708

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HDU 2609 How many

https://cn.vjudge.net/problem/HDU-2609 题目 Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell meHow many kinds of necklaces total have.(if two necklaces ca...

147

HDU - 2609 How many 最小表示法应用

HDU - 2609 How many 题意: 给你n串项链(字符串可以左移),判断有多少种不同的项链 思路: 最小表示法+set 如果这些长度相同的字符串通过旋转后相同,则他们的最小表示法一定相同,最后set的大小即为不同的串数。 substr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度_Count或_Count+_Off超出了源字...

没有梦想何以远行 279

hdu 2609 How many

点击打开链接hdu 2609 思路:字符串的最小表示 分析: 1 题目要求的是给定n个字符串,找出不同的字符串的个数。由于题目说了,字符串可以进行变换,也就是如果两个字符串相同那么它们的最小表示是相同的。 2 只要求出所有字符串的最小表示,然后利用set存储,最后set的元素个数就是最后的ans 代码: #include&lt;iostream&gt; #include&lt;c...

我是传奇 217

How many(HDU-2609)

Problem Description Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell me How many kinds of necklaces total have.(if two necklaces can equal by rotating ,we s...

Alex_McAvoy的博客 420

[HDU2609]How many

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Give you n(n&amp;lt;10000)n ( n &amp;lt; 10000)n(n&lt;10000) necklaces ,the length of necklace will...

dxyinme-Zz 142

hdu 2609 How many

点击打开链接 How many Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3251    Accepted Submission(s): 1446 Problem Description Giv

zhang__liuchen的博客 251

HDU2609How many

How many Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2098    Accepted Submission(s): 852 Problem Description Give you n ( n H

xu_fish的博客 425

HDU2609 How many —— 最小表示法

题目链接:https://vjudge.net/problem/HDU-2609 How many Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3272Accepted Submission(s): 1457...

alince20008的博客 151

How many 杭电oj 2609 hdu2609 最小表示

#include #include #include char a[10005][105]; int len; int cmp(const void *p,const void *q)//快排排字符串 {     char *c,*d;     c=(char *)p;     d=(char *)q;     return strcmp(c,d); } int ok(ch

编程中快乐 525

HDU 2609(How many)

题意:给定 n 个等长的字符串,每个字符串可通过移位变换,求不同种类的字符串(两个不同种类的字符串不能通过移位得到对方)。 分析:每个种类的字符串的最小表示法(字典序最小)都是一样的,所以求出每个字符串的最小表示然后放进set就行了(set自动去重)。 代码: #include<set> #include<cstdio> #include<stri...

Joker & Liar的博客 222
上一篇: hdu3374---String Problem
下一篇: Codeforces Round #292 (Div. 1)---A. Drazil and Factorial
tokers
博客等级 码龄12年 71粉丝 700原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值