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

告别切换烦恼!用Parallels Desktop的Host-Only网卡,在macOS上直接访问虚拟机里的公司内网 本文详细介绍了如何在macOS上使用Parallels Desktop的Host-Only网卡直接访问虚拟机内的公司内网,告别频繁切换操作系统的烦恼。通过配置Host-Only网络模式,实现主机与虚拟机的安全高效通信,特别适合需要频繁访问内网资源的IT从业者。文章包含分步指南、自动化脚本和常见问题解决方案,帮助用户优化工作流程。 阅读详情

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;
}
VS Code + ESP-IDF:离线环境配置与示例工程编译全指南 本文详细介绍了在VS Code中离线配置ESP-IDF开发环境的完整流程。针对国内开发者常遇到的网络问题,指南提供了从Python环境准备、获取离线安装包、运行安装器到VS Code插件配置与示例工程编译的全套解决方案,确保环境搭建稳定、可控且高效。 阅读详情

相关推荐

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 492

【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

AgentScope实战指南:从源码解析到Qwen模型的多Agent协作开发

本文提供了AgentScope多智能体开发框架的实战指南,详细解析了其核心架构与工作原理,并展示了如何利用Qwen模型构建从单智能体对话到多智能体协作的完整应用。通过两个具体代码实例,指导开发者快速上手环境配置、模型接入与智能体编排,实现高效的多Agent系统开发。

ff678的博客 640

【GDOI 2017 day2】小学生语文题

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

LYD729 1100

全覆盖路径规划开源项目Clean-robot-turtlebot3关键函数解析(下)

本系列文章主要介绍全覆盖路径规划开源项目Clean-robot-turtlebot3的相关内容,包含如下四篇文章,分别介绍了开源项目Clean-robot-turtlebot3流程的概括总结、ROS坐标系常用坐标及其变换、Clean-robot-turtlebot3关键函数解析等内容。

慕羽★的博客 2299

【YOLOv8改进-注意力机制】LSKNet(Large Selective Kernel Network ):空间选择注意力

【YOLOv8改进-注意力机制】LSKNet(Large Selective Kernel Network ):空间选择注意力 (论文笔记+引入代码)。LSKNet能够动态调整其大的空间接收场,以更好地模拟遥感场景中各种对象的范围上下文。据我们所知,这是首次在遥感目标检测领域探索大型和选择性核机制。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 2864

【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

Python 爬虫实战:豆瓣电影海报批量获取(Top250 榜单 + 可视化展示)

在信息爆炸的时代,数据已成为决策的核心,而数据的获取是数据分析的第一步。本文将详细介绍如何利用 Python 爬虫获取豆瓣电影 Top250 榜单的海报,并对数据进行可视化展示,助你更好地了解电影市场的趋势和用户的喜好。

yansideyucsdn的博客 718

GDOI2017 day2 Problem3 小学生语文题

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

Cold_Chair的博客 870

【WLAN】【测试】WPS测试方法小结

手机 一般稍微老的手机会支持,新手机反而不支持。 比如小米6(系统版本新的话不支持)在设置——高级设置——WPS连接。 笔记本 有些笔记本(如Surface Laptop 3)天生支持WPS,比如在连接某SSID的时候,会有“也可以通过按路由器上的按钮连接”这样的字样,出来后按AP的WPS按键即可以进行连接。 Qss软件 AP mesh组网中,Controller和Agent之间通过WIFI组网,可使用WPS的方式进行连接。可利用这点用Agent来测试AP的WPS功能。 ...

一介草民,只为生活。 1万+

部署模型:Libtorch使用笔记【Pytorch的C++版本】【把用Pytorch训练好的模型打包保存为.pt格式,使用Libtorch去加载.pt格式模型,在C++工程中去用就好了】

A : Libtorch是pytorch的C++版本,现在的很多大型项目都是用C++写的,想使用训练好的模型,需要通过caffe等方式去集成,比较麻烦。这里pytorch官方提出了Libtorch,我们就可以把pytorch训练好的模型,打包起来,直接在C++工程中去用就好了,相比较caffe等,非常方便!虽然对于许多需要动态性和易迭代性的场景来说,Python是一种合适且首选的语言,但在同样的情况下,Python的这些特性恰恰是不利的。生产环境是一个需要低延迟和有严格部署要求的领域,一般选择C++。

u013250861的博客 2949

再见,OI  ---GDOI2017爆零记

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

Ab.Ever 3745

国科大人工智能原理与算法-2024-第一次作业-雷震老师

1. 反射行动(比如从热炉子上缩回你的手)是理性的吗?它们是智能的吗? 2. 以下的计算机系统在何种程度上是人工智能的实例: - 超市条码扫描器 - 网络搜索引擎 - 语音激活的电话菜单 - 对网络状态动态响应的网络路由算法 3. 为什么进化会倾向于导致行为合理的系统?设计这样的系统想达到的目标是什么?

MatsumotoChrikk 2928

【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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

GDOI2017

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

white_elephant的博客 709

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

蒟蒻こんにゃく 205

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

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

【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

GDOI2017总结

DAY1今天感觉还好吧,需要注意的是不要为自己的懒惰找借口,第二题实际上就是不想好好读题,虽然的确题目很长,但我觉得主观能动性还没发挥出来,第二题也不难啊,就是没打,很可惜了,要是打了的话就可以拿个300什么的?嗯,感觉这次检查还是做得很仔细,最后检查出了T1的错误。 想第三题的时候很不确定,自信需要恢复吧,可能也是很少比赛的时候认真做字符串的题,平时正确性保证做得不好,这个需要注意。 感觉写完

ZLTJohn的博客 1602

gdoi2017

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

weixin_34355559的博客 198

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

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

ssllyr 205

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

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

待成熟的葡萄 3528

GDKOI 2017 参赛总结

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

lkb 的小屋 2875

【JZOJ5097】【GDOI2017 day1】取石子游戏

Description经过了与中山大学学生处软磨硬泡之后,凡喵、叶妹、yzx 和图图终于成为了舍友。如果你不想和题面软摩硬 泡的话,请直接跳到加粗的部分开始读。 这道题目来源于宿舍中发生的一件小事。为了简明扼要地把这道题叙述清楚,对这个故事的内容进行了极大 的简化。如果想看这个题目的完整版本,凡喵很愿意提供给大家。详见随题目下发的文件。 这天叶妹去改 (san) 题 (guo) 目 (sha)

dance in th dark的博客 1264

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

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

Felix-Lee的博客 767

【折半搜索-经典题目】中山纪念中学暑期游Day13——【GDOI2017模拟8.15】Buy

前言 考试时有道题目用到了【折半搜索】 老师推荐了这道经典题目让大家练习【前后部分算法不同】的题目 虽然不知道我有没有时间做,好歹先把题目记录一下,免得以后找不到了qwq 题目 Input Output (答案保留4位小数) Sample Input 1 3 3 4 50 3 50 7 50 5 1 7 1 3 2 Sample Output 0.7500 ...

十里寒塘路♣烟花一半醒 265
上一篇: 【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、付费专栏及课程。

余额充值