Equivalent Strings(二分+递归深搜)

ESP32与SPH0645LM4H硬件连接指南:快速理解接线方法 手把手带你完成ESP32与SPH0645LM4H麦克风模块的硬件连接,重点解决I²S信号匹配、电源去耦和引脚复用等实操难点,为后续音频分类任务打下稳定采集基础。强调ESP32的I²S外设配置要点,确保原始音频数据低失真、高信噪比输入。 阅读详情


Link:http://codeforces.com/contest/559/problem/B


B. Equivalent Strings
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings a and b of equal length are calledequivalent in one of the two cases:

  1. They are equal.
  2. If we split string a into two halves of the same size a1 and a2, and string b into two halves of the same size b1 and b2, then one of the following is correct:
    1. a1 is equivalent to b1, and a2 is equivalent to b2
    2. a1 is equivalent to b2, and a2 is equivalent to b1

As a home task, the teacher gave two strings to his students and asked to determine if they are equivalent.

Gerald has already completed this home task. Now it's your turn!

Input

The first two lines of the input contain two strings given by the teacher. Each of them has the length from 1 to 200 000 and consists of lowercase English letters. The strings have the same length.

Output

Print "YES" (without the quotes), if these two strings are equivalent, and "NO" (without the quotes) otherwise.

Sample test(s)
input
aaba
abaa
output
YES
input
aabb
abab
output
NO
Note

In the first sample you should split the first string into strings "aa" and "ba", the second one — into strings "ab" and "aa". "aa" is equivalent to "aa"; "ab" is equivalent to "ba" as "ab" = "a" + "b", "ba" = "b" + "a".

In the second sample the first string can be splitted into strings "aa" and "bb", that are equivalent only to themselves. That's why string "aabb" is equivalent only to itself and to string "bbaa".



