Hotaru's problem HDU - 5371 (Manacher+枚举)

uboot引导vxworks6.9(T4240) 启动 vxworks内核配置下搜索RAM_LOW_ADRS, 值为0x01000000, 是vxworks下载启动的地址,uboot启动时会用到。vxworks6.9 t4240用的是32地址空间,uboot下用的是64位地址空间,去uboot下修改law物理地址空间为32位。vxworks下flash基地址为 0xff000000, 将vx下的地址修改为0xe0000000,和uboot下地址一致。uboot下flash基地址为0xe000000,vxworks内核配置为build-in 符号表。 阅读详情

Hotaru's problem

HDU - 5371

Hotaru Ichijou recently is addicated to math problems. Now she is playing with N-sequence.
Let's define N-sequence, which is composed with three parts and satisfied with the following condition:
1. the first part is the same as the thrid part,
2. the first part and the second part are symmetrical.
for example, the sequence 2,3,4,4,3,2,2,3,4 is a N-sequence, which the first part 2,3,4 is the same as the thrid part 2,3,4, the first part 2,3,4 and the second part 4,3,2 are symmetrical.

Give you n positive intergers, your task is to find the largest continuous sub-sequence, which is N-sequence.

Input
There are multiple test cases. The first line of input contains an integer T(T<=20), indicating the number of test cases.

For each test case:

the first line of input contains a positive integer N(1<=N<=100000), the length of a given sequence

the second line includes N non-negative integers ,each interger is no larger than 109
, descripting a sequence.
Output
Each case contains only one line. Each line should start with “Case #i: ”,with i implying the case number, followed by a integer, the largest length of N-sequence.

We guarantee that the sum of all answers is less than 800000.
Sample Input
1
10
2 3 4 4 3 2 2 3 4 4
Sample Output
Case #1: 9

刚开始一直搞不懂为什么会有大于,觉得应该是等于

例子

321123321123

#3#2#1#1#2#3#3#2#1#1#2#3#

                          i           j

这个情况a[i]/2 > x

j = i+x

a[j]/2 = x;

code

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    #define maxn 200017
    int N;
    int p[maxn];
    int a[maxn];
    int b[maxn];
    int n;
    void init()
    {
        int i;
        for(i = 0; i < n; i ++)
        {
            b[2 * i + 1] = -1;
            b[2 * i + 2] = a[i];
        }
        N = 2 * i + 1;
        b[0] = -2;
        b[N] = b[N + 1] = -1;
    }
    void manacher()
    {
        int id;
        int maxx = 0;
        int ans = 0;
        for(int i = 1; i <= N; i ++)
        {
            if(maxx > i)
                p[i] = min(maxx-i, p[2*id-i]);
            else
                p[i] = 1;
            while(b[i + p[i]] == b[i - p[i]])
                ++ p[i];
            if(i + p[i] > maxx)
            {
                maxx = i + p[i];
                id = i;
            }
        }
    }
    int main()
    {
        int t;
        int cas = 0;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            for(int i = 0; i < n; i++)
            {
                scanf("%d",&a[i]);
            }
            init();
            manacher();
            int ans = 1;
            for(int i = 3; i < N; i+=2)
            {
                for(int j = ans; j <= p[i]; j+=2)
                {
                    if(p[i+j-1] >= j)
                    {
                        ans = j;
                    }
                }
            }
            ans = ans/2*3;
            printf("Case #%d: %d\n",++cas,ans);
        }
        return 0;
    }



Python爬虫实战:高效爬取CNKI知网文献数据的技术解析 本文将详细介绍如何使用Python最新技术构建一个高效的CNKI知网文献爬虫系统。我们将从爬虫基础知识讲起,逐步深入到高级反反爬技术、分布式爬取、智能解析等前沿内容。文章包含完整的代码实现,涵盖请求模拟、数据解析、持久化存储等关键环节,并特别针对CNKI的反爬机制提供解决方案。通过本文,读者将掌握构建专业级学术文献爬虫的全套技术栈。关键词:Python爬虫、CNKI爬取、反反爬技术、文献数据挖掘、Scrapy框架本文详细介绍了如何使用Python最新技术构建CNKI知网文献爬虫。 阅读详情

相关推荐

电赛2024年H题智能小车基于MSPM0G3507主控MCU(利用8路灰度加上MPU6050的解决方式)

最后我觉得这个项目最重要的部分还是陀螺仪的精准度,如果一个陀螺仪的精准度高,这个项目就十分简单了,像mpu6050这种陀螺仪精准度就稍微差了一点,他有个最严重的问题就是温漂,偏航角会随着温度变化为变化,这一点在跑发挥项一的时候十分关键的,因为这个只差基督就会导致车子跑偏,导致无法完成 整个项目。如果条件足够的话建议可以换一个好一点的陀螺仪,然后就是灰度如果没有条件同样也可以换成红外。以上就是本次项目的一些小建议。

