【GDOI 2017】【JZOJ 1502】小学生语文题

保姆级教程:用ROS2 Humble和Nav2从零搭建一个能自主导航的机器人小车(含SLAM建图与避障) 本文提供了一份详细的保姆级教程,指导如何使用ROS2 Humble和Nav2从零搭建一个具备自主导航功能的机器人小车,包括SLAM建图与避障。教程涵盖了硬件组装、ROS2环境配置、URDF模型创建、SLAM建图实战、Nav2导航栈配置以及系统集成调试等关键步骤,适合机器人开发初学者和进阶开发者。 阅读详情

Description

给出一个原始串和目标串,要求在原始串上不停的把后面的字符移动到前面去,用最少的步数使两串相同。
n<=2000

Solution

用DP:fi,j表示目标串匹配到了i,原始串匹配到了j,
那么当前有两种选择:
1. 如果两位置字符相同,则直接匹配;
2. 当前这位的目标串然后面的来匹配,先跳过;
3. 当前这位的原始串去匹配前面跳过的目标串(当前要有的跳才行)

直接DP即可;

复杂度:O(n2)

Code

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=2050;
int m,n;
int a[N],b[N];
int a1[N][27],b1[N][27];
struct qqww
{
    int v,f1,f2,k;
}f[N][N];
int s1[N],s2[N],ad[N];
bool z[N];
qqww min(qqww q,qqww w){return q.v<w.v?q:w;}
void add(int l,int r){fo(i,l,r)ad[i]++;}
int main()
{
    freopen("chinese.in","r",stdin);
    freopen("chinese.out","w",stdout);
    int q,w,_;
    scanf("%d",&_);
    while(_--)
    {
        char ch=' ';
        while(ch<'a'||ch>'z')ch=getchar();
        n=0;
        for(;ch<='z'&&ch>='a';ch=getchar())
        {
            a[++n]=ch-96;
            fo(i,1,26)a1[n][i]=a1[n-1][i];
            a1[n][a[n]]++;
        }
        fo(i,1,27)a1[n+1][i]=a1[n][i];
        while(ch<'a'||ch>'z')ch=getchar();
        q=0;
        for(;ch<='z'&&ch>='a';ch=getchar())
        {
            b[++q]=ch-96;
            fo(i,1,26)b1[q][i]=b1[q-1][i];
            b1[q][b[q]]++;
        }
        qqww t;t.v=1e9+1;t.f1=t.f2=t.k=0;
        fo(i,1,n+1)fo(j,0,n+1)f[i][j]=t;
        f[1][1].v=0;a[n+1]=0;
        fo(i,1,n+1)
        {
            fo(j,1,min(i,n))if(f[i][j].v<1e9)
            {
                t.f1=i;t.f2=j;
                if(a[i]==b[j])
                {
                    t.v=f[i][j].v;t.k=1;
                    f[i+1][j+1]=min(f[i+1][j+1],t);
                }
                t.v=f[i][j].v+1;t.k=2;
                f[i+1][j]=min(f[i+1][j],t);
                if(a1[i-1][b[j]]>=b1[j][b[j]])
                {
                    t.v=f[i][j].v;t.k=3;
                    if(i==6&&j==2)
                    {
                        printf("");
                    }
                    f[i][j+1]=min(f[i][j+1],t);
                }
            }
        }
        if(f[n+1][n+1].v<1e9)
        {
            printf("%d\n",f[n+1][n+1].v);
            s1[0]=s2[0]=0;
            q=n+1,w=n+1;
            while(q!=1||w!=1)
            {
                if(f[q][w].k==2)
                {
                    s1[++s1[0]]=q-1;
                }else if(f[q][w].k==3)
                {
                    s2[++s2[0]]=w-1;
                }
                int q1=q;
                q=f[q1][w].f1,w=f[q1][w].f2;
            }
            fo(i,0,n+1)ad[i]=z[i]=0;
            fod(i,s1[0],1)
            {
                q=0;
                fod(j,s2[0],1)if(b[s2[j]]==a[s1[i]]){q=j;break;}
                printf("%d %d\n",s2[q]+ad[s2[q]],s1[i]);
                z[s2[q]]=1;
                for(w=1;w+ad[w]<s1[i]||z[w];w++);
                add(w,s2[q]);
                s2[q]=0;
            }

        }else printf("-1\n");
    }
    return 0;
}
西门子S7-1200控制伺服/步进电机方法与接线(全) 西门子S7-1200控制伺服/步进电机方法与接线(全) 伺服/步进电机在非标自动化控制中十分常用,但作者发现在各类开源网站上很少有人做西门子1200PLC控制伺服/步进电机的教程,于是今天想着跟大家分享一下。 本文共分为一下几个四个内容。 文章目录西门子S7-1200控制伺服/步进电机方法与接线(全)前言一、准备二、接线1.PLC接线:2.伺服接线:3. 步进电机的接线:三、代码组态代码四、可能出现的问题 前言 工程控制常用到三项异步电机、直流电机等,但他们都无法准确的控制电机角度;于是有了步进电机、 阅读详情