AC code:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
string s1,s2;
string equ(string s)
{
	int lens=s.length();
	if(lens&1)
		return s;
	string s1=equ(s.substr(0,lens/2));
	string s2=equ(s.substr(lens/2,lens/2));
	if(s1<s2)
		return s1+s2;
	else
		return s2+s1;
}
int main()
{
	while(cin>>s1>>s2)
	{
		if(equ(s1)==equ(s2))
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}


【ESP32音频流实战】基于I2S与SPH0645构建低延迟麦克风系统及服务端实时处理 本文详细介绍了基于ESP32和SPH0645数字麦克风的低延迟音频采集系统,通过I2S接口实现高质量音频流传输。文章涵盖硬件选型、I2S驱动配置、网络传输优化及服务端实时处理框架,帮助开发者构建高效的实时语音交互系统,适用于智能家居、语音遥控器等场景。 阅读详情

相关推荐

【信息科学与工程学】【数据科学】数据科学领域——第三篇 数学08 几何学00总篇

编号英文名称中文名称简要说明/归属1Foundations of Geometry几何基础公理化方法, Hilbert《几何基础》2Euclidean Geometry (Synthetic)欧几里得几何(综合法)《几何原本》传统3Analytic Geometry解析几何坐标方法, Descartes, Fermat4Plane Geometry平面几何三角形、圆、共点共线等经典问题5Solid Geometry立体几何三维空间中的图形与度量6Non-Euclidean Geometry非欧几何平行公设不

weixin_49199313的博客 197

【ESP32音视频传输】②通过I2S采集SPH0645麦克风音频数据并上传到服务端实时播放

esp32通过I2S读取sph0645的音频数据,然后通过UDP发送到python服务端并实时播放声音

loveliveoil的博客 1万+

ESP32-HUB75-MatrixPanel-I2S-DMA:一个适用于ESP32的Adafruit GFX兼容库,可使用ESP32 DMA引擎驱动64x32px或64x64px HUB75 LED矩阵模块,以提高刷新率。 支持面板链接

使用ESP32 DMA Engine的HUB75 RGB LED矩阵库 表中的内容 面板亮度 闩锁消隐 力量,力量和力量! 灵感 介绍 此ESP32 Arduino / IDF库用于HUB75 / HUB75E连接器类型64x32 RGB LED 1/16扫描或64x64 RGB LED 1/32扫描LED矩阵面板,使用ESP32的I2S``LCD模式''提供的DMA功能。 特征 低CPU开销-初始化的像素数据一旦通过DMA引擎直接从内存中泵送到矩阵输入 快速-更新像素数据仅涉及DMA缓冲存储器上的按位逻辑,无需管脚操作或阻塞IO 全屏BCM-库利用二进制代码调制在整个矩阵上渲染像素颜色深度/亮度 可变的色彩深度-根据所需的矩阵大小/刷新率,最多可以输出TrueColor 24位 CIE 1931亮度校正(又名自然LED调光) Adafruit GFX API-可以使用Adaf

MKRZero通过I2S读取SPH0645音频数据

SPH0645LM4H-B 是一款微型、低功耗、并且具有 I2S 数字输出的底部端口麦克风。I2S 接口简化了系统集成,并允许与数字处理器、应用处理器和微控制器直接互连。SPH0645LM4H-B 无需外部音频编解码器,非常适合尺寸和功耗受限的便携式应用。点击图片购买SPH0645VCC3VGNDGNDD2BCLKD3LRCLA6DOUT本文介绍了利用MKRZero通过I2S读取SPH0645音频数据,并将样本打印到串行控制台。

优信电子的博客 1404

esp32通过I2S读取sph0645的音频数据后通过UDP发送到服务端并实时播放声音软件源码.zip

esp32通过I2S读取sph0645的音频数据后通过UDP发送到服务端并实时播放声音软件源码,可供学习及设计参考。

基于MS5351的三通道可编程时钟发生器设计

时钟发生器是数字系统时序验证与信号完整性测试的核心基础设备,其原理基于锁相环(PLL)对参考晶振进行倍频与分频控制,通过寄存器配置实现多路独立频率输出。技术价值体现在高精度、低抖动、快速切换与工程可部署性之间取得平衡,尤其适用于FPGA/ASIC参考时钟调试、ADC/DAC采样时钟验证及嵌入式硬件时序裕量评估等场景。本方案采用MS5351三通道时钟芯片与ESP32主控协同架构,在保证LVCMOS输出质量与I²C可编程性的前提下,优化电源噪声抑制、晶体负载匹配和跨板信号完整性,兼顾成本、周期与实测稳定性,为实

weixin_31715353的博客 210

【亲测免费】 esp32通过I2S读取sph0645音频并实时传输播放

esp32通过I2S读取sph0645音频并实时传输播放 【下载地址】esp32通过I2S读取sph0645音频并实时传输播放 本项目旨在实现使用ESP32微控制器,通过其内置的I2S接口采集来自SPH0645麦克风模块的音频数据。采集后的音频数据经过处理,采用UDP协议实时发送至运行Python服务器的一端,服务端接收...

gitblog_09754的博客 2020

STM32 IAP+APP合并Hex文件全自动脚本(Keil5一键生成)

本文详细介绍了一种基于Keil5开发环境的STM32 IAP与APP程序Hex文件全自动合并方案。通过编写批处理或Python脚本,并将其集成到Keil的编译后流程中,实现一键编译、自动合并,彻底解决手动操作繁琐易错的问题,极大提升STM32固件开发与远程升级的效率。

weixin_29191761的博客 306

SPH0645数字麦克风增强信噪比表现

本文深入分析TDK InvenSense的SPH0645LM4H-B数字MEMS麦克风,探讨其65 dB高信噪比、27 dBA本底噪声和抗干扰能力的技术原理。结合PDM输出、时钟同步优势及STM32实际采集方案,说明其在智能语音系统中提升ASR性能的关键作用。

weixin_42465140的博客 1221

Aruba无线控制器实战:如何用Client Match优化企业办公区漫游(附SNR调优技巧)

本文深入解析了如何利用Aruba无线控制器的Client Match功能优化企业办公区无线漫游体验。通过实战配置,详细阐述了基于SNR(信噪比)的精细化调优策略,包括阈值设定、负载均衡与场景化参数调整,旨在解决终端粘滞、乒乓漫游等问题,实现智能、平滑的无缝漫游。

weixin_28318011的博客 230

零基础也能搞定!华为USG6000V防火墙WEB管理界面开启教程

本文详细介绍了华为USG6000V防火墙WEB管理界面的开启教程,从环境准备、网络配置到防火墙初始化,逐步指导用户完成图形化管理界面的搭建。特别适合零基础用户快速掌握企业级防火墙的可视化操作,提升安全管理效率。

grape的博客 786

音频I2S采样适配调试1(SPH0645/INMP14441)

这点非常关键,否则你找了很多demo代码都无法正常匹配,还有B站上为什么SPH0645麦克风为什么无法正常播放也是因为采样率和采样有效数据的原因。采样左右声道,共回读8个字节,而实际取得有效数据就两个字节,采样率是 16000MHz,则有效数据率 = 2/8。所以后面用单声道采集数据,这样有效数据率就是1/2,则实际的采样率= 4000 / (1/2) = 8000。最终音频数据的采样频率 = 实际的麦克风采样频率 * 有效数据率。采样率指的是声道的频率,对于通信的速率 = 采样率 x 位宽。

hozamon2的博客 542

Ubuntu零基础教学-史上最详Ubuntu20.04安装教程,超级详细,强烈建议收藏!

官网地址:https://www.vmware.com/ 1、VMware Workstation Pro 15.5.1在Windows 10的安装不再介绍了,一路下一步即可。 2、下面详细介绍在VMware 虚拟机里安装Ubuntu 20.04 LTS的步骤

**My Coding Family** 2万+

Codeforces Round #313 D. Equivalent Strings(DFS)

D. Equivalent Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Today on a lecture about strings Gera

叶孤心的专栏 1124

VS2019编译使用log4cplus 1.2.0

logger.properties 文件。第三步,创建项目来测试,配置库。第二步,使用VS2019编译。

h a 6 6 6 c k 为 你解决复杂难题! 528

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4841

SPH0645LM4H数字麦克风降噪增强

本文深入解析SPH0645LM4H数字MEMS麦克风的工作原理、PDM信号处理流程及其在多麦克风阵列中的应用,涵盖硬件设计要点、STM32采集实现与降噪系统构建,揭示其在TWS耳机、智能音箱等设备中提升语音质量的关键作用。

weixin_35756373的博客 549

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Codeforces Round #449 (Div. 1) A. Nephren gives a riddle 模拟.

A. Nephren gives a riddle time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output What are you doing at the end of the world? Are you busy

now_ing的博客 321

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

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

codeforces:A. Nephren gives a riddle【字符串套娃 + 递归or迭代 + 记忆化搜索预处理提速】

递归迭代套娃记忆化搜索预处理py递归爆栈,可以迭代。

小楼一夜听春雨 288

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【亲测免费】 探索无线音频实时传输新境界:基于ESP32与SPH0645的IoT音频解决方案

探索无线音频实时传输新境界:基于ESP32与SPH0645的IoT音频解决方案 【下载地址】esp32通过I2S读取sph0645音频并实时传输播放 本项目旨在实现使用ESP32微控制器,通过其内置的I2S接口采集来自SPH0645麦克风模块的音频数据。采集后的音频数据经过处理,采用UDP协议实时发送至运行Python服...

gitblog_09716的博客 1087

小智音箱通过SPH0645LM4H实现远场语音捕获

本文深入探讨远场语音捕获技术,涵盖硬件设计、算法实现与系统集成,重点分析基于SPH0645LM4H麦克风的阵列布局、波束成形及嵌入式优化策略,提升智能音箱在复杂环境下的语音唤醒与识别性能。

weixin_42668301的博客 1031

SPH0645LM4H高信噪比音频输入

SPH0645LM4H是一款高信噪比MEMS麦克风,具备65dB信噪比、-38dBV/Pa灵敏度和优异抗干扰能力,适用于智能音箱、TWS耳机等语音设备。其底部进音设计便于隐藏安装,配合良好的PCB密封与电源去耦可显著提升语音识别精度与通话降噪效果。

weixin_30995917的博客 956

IP地址(简单模拟)

链接:https://www.nowcoder.com/practice/2359e23180194f99828f5cd9c764236a?tpId=40&tqId=21538&tPage=11&rp=11&ru=/ta/kaoyan&qru=/ta/kaoyan/question-ranking 来源:牛客网 题目描述 输入一个ip地址串,判断是否合法。  输入描述: 输入的第

林下的码路 7984

算法训练 s01串 (简单递归)

Link:http://lx.lanqiao.org/problem.page?gpid=T366  算法训练 s01串   时间限制:1.0s   内存限制:256.0MB 问题描述   s01串初始为"0"   按以下方式变换   0变1,1变01 输入格式   1个整数(0~19) 输出格式   n次

林下的码路 3705
上一篇: 哗啦啦村的扩建(DFS+链式前向星)
下一篇: RGCDQ(求质因子个数+规律)
林下的码路
博客等级 码龄12年 295粉丝 506原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林下的码路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值