weixin_60991529的博客 6241

hdu5371_Hotaru's problem_Manacher

Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3479    Accepted Submission(s): 1144 Problem Description Hotaru Ichijo

no2015214099的博客 460

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

Hotaru's problem超详细解释(hdu5371+Manacher)

详细解释看代码注释和题解报告 AC code: #include&amp;amp;lt;iostream&amp;amp;gt; #include&amp;amp;lt;string&amp;amp;gt; #include&amp;amp;lt;vector&amp;amp;gt; #include&amp;amp;lt;cstring&amp;amp;gt; #include&amp;amp;lt;algorithm&am

我们花时间收集,却忘了最重要的其实是花时间去消化 422

Microapp 接入vite子应用

MicroApp接入vite版本,干货满满,手把手步骤说明,加上报错说明,赶紧上车!

outsider76557的博客 4658

DCA决策曲线的解读和代码实现

0.决策曲线 决策曲线分析法(Decision Curve Analysis,DCA)是个与ROC曲线相提并论的相对比较新的模型评价方法。 关于它的原理,长篇大论的医学统计学知识解读实在不是我的强项,放上两个链接偷偷懒: https://www.plob.org/article/12455.html https://www.iikx.com/news/statistics/1622.html 如果想看文章,这篇里的fig7就是:https://www.ncbi.nlm.nih.gov/pmc/artic

weixin_42960896的博客 1万+

HDU - 5371 Hotaru's problem(马拉车+暴力)

题目链接:点击查看 题目大意:给出n个数组成的数列,现在规定一种结构满足以下条件: 该结构由三个部分组成 第一个部分与第三个部分相等 第一个部分与第二个部分对称 现在问数列中最长的可以组成该结构的字串的长度 题目分析:对于题目中的条件,我们换句话来解释,还是三个部分,显然第一个部分和第二个部分可以组成回文串,第二个部分可以和第三个部分组成回文串,而且组成的回文串还都是偶回文串,既然涉及到...

Falcon的博客 447

