计蒜客南京赛区预选赛 skr 回文树

基于MATLAB的电池等效电路模型(ECM)仿真,用于分析电气行为和动态响应.zip 1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 立即下载

题目链接:https://nanti.jisuanke.com/t/30998

看了两个小时才看懂,恩其实主要考的是这个知识点,变形过程不太难,整理了一下模板

#include<bits/stdc++.h>
#define MOD  1000000007
#define For(i,m,n) for(int i=m;i<=n;i++)
#define LL long long
#define inf 0x3f3f3f3f
#define lan(a,b) memset(a,b,sizeof(a))
#define sqr(x) (x*x)
using namespace std;

const int MAXN = 2e6+5 ;
const int N = 10 ;
long long power(long long a,long long b)//a的b次幂
{
    long long ans=1;
    while(b)
    {
        if(b&1)
            ans=(a*ans)%MOD;
        b>>=1;
        a=(a*a)%MOD;
    }
    return ans;
}


LL ans=0;

	int _next[MAXN][N] ;//_next指针,_next指针和字典树类似,指向的串为当前串两端加上同一个字符构成
	int fail[MAXN] ;//fail指针,失配后跳转到fail指针指向的节点
	int cnt[MAXN] ;
	int num[MAXN] ;
	int len[MAXN] ;//len[i]表示节点i表示的回文串的长度
	int S[MAXN] ;//存放添加的字符
	int last ;//指向上一个字符所在的节点,方便下一次add
	int n ;//字符数组指针
	int p ;//节点指针

	LL pin[MAXN];

	int newnode ( int l ) {//新建节点
		for ( int i = 0 ; i < N ; ++ i ) _next[p][i] = 0 ;
		cnt[p] = 0 ;
		num[p] = 0 ;
		len[p] = l ;
		return p ++ ;
	}

	void init () {//初始化
		p = 0 ;
		newnode (  0 ) ;
		newnode ( -1 ) ;
		last = 0 ;
		n = 0 ;
		S[n] = -1 ;//开头放一个字符集中没有的字符,减少特判
		fail[0] = 1 ;
	}

	int get_fail ( int x ) {//和KMP一样,失配后找一个尽量最长的
		while ( S[n - len[x] - 1] != S[n] ) x = fail[x] ;
		return x ;
	}

	void add ( int c ) {
		S[++ n] = c ;
		int cur = get_fail ( last ) ;//通过上一个回文串找这个回文串的匹配位置
		if ( !_next[cur][c] ) {//如果这个回文串没有出现过,说明出现了一个新的本质不同的回文串
			int now = newnode ( len[cur] + 2 ) ;//新建节点
			fail[now] = _next[get_fail ( fail[cur] )][c] ;//和AC自动机一样建立fail指针,以便失配后跳转
			_next[cur][c] = now ;
			num[now] = num[fail[now]] + 1 ;
			pin[now]=pin[cur]*10%MOD+c;
			if(len[cur]>=0)
                pin[now]=(pin[now]+power(10,1LL*len[cur]+1)*1LL*c%MOD)%MOD;
		}
		last = _next[cur][c] ;
		cnt[last] ++ ;
	}

	void count () {
		for ( int i = p - 1 ; i >= 0 ; -- i ) cnt[fail[i]] += cnt[i],ans=(ans+1LL*pin[i])%MOD;
		//父亲累加儿子的cnt,因为如果fail[v]=u,则u一定是v的子回文串!
	}

char s[MAXN];
int main()
{
//    cout << "ok" << endl;
//    ten[0]=1;
//    int i;
//    for(i=1;i<=2000000;i++)
//    cout << "i=" << i << endl,ten[i]=(1LL*10*ten[i-1])%MOD,printf("ten%d=%d\n",i,ten[i]);
    while(~scanf("%s",s))
    {
        ans=0;
        lan(pin,0);
        int n=strlen(s);
        init();
        For(i,0,n-1)
        {
            add(s[i]-'0');
        }
        count();
        printf("%lld\n",ans);
    }
    return 0;
}

 

隔离型全桥LLC谐振变化器建模及参数设计资料【仿真+设计报告+计算书】 内容概要:本文档系统性地提供了隔离型全桥LLC谐振变换器的建模、仿真与参数设计全套技术资料,涵盖Simulink/Plecs仿真模型、详细设计报告及Mathcad计算书,内容涉及开环与闭环控制、软启动过程、恒压恒流双闭环竞争控制等多种工况。资料还拓展至多相交错LLC、双向CLLC拓扑以及V2G(Vehicle-to-Grid)电动汽车充放电等前沿应用场景,并融合状态估计算法(如卡尔曼滤波、扩展卡尔曼滤波、粒子滤波)与神经网络技术进行系统性能优化,配套PPT说明与高水平EI期刊复现案例,为电力电子领域的科研与工程设计提供完整的技术支撑; 适合人群:适用于电力电子、电气工程及其自动化等相关专业的高校研究生、科研人员,以及从事高频DC-DC变换器、新能源电源系统开发的工程师,具备扎实电路理论基础和Matlab/Simulink仿真能力者尤佳; 使用场景及目标:①支撑LLC谐振变换器相关的科研课题、学位论文或项目开发;②开展高频高效电源的参数设计、效率优化与动态响应分析;③学习并复现高水平期刊中先进的控制策略,如变频控制、混合移相控制及智能优化算法;④掌握Simulink/Matlab在电力电子系统建模、控制算法实现与状态估计中的综合应用; 阅读建议:建议结合仿真模型、Mathcad计算书与设计报告三位一体同步研习,重点理解主电路参数设计与闭环控制逻辑之间的耦合关系,优先运行典型算例并调试关键模块,有条件者可进一步推进至硬件原型验证,并积极探索状态估计与人工智能算法在电力系统动态建模中的融合应用。 立即下载

