How many HDU - 2609 (最小表示法)

使用Simulink对氢燃料电池与锂电池的混合储能系统进行建模 本文介绍了基于Simulink的氢燃料电池与锂电池混合储能系统建模与协同控制方法。系统通过氢燃料电池提供稳定能源,锂电池实现快速响应,结合DC-DC变换器和负载管理器实现动态调控。详细阐述了从模型创建、关键模块配置到控制器设计的完整流程,重点说明了功率分配算法和充放电控制策略的实现。通过仿真分析验证了系统在不同负载条件下的性能表现,包括响应速度、工作效率和稳定性等指标。该方案为新能源混合储能系统的设计与优化提供了实用指导,有助于提升系统可靠性和延长电池寿命。 阅读详情

How many

HDU - 2609

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
思路:把所有字符串用最小表示法表示出来,然后全部放在vector中,然后从小到大排个序

前n个有多少个不同字符就有多少个不同串,如果前n个字符全一样说明这n个都可以表示成1个

code:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
int n;
char s[101],ss[101];
int getmin(){
    int i = 0,j = 1, k = 0;
    int len = strlen(s);
    while(i < len && j < len && k < len){
        int t = s[(j+k)%len]-s[(i+k)%len];
        if(t == 0) k++;
        else{
            if(t > 0) j = j+k+1;
            else i = i+k+1;
            if(i == j) j++;
            k = 0;
        }
    }
    int ans = min(i,j);
    return ans;
}
int main(){
    int i,j,k;
    while(~scanf("%d",&n)){
        vector<string>sn;
        for(i = 0; i < n; i++){
            scanf("%s",s);
            int len = strlen(s);
            k = getmin();
            for(j = 0; j < len; j++){
                ss[j] = s[(k+j)%len];
            }
            string st(ss);
            sn.push_back(st);
        }
        sort(sn.begin(),sn.end());
        int ans = 1;
        for(i = 1; i < n; i++){
            if(sn[i] != sn[i-1])
                ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}


conda upgrade出现Solving environment:failed CondaValueError Malformed version string invalid chars解决方案 本文主要介绍了conda install出现Solving environment:failed、CondaValueError: Malformed version string invalid character(s),希望能对使用conda的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 步骤一 2.2 步骤二 阅读详情

相关推荐

一种基于因果干预的少样本学习的故障诊断模型

本文提出CIRNet,一种融合元学习与因果干预的少样本故障诊断框架。针对传统方法易学习伪相关特征的问题,CIRNet通过构建结构因果模型,采用类级和特征级双调整策略消除先验知识干扰。实验在多个轴承/齿轮数据集上验证其有效性,在跨组件任务中准确率最高达93.41%,特征可视化显示更好的类可分性。相比现有方法,CIRNet显著提升了模型泛化能力和可解释性。

hasakie的博客 955

How many HDU - 2609 -最小表示法

How many  HDU - 2609  思路:任何一个字符串环,最小表示都是唯一的。求出 n 个字符串环的最小表示,set统计种类即可。 #include&lt;bits/stdc++.h&gt; using namespace std; #define maxn 12345 set&lt;string&gt;ok; string hk; char str[maxn]; int...

BePosit的博客 369

VL53L0X测距不准?手把手教你做RefSPAD校准与环境补偿(附Arduino/STM32代码)

本文详细解析了VL53L0X激光测距传感器精度不足的原因,并提供了RefSPAD校准与环境补偿的完整解决方案。通过Arduino和STM32代码示例,手把手教你实现毫米级测距稳定性,适用于机器人避障、工业检测等场景。

weixin_28744423的博客 256

最小表示法——算法解析

当一个字符串形成一个环的时候,要比较两个字符串是否相同就会变得很困难,因为你不知道对于第二个字符串来说,以哪个字符开始比较才会和第一个字符串相同。所以我们就会想到枚举起点比较是否相同,而这样的复杂度是O(n2)。而这种算法可以在O(n)的时间解决这个问题。下面介绍一下最小表示法。...

风中的微尘的博客 2019

告别黑盒:深入解析西部数据UFS芯片的44个SMART健康参数(附高通XBL读取源码)

本文深入解析西部数据UFS芯片的44个SMART健康参数,结合高通XBL启动加载层源码,提供了一套完整的健康状态诊断方法论。从SCSI命令层封装到数据结构映射,详细介绍了如何在高通平台早期启动阶段捕获UFS健康状态,帮助工程师实现预测性维护。

weixin_30600197的博客 427

Python 爬虫实战:微信搜一搜内容深度爬取(含搜索结果解析与企业级架构设计)

在信息爆炸的时代,微信搜一搜已成为海量信息获取的重要入口。无论是个人知识探索,还是企业舆情监控,掌握微信搜一搜内容的深度爬取能力具有巨大价值。本文将从基础原理到企业级实现,全面解析微信搜一搜爬虫的开发过程。

yansideyucsdn的博客 2455

HDU - 2609——How many (最多不重复循环串)

Give you n ( n &lt; 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 a...

creator平 609

YOLO26改进 - C3k2 | C3k2 融合 ARConv 自适应矩形卷积:动态调整卷积核形状与采样点 | CVPR 2025

本文介绍了将自适应矩形卷积(ARConv)模块与YOLO26相结合的方法。ARConv是针对遥感图像全色锐化任务设计的创新卷积模块,可自适应调整卷积核形状与采样点数量,解决传统卷积刚性限制,实现高效特征提取。其工作流程包括学习卷积核高度和宽度、选择采样点数量、生成采样图、卷积实现与空间自适应增强。我们将集成ARConv的C3k2_ARConv模块引入YOLO26,对相关代码进行修改和注册,并配置了YOLO26 - C3k2_ARConv.yaml文件。实验脚本显示,该结合方式应用于目标检测任务。

魔改工程师的博客 496

最小最大表示法超详细讲解

最小/最大表示法是用来找出字符串的最小/最大字典序的循环同构串的方法,其求解算法可以达到O(N),过程很像KMP算法的next数组推导过程,都是在暴力解法的基础上省去了冗余操作。

EQUINOX1的博客 743

Aip1640、TM1640驱动程序

本文介绍了AIP1640/TM1640驱动芯片的编程实现,主要包括硬件接口定义和通信协议函数。通过宏定义配置时钟(CLK)和数据线(DIO)的GPIO控制,实现了I2C协议的启动、停止、字节发送等基本操作。核心函数AIP1640_Disp_Drive()完成显示驱动流程:先发送0x40命令设置地址自增模式,再发送0xC0起始地址和16字节显示数据,最后设置亮度参数。文中还包含5微秒延时函数、显示数据缓冲区定义,以及LED和数码管(SMG)的位映射注释说明。该代码适用于控制LED数码管显示,支持亮度调节功能。

zqx的博客 1400

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6930

How many (HDU-2609)(最小表示法)

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 necklace...

菜鸡的博客 230

爬虫Incapsula reese84加密案例:Etihad航空

声明:该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

老衲爱洗头的博客 2429

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

没有梦想何以远行 279

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

最小表示法+hash hdu2609 How many

传送门:点击打开链接 题意:有n个串,每个串是一个环,如果通过移动环之后能一样,认为是同一种串。问有多少种串。 思路:很明显我们首先要把认为是一样的串变成一样的,比如找到这个串的最小表示法,所以这道题的目的就是为了求最小表示法,然后用hash搞一搞排序然后去重,或者是直接插入到set里面取size都是可以的 KMP(复杂度O(n))来搞最小表示法暂时还不会,先挖个坑,我这里还有一种通过二分+

qwb的博客 1460

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 2609 How many【最小表示法】

How many 传送门。 题意: 多组输入 每组一个n,串串个数 通过首尾相连可以相同的串算一类,求一共有几类串。 For example 011001100110 express a necklace, you can rotate it. 0110−&gt;1100−&gt;1001−&gt;0011−&gt;0110.0110 -&gt; 110...

zhmeng 254

[最小表示法] hdu 2609 How many

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2609 How many Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1225    Accepted Submis

cc_again的专栏 1170

【题解】How many HDU - 2609 ⭐⭐⭐ 【最小表示法】

How many HDU - 2609 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. (strin...

Suprit's blog 699

[最小表示法] HDU 2609 How many

题意: 给n个串,问不断的循环左移之后,有几个不相同的串。 思路: 全部转换的成字符串的最小表示法,统计。 裸题存模板 代码: #include"cstdlib" #include"cstdio" #include"cstring" #include"cmath" #include"queue" #include"algorithm" #include"iostream" #inclu

Enmity_Dark 807

hdu 2609 How many(最小表示法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2609 题意:给你n个字符串每个字符串可以左右移动但还是同一串比如0110 可以表示为 0110 -> 1100 -> 1001 -> 0011->0110 这些都属于同一个字符串,最后问这n个字符串里一共有多少不同的字符串 可以将这些字符串都以其最小表示...

awow80285的博客 124

hdu2609How many 最小表示法

//n(n<=10000)个字符串,字符串的长度l<=100 //问这n个字符串中有多少不同得字符串 //两个字符串相同只要其循环同构 //先求出每个字符串的最小表示法 //用map存下就行 #include #include #include #include using namespace std ; const int maxn = 1e4+10 ; map ma ; string str

ijbuhv的专栏 578

HDU 2609 How many [最小表示法]

Description给n个字符串,如果循环同构,就算一组,问总共有几组Algorithm将每个字符串转成最小表示,然后sort一下Code#include <cstdio> #include <algorithm> #include <iostream> using namespace std; const int maxn = 100010; int main() { int n; wh

more time 576

hdu 2609 How many (最小表示法)

题意 给 \(n\) 个循环串,求本质不同串的数量 传送门 思路 最小表示法求下标,从最小下标处作为串的起点,将新串放到map中去重,最终map中的元素数量即为最终答案。 最小/大表示法 Code #include <cstdio> #include <cstring> #include <map> #include <string> u...

diaozha3808的博客 238

HDU 2609 How many(最小表示法)

题目链接:HDU 2609 How many 题目大意: 有n个有01组成的字符串,每个字符串都代表一个项链,那么该字符串就是一个环状的结构,求可以经过循环旋转,最后不同的串有多少个。 算法思想: 将每个字符串转换成最小串,然后放在set里面去重。 最小表示法: 循环字符串的最小表示法的问题可以这样描述: 对于一个字符串S,求S的循环的同构字符串S’中字典序最小的一个。

Winjourn的专栏 881

HDU 2609 How many(最小表示法)

Problem Description 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 can equal by rotating ,we...

weixin_30780221的博客 108
上一篇: String Problem HDU - 3374 (最大最小表示法)
下一篇: Simpsons’ Hidden Talents HDU - 2594 (KMP)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值