HDU 5371(Hotaru's problem-2次回文串)

Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2432    Accepted Submission(s): 841 Problem Description Hotaru Ichijou

nike0good |Oier&ACMer | 熟能生巧 1280

Android AVB 分析(十六)5 个例子彻底理解 FEC(Reed-Solomon) 的工作原理

关于 FEC 是如何工作的,一直是我 Android OTA 讨论群中的未解话题,大家基本上都不清楚 Android 上面的 FEC 是如何工作的,为什么在 OTA 升级的最后阶段,FEC 的编码计算会消耗大量的 IO 资源,并持续很长时间。接下来的几篇,我会从一个程序员的角度,演示基于里德所罗门编码的 FEC 到底是如何工作的。

洛奇看世界 667

★教程1:matlab学习教程入门100例目录

★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉

FPGA/MATLAB学习教程/源码/项目合作开发 4万+

hdu5371Hotaru's problem

题意:给出一个字符串,要求出一个最长子串的长度,子串满足可以将其分成三部分,第一部分跟第二部分互为回文串,第三部分跟第一部分一样。 做法: 先用求回文串的Manacher算法,求出以第i个点和第i+1个点为中心的回文串长度,记录到数组c中 比如 10 9 8 8 9 10 10 9 8 我们通过运行Manacher求出第i个点和第i+1个点为中心的回文串长度 0 0 6 0 0 6 0

Last Order 974

有限元ABAQUS软件安装后管理员身份运行报错:Cannot connect to license server system...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2067

hdu5371 Hotaru's problem(manacher 算法+枚举)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5371 题目大意:给一串数字,在子串中找到“1-2-1”的形式,其中1和2 是回文串,找出最长的那一串。 思路:利用manacher算法得出最长序列。观察子串形式,1和2是回文串,其实2和后面那个1也是回文串。 在之前我们已经通过manacher算法得到了每个数字所能延伸的长度,所以我们只要枚举第

hahahaha 717

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

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

android 蓝牙通讯demo

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

HDU 5371 Hotaru's problem(manacher + 枚举)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5371Problem DescriptionHotaru Ichijou recently is addicated to math problems. Now she is playing with N-sequence.Let's define N-sequence, which is compos...

1302

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hdu 5371 Hotaru's problem (Manacher算法+枚举)

http://acm.uestc.edu.cn/bbs/simple/?t3258.html 给一个序列,让求其最大子序列 这个序列由三段组成,第一段和第二段对称,第一段和第三段一样 manacher算法求得p[i] 枚举第二段的起点和长度,得到结果 #include #include #include #include #include #include #include

Slow_Wakler的专栏 546

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

HDU 5371 (2015多校联合训练赛第七场1003)Hotaru's problem(manacher+二分/枚举)

HDU 5371题意:定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分相同,第一部分与第二部分对称。 现在给你一个长为n(n<10^5)的序列,求出该序列中N序列的最大长度。思路:来自官方题解:修正了一些题解错别字(误 先用求回文串的Manacher算法,求出以第i个点为中心的回文串长度,记录到数组p中 要满足题目所要求的内容,需要使得两个相邻的回文串,共享中间的一部

a novice 858

Hotaru's problem HDU - 5371(manacher)

Hotaru Ichijou recently is addicated to math problems. Now she is playing with N-sequence. Let’s define N-sequence, which is composed with three parts and satisfied with the following condition: the ...

tomjobs的博客 561

HDU 5371 Hotaru's problem

manacher算法介绍 先用求回文串的Manacher算法,求出以第i个点和第i+1个点为中心的回文串长度,记录到数组c中 比如 10 9 8 8 9 10 10 9 8 我们通过运行Manacher求出第i个点和第i+1个点为中心的回文串长度 0 0 6 0 0 6 0 0 0 两个8为中心,10 9 8 8 9 10是个回文串,长度是6。 两个10为中心,8 9 10 10

long long ago 763

hdu 5371 Hotaru's problem manacher + 线段树

题意:找出一段最长的子串分成三部分abc,其中ab为回文串,ac相等(可得bc也是回文串) 这里将分割abc的两个点分别看成第一分割点x和第二分割点y,那么用manacher求出每个点为中心的最长分割点之后,对于第一ab这个回文串,可以知道的是它的长度为偶数,第一分割点为其中间的那个位置,再来看第二分割点的位置,由manecher的性质知道,假如有这么一段子串(abcd随便表示数字,并不一定相同

uuuuuu 694

hdu 5371 Hotaru's problem

#pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include using namespace std; const int M = (1 << 17); const int mod = 1e9 + 7; int n; vecto

思维迷宫 749

HDU 5371 Hotaru's problem (manacher+线段树)

题意: 假设对于字符串A,它的反串为A'。 给出一个字符串,找出形式为AA'A的最长串的长度。 思路: 先用manacher跑一边,得到对于每一个位置i,以i为中心回文串的长度Mp[i] 以回文串AA'的中心i1为圆心,以AA'的半径Mp[i1]为半径,做圆O1        以回文串A'A的中心i2为圆心,以A'A的半径Mp[i2]为半径,做圆O2 若要满足连续的AA'A 必有

DT2131 486

HDU 5371 Hotaru's problem Manacher + set维护

题目大意: 就是现在给出一个长度为N 大致思路: 很常见的一个Manacher + Set维护的类型的题.... 首先用Manacher处理出每个位置为中心的回文半径 然后从左往右扫, 每次对于当前位置 i, 其半径覆盖到的最右位置 (i, i + R[i] - 1)添加到set里(作为左中心) 那么对于位置i, 要使其作为右中心的话, 左中心的最右覆盖位置必须能覆盖到这个位

Gatevin的专栏 759

hdu 5371 Hotaru's problem(manacher+尺取法)

题意: 给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件: 1. 平均分成三段 2. 第一段与第三段一样 3. 第二段是第一段的倒序。求这样的子序列的最大长度。 数据范围:n~100000 解析: 我看网络上面很多的题解都是用O(n2/32)O(n^2/32)的做法水数据过去的,这种做法是先用mancher算法预处理出每个每个回文串最远所能抵达的位置,然后

小G的ACM之路 917

hdu5371Hotaru's problem manacher算法

//给一个序列,让求其最大子序列 //这个序列由三段组成,第一段和第二段对称,第一段和第三段一样 //manacher算法求得p[i] //枚举第二段的起点和长度,得到结果 #include<cstdio> #include<cstring> #include<iostream> using namespace std ; const int maxn = 2e5 + 10 ; int str[ma

ijbuhv的专栏 1989

HDU 5371 - Hotaru's problem(Manacher算法)

题目: http://acm.hdu.edu.cn/showproblem.php?pid=5371 题意: 求出三段连续的序列,使得第一段是第二段的回文,第二段是第三段的回文,求出最长序列是多长。 思路: manacher算法,处理回文串。 枚举 i,满足mp[i] >= j-i+1 && mp[j] >= j-i+1, 更新答案 ans = j-i。 AC. #includ

Halo 670
上一篇: Phone List POJ - 3630 (字典树或string)
下一篇: Bender Problem
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值