相关推荐

基于MATLAB实现的克里金插值的代码

参考代码 克里金插值matlab代码 youwenfan.com/contentcsb/81657.html。

jghhh01的博客 483

【JZOJ5102】【GDOI2017 day2】小学生语文题

DescriptionData ConstraintSolution这道题考场上没想到可以倒着dp,感觉dp都白学了。 我们设出f[i][j]表示当前正确串匹配到i,原串匹配到j,i正对着j,i-n中的每个字符j-n中都可匹配的最小步数。我们现在考虑转移。 1、假设当前的j+1我们对其进行操作使它往前丢,那么f[i][j]=f[i][j+1]+1。 2、假设当前的s[i]==s1[j],那么f

dance in th dark的博客 1082

第7篇-SAP MM模块-JIT应用实战解析,从计划协议到JIT供应的关键配置与流程

本文深入解析SAP MM模块中的JIT(Just In Time)供应模式,从计划协议到JIT供应的关键配置与流程。通过动态计划行管理、需求聚合与分解等核心功能,实现精确数量、时间和地点的物料供应。文章详细介绍了主数据准备、计划协议配置、MRP参数精调及EDI集成方案,并提供了实施中的典型问题与解决方案,助力企业优化供应链管理。

weixin_30363509的博客 948

【GDOI 2017 day2】小学生语文题

Description给你一个A串一个B串,长度都为N A固定,B中的字符可以且仅可以从后往前拖 求最小拖动次数,使得B串与A串相等,并输出每一步的拖动方案 保证有解 N<=2000 10组数据,一秒时限 GDOI2017day2T3Analysis这种题强烈感觉像DP,但是比赛的时候想不到 这种智商题非常好,尤其喜欢这道题的idea,模型经典而有变化,码量小而有思维含量 考虑最小拖

LYD729 1100

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 686

【YOLOv11多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1968

【GDOI2017 day2】小学生语文题