相关推荐

基于DE2-115红外解码实验

基于DE2-115红外解码实验   一、   功能描述 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。在实际的产品设计或业余电子制作中,编码芯片并一定能完成我们要求的功能,这时我们就需要了解所使用的编码芯片到底是如何编码的。只有知道编码方式,我...

乘风的博客 2515

回文树 (tsinsen A1280. 最长双回文串)

A1280. 最长双回文串 时间限制:2.0s   内存限制:512.0MB   总提交次数:349   AC次数:171   平均分:65.67 将本题分享到:            查看未格式化的试题   提交   试题讨论 试题来源   中国国家队清华集训 2011-2012 第二天 问题描述   顺序和逆序读起

whai的专栏 685

汽车诊断服务(UDS——0x11服务解析)

ECU复位服务(0x11)详解:该服务支持硬件/钥匙开关/软件三种复位类型(0x01-0x03),复位前需发送肯定响应。请求格式为11+子功能,响应含51+子功能。典型应用需配合安全访问流程,测试时需监控CAN总线通信及DTC状态。复位后ECU将返回默认会话,期间不处理任何诊断请求。服务在编程会话且安全解锁后执行,硬复位会初始化存储数据。

从事汽车行业 979

【Tsinsen】A1280. 最长双回文串 【Palindromic Tree】

传送门:【Tsinsen】A1280. 最长双回文串 题目分析:首先我们按照输入顺序插入字符构造回文树,构造好后我们就得到了以每个下标i结尾最长回文串长度lens,这时如果i-lens[i]>=0,那么我们将以i结尾的最长回文串长度+加上以i-lens[i]结尾的最长回文串长度作为此时得到的双回文串长度tmp,然后更新ans,ans=max(ans,tmp)。为什么此时我们更新可以呢?因

poursoul 1375

将点云坐标转换成世界坐标的demo

将点云坐标转换成世界坐标的demo

howard789的博客 2206

STM32F407 FreeRTOS+LVGL移植实战:从驱动适配到性能优化

本文详细介绍了在STM32F407开发板上移植FreeRTOS和LVGL的实战经验,涵盖硬件准备、驱动适配、性能优化等关键步骤。通过TFTLCD屏幕驱动优化、DMA加速和任务优先级调整,显著提升界面流畅度,为嵌入式GUI开发提供实用解决方案。

weixin_29190651的博客 632

ural1960Palindromes and Super Abilities(回文树)

回文树根据以下博客学的,写得很好 传送门:http://blog.youkuaiyun.com/u013368721/article/details/42100363 After solving seven problems on Timus Online Judge with a word “palindrome” in the problem name, Misha has got an un

SCUT_Pein 1379

Python海康相机api---超简单入坑学习必看

海康官网下载相机驱动​安装好以后找到Python的开发文件目录参考:D:\MVS\MVS\Development\Samples\Python\MvImport这几个文件很重要,想调用海康相机取图会用到.​为了写代码方便可以把这几个文件拷贝一下,跟你的api主文件放在同一个文件夹下可以减少80%的烦恼.​。

weixin_59360687的博客 3478

TsinsenA1280/BZOJ2565 最长双回文串(回文树)

题意:输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。2≤|S|≤10^5。   思路:因为求的是双回文串的最大长度,优先找最长的X或最长的Y会出问题。所以要枚举X和Y的分界点,枚举每个位置,找出当前位置向前和向后能延伸到的最长回文串,求和更新答案。 显然回文自动机可以求出以每个点为末尾向前能够延伸到的最大回文串,要解决的是求一...

hcx11333的博客 253

1.4 《SST通用技术规范》整体框架与核心条款解读

本小节以**GB/T《电力电子变压器通用技术要求》**(固态变压器SST核心通用规范)为核心依据,结合电力电子变压器技术特性与工程应用边界,系统解析规范的整体章节框架、层级逻辑与强制性/推荐性核心条款,明确规范与传统工频变压器标准的差异,为SST拓扑设计、性能验证、出厂检验与工程落地提供标准化依据。全文以标准原文、期刊文献数据与试验规范为支撑,无主观推演与感性表述。

技术工作者 1682

常说的cache机制到底是什么?L1 cache和 L2 cache是什么?

一文带你迅速了解CPU内的cache机制!!图解多核CPU中的多级cache结构。为何有的处理器没有cache?

