A + B for you again hdu 1867

告别固定参数:在Simulink里玩转VSG的自适应惯量与阻尼(避坑指南) 本文深入探讨了在Simulink中实现虚拟同步发电机(VSG)自适应惯量与阻尼控制的关键技术。通过分析VSG在不同工况下的动态需求,提出基于频率变化率和功角偏差的双指标自适应算法,并详细解析Simulink实现中的模块设计、参数优化及避坑指南。该方案能显著提升电网频率稳定性,特别适用于高比例新能源接入的电力系统。 阅读详情

题目:

Generally speaking, there are a lot of problems about strings processing. Now you encounter another such problem. If you get two strings, such as “asdf” and “sdfg”, the result of the addition between them is “asdfg”, for “sdf” is the tail substring of “asdf” and the head substring of the “sdfg” . However, the result comes as “asdfghjk”, when you have to add “asdf” and “ghjk” and guarantee the shortest string first, then the minimum lexicographic second, the same rules for other additions.

Input

For each case, there are two strings (the chars selected just form ‘a’ to ‘z’) for you, and each length of theirs won’t exceed 10^5 and won’t be empty.

Output

Print the ultimate string by the book.

Sample Input

asdf sdfg
asdf ghjk

Sample Output

asdfg
asdfghjk

 

题意:

寻找两个字符串的前后缀最大相等部分(第一个字符串的前缀第二个字符串的后缀相等,或者第二个字符按串的前缀或者后缀,选取两者中最长输出),输出一个串不相等部分+相等部分+另一个串的不相等部分。当两个字符串完全不相等时间,按长短输出,长度短的在前,长度较长的在后。长度相等时,按字典序较小的在前,较大的在后输出。

 

思路:

分别计算字符串a+b和b+a的最长公共前后缀max1,max2;

如果max1>max2,则输出b,和a除了公共部分的字符;

如果max1<max2,则输出a,和b除了公共部分的字符;

如果max1=max2,比较形成字符串的字典序,输出字典序小的;

 

代码:

#include<stdio.h>
#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
int nextt[210000],n;
void getnext(string s)
{
    int i=0,j=-1;
    nextt[0]=-1;
    while(i<n)
    {
        if(j==-1||s[i]==s[j])
        {
            i++;j++;
            nextt[i]=j;
        }
        else
            j=nextt[j];
    }
}
int main()
{
    string a,b,s;
    while(cin>>a>>b)
    {
        s=a+b;
        n=s.length();
        int l1=a.length();
        int l2=b.length();
        memset(nextt,0,sizeof(nextt));
        getnext(s);
        /*for(int i=0;i<=n;i++)
            printf("%d\n",nextt[i]);*/
        int max1=0,max2=0;
        int minn=min(l1,l2);
        max1=nextt[n];
        if(max1>minn)//注意 aaaaa a  这类情况
            max1=minn;
        memset(nextt,0,sizeof(nextt));
        getnext(b+a);
        max2=nextt[n];
        if(max2>minn)//注意 aaaaa a  这类情况
            max2=minn;
        if(max1>max2)
        {
            cout<<b;
            int l=a.length();
            for(int i=max1;i<l;i++)
                printf("%c",a[i]);
            cout<<endl;
        }
        else if(max1<max2)
        {
            cout<<a;
            int l=b.length();
            for(int i=max2;i<l;i++)
                printf("%c",b[i]);
            cout<<endl;
        }
        else
        {
            string x,y;
            x=a;
            for(int i=max1;i<l2;i++)
                x=x+b[i];
            y=b;
            for(int i=max1;i<l1;i++)
                y=y+a[i];
            if(x<y)
                cout<<x<<endl;
            else
                cout<<y<<endl;
        }
    }
    return 0;
}

 

美团外卖mtgsig 1.2逆向工程:从补环境到签名生成全解析 本文深入解析了美团外卖mtgsig 1.2签名算法的逆向工程全流程。从环境检测原理与补环境实战入手,详细拆解了签名JSON中每个关键字段的生成逻辑,并重点剖析了核心签名a2的生成步骤,涉及设备指纹、MD5、AES加密等关键技术。最后提供了构建签名生成器的实践思路与常见坑点,为理解复杂风控体系提供了完整的技术视角。 阅读详情

相关推荐

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6355

hdu 1867 A + B for you again

题目链接:  hdu 1867 A + B for you again 题意:有两个串,让你求两个串的和,也就是头或尾部的公共串相重合,实现两个串的相加,若两个串头尾重合的长度相同,则按字典序输出。 因为没有说哪一个为模式串,哪一个为匹配串,所以两个串的不同顺序都要考虑,进行两次查询公共长度。 #include #include #include #define maxn 111111

parting_soul的专栏 329

基于深度学习的图像去雨(Opencv,Pytorch,Cnn)

最近做了一个图像去雨项目,使用的语言为Python,深度学习框架为Pytorch。去雨效果不错,具体请看效果视频!图像去雨(GAN,Opencv,Pytorch)

