首页 > 其他分享 >2023.9.27 Shui_Dream《一类 NPC 问题的多项式时间解法》

2023.9.27 Shui_Dream《一类 NPC 问题的多项式时间解法》

时间:2023-09-28 21:35:55浏览次数:44  
标签:27 NPC 字符串 枚举 序列 2023.9 Shui

给出一个字符串 \(P\),\(P\) 是由小写英文字母构成的。求总共有多少个不同的字符串 \(Q\),使得下面两个条件同时成立:

  1. 字符串 \(Q\) 非空。
  2. 字符串连接得到 \(QQ\),必须满足 \(QQ\) 是 \(P\) 的子序列。

因为 \(n\le 100\) 很小所以可以直接枚举第二次出现的首位,DP 求这个点两边公共子序列数目,且固定右边那个的起点。

但是这样有巨大多重复,因为没有保证子序列 本质不同

考虑一种类似 最小表示法,就是 仅用 \(Q\) 在 \(P\) 中的前两次不重复的出现统计答案

具体来说,枚举第二次出现的首位 \(p\),然后找 \([1,p)\) 中的字符 \(a_p\) 的第一次出现,设位置为 \(q\),然后两边都固定起点(分别为 \(q,p\))跑一遍公共子序列。设 \(f_{i,j}\) 表示两边分别以位置 \(i,j\) 结尾的公共子序列数。

跑的过程中,考虑枚举 \(x\in(i,p),y\in(j,n]\),要求 \((i,x)\) 中不出现 \(a_x\) 且 \((j,y)\) 中不出现 \(a_y\),这样 \(f_{i,j}\) 即可转移到 \(f_{x,y}\)。

标签:27,NPC,字符串,枚举,序列,2023.9,Shui
From: https://www.cnblogs.com/Muelsyse/p/17736518.html

相关文章

  • 2023.9.28动手动脑
    1.此代码有什么问题 建造构造类的构造函数,再调用时需要输入传入参数,不能再调用原始类的默认构造。2.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?在静态方法中访问类的实例成员(非静态字段或方法),需要通过实例化类对......
  • 9.27
    今天做了什么:今天写了半天四则运算的代码然后就是写不下去了大概修修补补了半天,关于错题本记录和设置括号,设置是否有乘除法,是否有括号的功能编写成功同时对于其他的返回结构和正确率的功能有了一点思路.今天上了三节英语课关于英语听力和英语的单词又学到不少,但是英语听力......
  • P2427 题解
    洛谷链接题目简述给定\(N\timesM\)的字符矩阵,有\(Q\)次询问,对于每次询问给出\(x,y\),求以\((x,y)\)为中心的最大正方形边长且正方形中字符均相同。思路看到数据范围较小,可以考虑深搜解决,约掉常数的时间复杂度最坏为\(O(q\times\min(n,m))\),勉强可以通过。(不过代码......
  • 2023.9.28——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午上课,下午上课;我了解到的知识点:1.软件需求;明日计划:1.上课;......
  • 270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡
    一、板卡概述       本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片,支持PCIeX8、两组 64bit DDR3容量8GByte,HPC的FMC连接器,板卡支持各种FMC子卡扩展。软件支持windows,Linux操作系统。   二、功能和技术指标: 板卡功能参数内容主处理器XC7V690T-2FFG17......
  • 力扣-2798-满足目标工作时长的员工数目
    公司里共有n名员工,按从0到n-1编号。每个员工i已经在公司工作了hours[i]小时。公司要求每位员工工作至少target小时。给你一个下标从0开始、长度为n的非负整数数组hours和一个非负整数target。请你用整数表示并返回工作至少target小时的员工数。 示......
  • 力扣-2769-找出最大的可达成数字
    给你两个整数num和t。如果整数x可以在执行下述操作不超过t次的情况下变为与num相等,则称其为可达成数字:每次操作将x的值增加或减少1,同时可以选择将num的值增加或减少1。返回所有可达成数字中的最大值。可以证明至少存在一个可达成数字。 示例1:输入:num=......
  • 2023-09-27-周三
    1),没早8,8:30左右起来得吧,,然后去实验室了....学了一会儿..去上10:20的课课上,,继续完事之前代码没完成的bug,,好像那2堂课一直在完成没完成的bug2),中午回寝室,,斗了几把地主,然后吃饭woc,!我想我在之前的日记中提到一个一食堂的饕餮炒饭,,说他做了改革说他改了之后,,......
  • Go每日一库之27:govaluate
    简介今天我们介绍一个比较好玩的库govaluate。govaluate与JavaScript中的eval功能类似,用于计算任意表达式的值。此类功能函数在JavaScript/Python等动态语言中比较常见。govaluate让Go这个编译型语言也有了这个能力!快速使用先安装:$gogetgithub.com/Knetic/govaluate......
  • SequoiaDB分布式数据库2023.9月刊
    本月看点速览行业领先!巨杉数据库再度入选Gartner报告再获认可!巨杉数据库蝉联2023「Cloud100China」榜单成果斐然,巨杉数据库获评广东省信息技术应用创新优秀产品和解决方案创新发展,巨杉数据库入选2023信创企业排行榜行业领先!巨杉数据库再度入选Gartner报告  ......