车载系统攻城狮 5877

URAL1960-Palindromes and Super Abilities

Palindromes and Super Abilities Time limit: 1.0 second Memory limit: 64 MB After solving seven problems on Timus Online Judge with a word “palindrome” in the problem name, Misha has got an

wang_128的博客 448

整理 钢琴 铃木钢琴教程(铃木)

铃木钢琴 超清PDF

TS的博客 1213

ACM-ICPC 2018 南京赛区网络预赛 I. Skr(回文树)

题意 https://nanti.jisuanke.com/t/A1955 求所有本质不同的回文串转成数后的和。 思路 如果了解回文树的构造原理,那么这题就很简单了,回文树每个结点代表一个回文串,每添加一个字符会在两端加上这个字符,我们只需要用res[]数组表示原串的前缀和,然后每添加一个字符的贡献就是res[i]-res[i-len[c]]*10^(len[c]) ,i为这个字符的下标...

autfuhyql782263188的博客 195

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ACM-ICPC 2018 南京赛区网络预赛 I.Skr(回文自动机)

题意: 给你一个字符串S,让你求出S中所有本质不同的回文串,然后把这些回文串转换成数字后相加的和 例如: 1121 共有4个本质不同的回文串: 1 + 11 + 121 + 2 = 135 题解: 预处理出每个前缀形成的数字的值,然后根据回文自动机的性质,很显然在i点有一个长度为len的回文串,那么这个区间对应的数即为:起点为i的前缀表示数字-起点为i-len的前缀表示的数字,就表示这个区间表...

qq_43544481的博客 225

NTscan扫描工具

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

TsinsenA1255. 拉拉队排练(陶文博) (回文树)

http://www.tsinsen.com/A1255 题意:一个1e6的字符串,求出长度为奇数的回文子串中长度排前K的回文串的长度之积。   思路:建回文自动机,然后遍历结点,统计长度为奇数的回文串数量,然后从长到短算出前K长的回文串长度之积就行了。 #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstr...

hcx11333的博客 349

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HYSBZ 2160 拉拉队排练(回文树)

HYSBZ 2160 拉拉队排练(回文树)

Dacc123的博客 1051

URAL 1960 Palindromes and Super Abilities (回文树)

Palindromes and Super Abilities Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u SubmitStatusDescription After solving seven problems on Timus Online Judge with a w

MrBlank的ACM记事本 426

ZZNU2079 : super-palindrome(普通思维题)

2079 : super-palindrome 时间限制:0 Sec 内存限制:0 MiB 提交:32 答案正确:11 题目描述 You are given a string that is consisted of lowercase English alphabet.You are supposed to change it into a super-palindrome stri

MOLEI_233的博客 1082

HDU - 5658 CA Loves Palindromic 回文树

题目:给定一个字符串str,Q个询问l,r,问区间[l,r]内本质不同的回文串的个数 1≤T≤10, 1≤length≤1000, 1≤Q≤100000, 1≤l≤r≤length 思路:字符串长度不大,可以先预处理出来 代码: #pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #incl

ACVevtor的博客 437

URAL - 1960 Palindromes and Super Abilities

题意:          给出一个串,问对于串的每个前缀各包含多少种回文串 思路:          按http://blog.youkuaiyun.com/u013368721/article/details/42100363 所讲 回文树 的思路所写。 代码: #include using namespace std; const int MAXN = 100005 ; const int N

DT2131 536

Palindromes and Super Abilities URAL - 1960 (回文树板子)

Palindromes and Super Abilities URAL - 1960 (回文树板子) After solving seven problems on Timus Online Judge with a word “palindrome” in the problem name, Misha has got an unusual ability. Now, when he read...

weixin_43179892的博客 218

【Tsinsen】A1280. 最长双回文串

Bryce1010模板 http://www.tsinsen.com/A1280### 题目分析:记录一个点向后和向前的最长回文串,然后就是max(Llen[i]+Rlen[i+1])了。 #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; using namespace std ; ...

Bryce1010's Blog 490

[BZOJ2565]最长双回文串(manacher)

还有好多板子写得很少的只能强行背过了。。

ADP+Pi==ATP 1026

【Tsinsen】A1255. 拉拉队排练 【Palindromic Tree】

传送门:【Tsinsen】A1255. 拉拉队排练 题目分析:这题呢,首先按照字符读入顺序插入构造回文树,然后处理出每种长度的本质不同的回文串的个数,然后降序排序,之后就是模拟随便搞搞了。 代码如下: #include #include #include using namespace std ; typedef long long LL ; #define

poursoul 1523

URAL 1960- Palindromes and Super Abilities (回文树)

题意:按照题目给的字符串的顺序,每次添加一个字符,问你当前本质不同的回文串有多少个? 题解:回文数模板题,学了一发大佬的模板:http://blog.youkuaiyun.com/u013368721/article/details/42100363 #include #include #include #include #include using namespace std; const i

信仰.的博客 613
上一篇: 徐州赛区网络赛 Ryuji doesn't want to study 线段树维护区间和
下一篇: ural 1960 Palindromes and Super Abilities 回文树
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值