DescriptionSolution比赛的时候打了个信仰贪心,结果只拿到了10分,但是后来打完正解之后才发现贪心分答案处理好像有些问题,要是把这个纠正过来不知道还能多拿多少分。 这个很明显可以倒着DP。 设f[i][j]表示a串i~n都匹配完成,b串用到了j~n(有些可能不动,有些可能抽了出来) 我们考虑怎么转移: 我们知道i,j的状态只可能从(i+1,j),(i+1,j+1),(i,j+

Facico的博客 1514

C#跨平台制图新纪元:Mapsui,一库在手,地图我有

深入学习Mapsui的渲染机制,定制属于你的地图样式,无论是颜色、图标还是文字,都可以随心所欲。

java专栏 1457

GDOI2017 day2 Problem3 小学生语文题

题目大意:给出一个只由小写英文字母组成的字符串,每次可以把一个字母调到它前面的一个位置,求与目标串相等的最少步数,并输出一组方案。

Cold_Chair的博客 870

海思芯片OpenHarmony系统移植:Sensor传感器模块HDF驱动配置HCS文件详解

海思系列芯片的传感器模块通过HDF(Hardware Driver Foundation)驱动框架进行管理和配置。传感器HCS(HDF Configuration Source)配置文件定义了各类传感器的硬件参数、总线配置、寄存器序列等信息,为传感器驱动提供必要的初始化和运行参数。海思系列芯片适配OpenHarmony的传感器HDF配置HCS文件是传感器驱动开发的关键部分,通过合理配置可以实现各种传感器设备的驱动支持。

m0_67505153的博客 209

人工智能之数学基础:弄懂数学本质,让我们不再害怕数学

数学的用途远远超过了人们的想象,甚至无处不在,任何领域都需要用到数学知识,人工智能也不例外。我将尽可能地将数学知识和机器学习算法相结合,让大家知道这些数学知识咋人工智能领域中的应用,使得数学的学习不会过于枯燥,同时也帮助大家扫清在学习算法过程中的数学障碍。除此之外,我还希望帮助大家建立一种不一样的数学思维,不再将数学看成是符号的演算、公式的推导,而是将数学看成是一种描述这个世界的工具,这样你就会发现这个世界处处有数学。当我们面对问题的时候,你是否会对问题进行抽象,然后通过数学来解决问题?

huanfeng_AI的博客 633

再见,OI  ---GDOI2017爆零记

再见,OI  —GDOI2017爆零记  我今年高一。这是我第二次参加GDOI,回想上一次已是初二。      那时是在韶关的北江中学举行的,我年幼无知,傻逼题都不会做,两天两道bfs签到题都不会写,最终40+40=80分,拿了Cu滚粗。今年省赛前我想已经过去两年了,我的实力也进步了不少,至少不能再像初二时那样丢脸了,那时集训了一个月,还没有考过没去集训的hcl神犇。更有进SOI摘金的xyf神犇

Ab.Ever 3745

手把手教你学pcie--用Verilog搭建PCIe控制器核心模块

PCIe控制器是硬件设计的核心模块,负责实现设备与主机之间的高速通信。本文将以Verilog语言为例,分步骤讲解如何从零构建一个简化的PCIe控制器核心模块,涵盖事务层(TLP)生成、数据链路层(DLLP)处理和物理层(PHY)接口适配。目标是为嵌入式开发者、FPGA工程师提供一个可扩展的硬件设计框架。​。

MHD0815的博客 340

GDOI2017

原版是某篇2000字的短文。这次GDOI真叫人命苦! 辛辛苦苦地做准备,发现第一题都可以做,结果打错了的选手(那就是我),表示恨不得将自己的手给砍了,高自尊的我容不得出现这样的错误(当然我是不会砍的,不立flag)Day0: 高高兴兴地离开学校,迎来了我准备已久的GDOI,表示我在这之前粗略玩了玩splay,毕竟上一年都没有考到它,碰碰今年的运气看能不能切掉splay的题目。Day1: 5:4

white_elephant的博客 709

OV9734 DATASHEET,完整规格书

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

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

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

【jzoj5102】【GDOI2017 day2】【小学生语文题】【动态规划】

题目大意给出两个串,每次操作可以将当前串的一个字符移到它前面的任意位置,求到目标串的最小操作数及其步骤。解题思路对两个串做变种的lcs,f[i][j]表示原串匹配到i,当前串匹配到j的lcs,转移保证i不小于j且前i个字符包含前j个字符。用另外的数组保留转移方式,构造解的时候贪心构造即可。code#include<cstdio> #include<cmath> #include<cstring> #

inklutcuah’s blog 620

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[gmoj 5102]【GDOI2017 day2】小学生语文题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

蒟蒻こんにゃく 205

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

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

【GDOI2017第四轮模拟day2】绝版题

题目大意对于一棵树,q个操作可以新增节点或改变一个点的权值,或询问整棵树的带权重心,强制在线 1≤q≤3×1051\le q\le 3\times 10^5题解考虑如何找带权重心,显然是每次往最大权的子树走,条件是这个子树的权×2大于整棵树的权值和。 那么就很明显了,我们要做的是维护以每个点为根的子树的权值和,以及每个点的儿子中的最大权。 由于一条链上的信息更改会影响很多点,那么我们可以用LC

samjia2000的博客 610

【gdoi2017总结】

第一天第一题正常kmp,对拍过了,常数控制得比较好。第二题dfs序搞一下,题目没读懂,只码了20分,拿到了该有的分。第三题广义sam,不会算法死穴。第四题生成函数,卡特兰数次幂fft,不会公式推导,不会算法死穴。小结出题人丧病,不好好出题面,读题能力差,真的读了好几遍问了评委还是读错了,还是好好学语文吧。高级算法不会,公式推导不会,之前给太多理由自己去放弃一些知识,之后不要放过任何一个出现过的知识点

inklutcuah’s blog 592

GDKOI 2017 参赛总结

陆陆续续也写了一个星期,希望此次比赛的失利和对问题的分析能帮助我们以后在类似的赛事中避免可能出现的问题。

lkb 的小屋 2875

GDOI2017总结

2017.4.29 - 2017.5.1在东莞举行了三天的GDOI比赛,比赛过程一波三折,结果差强人意,进了省队。Day0:预定了10:00的闹钟,但6:00就爬起来了。早上最后复习了一下多项式算法,跟着纪中的同学坐了两个多小时的车去到了酒店。晚上感觉很兴奋很激动,复习了一遍模板,10:30就睡了,期待第二天的考试能够取得好的成绩。GDOI Day1:比赛前在考场门口和纪中二中的小朋友聊天,内心还是

HbFS- 2149

【GDOI2017】【gmoj5101】【7.15模拟赛T4】凡喵识图【暴力】

题目描述 输入 输出 输出共 n 行,每行一个整数,表示第 i 张图片插入时的重要度程度。 样例 输入 10 9404036463553923040 9404038696936916704 1521386814669494545 12183328314988946679 1169534990708571684 11565766518074758880 10744750057578731793 15981146932063590331 7656317005723312435 133344742720063

ssllyr 205

【JZOJ5101】【GDOI2017 day2】凡喵识图

DescriptionData ConstraintSolution这道题虽然加了随机化,但理论复杂度还是O(N^2)…… 我们可以将64位随机分成4块,然后我们每次选出不变的一块,对这一块与当前串完全相同的串与当前串进行匹配。Code#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<alg

dance in th dark的博客 749

JZOJ6641. 【GDOI20205.20模拟】sequence

Description Solution 首先你需要感受出一种贪心地方法:如果p<q,那么全部都放1肯定最优,否则考虑从1到n一个一个放,如果能往右放就往右放。 对于p<=qp<=qp<=q的情况,相当于求∑i=1nik\sum_{i=1}^{n}i^k∑i=1n​ik,拉格朗日插值可以做到O(k)O(k)O(k)求一次。 接下来考虑p>qp>qp>q。 那么相当于从右往左放,每一次放的尽量多,可以二分放多少,再O(m)O(m)O(m)判断。由于长度是2n\s

Deep_Thinking的博客 489

JZOJ 5048. 【GDOI2017模拟一试4.11】IQ测试

5048. 【GDOI2017模拟一试4.11】IQ测试 DescriptionPTY进行IQ测试,测试的项目是判断一个序列是否是另外一个序列删除若干个数字之后得 到的,PTY 深知自己的IQ 低于sqrt(-1),所以他请来了智商超高的你来替他解决问题。Input第一行为一个整数n,第二行包括n个用空格分开的整数ai,组成了

Felix-Lee的博客 767

[GDOI2017游记]一次刺激的冲省队历程

Before Contest比赛前机房组织了整整4轮12场的GDOI12连测。状态一直不怎么好,每一轮三天总要挂至少一天,而且是挂到全机房垫底那种。直到最后一场才勉强摸到了校线(第五名)的后面一位。感觉自己状态很差,所以对这次省选也没有抱什么太大的期望,想着能够达到B类分数,体验一下被卡校线的滋味,就已经很满足了。 (12连测完后无聊改了改hackerrank审查元素截的图) Day 0报道日,

待成熟的葡萄 3528

gdoi2017

今年的gdoi第一天t1大水题一道 裸的kmp 但是 我把记录长度的int数组开成了char类型 正解变爆零 心态爆炸......... 后面的第二题两千字题目以及五千字附加故事(我是没有去看,据说全都a完了才能去看) 看不懂没写 第三题广义后缀自动机 结果我想着zkw水水分 然后全超时了 第四题 看了一眼 直接放弃 所以 第一天爆零 ! ! ! 第二天第一题 果然签到 水的bfs 结果...

weixin_34355559的博客 198
上一篇: 【GDSOI 2017】【JZOJ 5104】 逃亡
下一篇: 【C++ STL】Set用法
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值