首页 > 其他分享 >动态规划详解

动态规划详解

时间:2022-12-05 22:57:26浏览次数:40  
标签:可行 string int ll len1 详解 动态 规划 id

P1470 [USACO2.3]最长前缀 Longest Prefix

这道题目感觉和  P1832 A+B Problem(再升级)有点类似。

将一个合法答案再加上另外一个合法答案组成新的组合,而这个组合一定合法。

因此我们枚举每一个可行解,将字符串 S 的一部分减去一个可行解,如果剩下部分也是可行解,则该部分可行。

所以我们定义 dp[i] 数组是以 i 结尾的 S 的一部分,标记该区域是否可行。

其中要注意:S 的一部分的长度一定大于等于一个可行解的长度,否则会有负数下标越界。

 

 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 using namespace std;
 4 const int N=1e4+10,NN=1e4+10;
 5 ll n=0,m,k,x,y,u,v,w,cnt=0,ans=0,t=0,l,r,len,T;
 6 ll mini=INT_MAX,maxi=0;
 7 string s,s1[N],s2,S=" ";
 8 ll dp[N]={1},a[N];
 9 ll f(int id){
10     for(int i=0;i<n;i++){
11         ll len1=s1[i].size();
12         if(id>=len1&&dp[id-len1]&&s1[i]==S.substr(id-len1+1,len1)){
13             ans=id;
14             return 1;
15         }
16     }
17     return 0;
18 }
19 int main(){
20       for(string s;cin>>s,s!=".";s1[n++]=s);
21       for(string s;cin>>s;S+=s);
22     for(int i=1;i<=S.size();i++){
23         dp[i]=f(i);
24     }
25     cout<<ans;
26     return 0;
27 }

 

 

 

标签:可行,string,int,ll,len1,详解,动态,规划,id
From: https://www.cnblogs.com/Li-An-Zhuo/p/16953807.html

相关文章

  • C# 实现reportview的操作,详解。
    https://blog.csdn.net/xufengab/article/details/123416231一、vs2015中没有reportview组件,需要安装。在VS中选择工具——Nuget包管理器——程序包管理器控制台执行命......
  • 3M EDI 850 采购订单报文详解
    3M公司素以勇于创新、产品繁多著称于世,在其百多年历史中开发了6万多种高品质产品。百年来,3M的产品已深入人们的生活,从家庭用品到医疗用品,从运输、建筑到商业、教育和电子、......
  • 【转载】详解mysql插入数据后返回自增ID的七种方法_java
    引言mysql和oracle插入的时候有一个很大的区别是:oracle支持序列做id;mysql本身有一个列可以做自增长字段。mysql在插入一条数据后,如何能获得到这个自增id的......
  • js apply()用法详解
              参考:https://blog.csdn.net/weixin_43877799/article/details/120282509......
  • 搭建CTF动态靶场
    前言本文借鉴文章:https://www.yuque.com/dengfenglai-esbap/kb/mc4k41?#xOxNG在此基础上修改了一点(照着原来的做没成功),感谢这位师傅给的资源。1、环境准备1、主机:服务......
  • 全志V853平台Camera模块开发框架详解
    Camera本章节介绍V853平台Camera模块的开发。V853支持并口CSI、MIPI,使用VINcamera驱动框架。Camera通路框架VIN支持灵活配置单/双路输入双ISP多通路输出的规格......
  • linux下动态链接库(.so)的显式调用和隐式调用
    linux下动态链接库(.so)的显式调用和隐式调用2021-12-21进入主题前,先看看两点预备知识。一、显式调用和隐式调用的区别      我们知道,动态库相比静态库的区......
  • SAP ABAP Function Module 的动态调用方式使用方式介绍试读版
    在本教程前面的步骤7,我们介绍了ABAPFunctionModule的基本使用方法:​​7.ABAPfunctionmodule的使用​​最近我的知识星球有朋友提问:大佬,我想问一下动态获取到物料主......
  • Linux操作系统之tcpdump抓包工具详解
    前言①tcpdump工具简介:tcpdump是Linux操作系统中的字符界面的数据抓包分析软件。tcpdump可以将网络中传送的数据包完全截获下来提供分析②tcpdump是一个用于截取网络分组,并......
  • prometheus-主配置文件详解
    1.prometheus-主配置文件详解主机配置文件详解[root@iZj6cbgktk3zjpge312vq2Zprometheus]#catprometheus.yml#myglobalconfig#全局配置global:scrape_in......