Czqqwer的博客 2612

杭电 hdu 1867 A + B for you again

杭电 hdu 1867 A + B for you again kmp算法 简单题

panyanyany(飞雨幻沙) 1316

Vibe coding 氛围编程:编程就像聊天一样,低代码开发时代来了?

Vibe coding:编程就像聊天一样,低代码开发时代来了!

Code_流苏:在代码中寻诗意,在实践中觅真知 4802

全国区块链职业技能大赛国赛考题前端功能开发

全国区块链职业技能大赛国赛考题区块链应用前端功能开发

本郡主是喵 1333

hdu 1867 A + B for you again

hdu 1867 A + B for you again 题目没有说明输入一定是前一个字符串的后缀和后一个字符串匹配,所以需要进行两次kmp匹配,然后得出最大的匹配数。 #include &lt;stdio.h&gt; #include &lt;string.h&gt; #define MAX 100005 char strA[MAX], strB[MAX]; int n...

923723914 100

在Tricore上移植μC/OS-III——1.1 AURIX Development Studio的使用

本文主要介绍AURIX Development Studio软件的安装和使用方法。 英飞凌针对Tricore系列单片机推出了一款免费的软件——AURIX™ Development Studio,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。 可从下面的链接获取软件安装包,软件安装好后,新建工程时会自

weixin_42967006的博客 2290

HDU1867 A + B for you again【KMP】

A + B for you again Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9765 Accepted Submission(s): 2410 Problem Description Generally speaking...

海岛Blog 732

《Scratch图形化等级考试(1~4级)历届真题解析》专栏总目录

❤️ 专栏名称:《🌸 专栏介绍:中国电子学会《全国青少年软件编程等级考试》Scratch图形化等级考试(1~4级)历届真题解析。🚀 订阅专栏:原价 99.9,🔥 火爆订阅中 🔥,限时 19.9。订阅后可阅读专栏内所有文章,本专栏持续更新中,欢迎订阅!

人生就是一个不断学习的过程 1万+

YOLOv11改进 | 损失函数改进篇 | MPDIoU、InnerMPDIoU助力细节涨点(二次创新 + 代码解析)

本文为读者详细介绍了YOLOv11模型的最新改进,带来的改进机制是最新的损失函数MPDIoU和融合了最新的Inner思想的InnerMPDIoU(效果打爆之前的所有的损失函数提升检测精度和处理细节方面的作用。通过深入探讨MPDIoU和InnerMPDIoU(全网首发)的工作原理和实际代码实现,本文旨在指导读者如何将这些先进的损失函数技术应用到YOLOv11模型中,以提高其性能和准确性。文章内容涵盖从理论基础、代码实现,到实际教你如何添加本文的机制到你的模型中。

Snu77的博客 4023

Hdu-1867 A + B for you again

A + B for you again Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6027    Accepted Submission(s): 1493 Problem Description Generally

WZJRJ28 449

小目标检测之改进的YOLOV11算法

MASF-YOLO通过多尺度特征聚合注意力增强自适应融合三大核心创新,显著提升了无人机视角下的小目标检测性能。

hasakie的博客 1717

【KMP】 hdu1867 A + B for you again

A + B for you again http://acm.hdu.edu.cn/showproblem.php?pid=1867 Problem Description Generally speaking, there are a lot of problems about strings processing. Now you encounter another su

Ted's 游乐园 1953

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

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

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

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

hdu1867---A + B for you again

A + B for you again Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4633    Accepted Submission(s): 1192 Problem Description Generally

Alex 1159

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【hdu1867】A + B for you again——KMP

题目: A + B for you again Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5914    Accepted Submission(s): 1463 Problem Description

CFhM_R's Blog 489

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HDU 1867 A + B for you again

题目: Generally speaking, there are a lot of problems about strings processing. Now you encounter another such problem. If you get two strings, such as “asdf” and “sdfg”, the result of the additio...

aisebu7819的博客 150

hdu 1867 A + B for you again

A + B for you again Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4661    Accepted Submission(s): 1198 Problem Description Generally

ysCover 548

hdu1867 A + B for you again(kmp)

题目链接:点这里!!!! 题意:(简单易懂自己看) 题解:直接kmp,但是要注意在+号前面的字符串指针一定要指到最后!!! 代码: #include #include #include #include #include #include #include #include #include #include #include #include #inclu

Zsss的博客 390

HDU 1867 A + B for you again kmp算法

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1867 题意:给定两个字符串,把一个字符串接在另一个字符串的后面,相接部位若有相同,则可以略去其中一个字符串的相同部分,输出拼接后最小长度的字符串,若有两种最小长度的字符串,输出字典序较小的那个 思路:可以用kmp匹配一个字符串的尾部和另一个字符串的首部相同的最大长度,然后交换两个字符串的次序,再来一次

弱智就要多努力 673
上一篇: Frosh Week HDU - 3743
下一篇: 51nod-1379 扔盘子
admin__
博客等级 码龄8年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值