BZOJ3297: [USACO2011 Open]forgot DP+字符串
Description
Input
Output
*第1行:密码
Sample Input
a??l?ban???????
apple
cow
farmer
banana
bananas
pies
Sample Output
Solution
一开始没啥想法就打了一个搜索,复杂度$O$(期望能过),结果T的很稳
想了想其他做法发现其实可以直接$dp$维护字典序最小
$string$都不会用了...QAQ
#include <bits/stdc++.h> using namespace std ; int L , n ;
char s[ ] , ans[ ] ;
string a[ ] ;
string f[ ] ;
int len[ ] ; bool check( int x , int t ) {
for( int i = ; i < len[ t ] ; i ++ ) {
if( a[ t ][ i ] != s[ x + i ] && s[ x + i ] != '?' ) return ;
}
return ;
} int main() {
scanf( "%d%d" , &L , &n ) ;
scanf( "%s" , s + ) ;
for( int i = ; i <= n ; i ++ ) {
cin >> a[ i ] ;
len[ i ] = a[ i ].length() ;
}
for( int i = ; i <= L ; i ++ ) {
for( int j = ; j <= n ; j ++ ) {
int t = i - len[ j ] ;
if( t < ) continue ;
if( t && f[ t ] == "" ) continue ;
if( check( t + , j ) ) {
if( f[ i ] == "" || f[ i ] > f[ t ] + a[ j ] )
f[ i ] = f[ t ] + a[ j ] ;
}
}
}
cout << f[ L ] << endl ;
return ;
}
BZOJ3297: [USACO2011 Open]forgot DP+字符串的更多相关文章
- bzoj3297[USACO2011 Open]forgot(dp + string)
3297: [USACO2011 Open]forgot Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 137 Solved: 94[Submit] ...
- BZOJ3297: [USACO2011 Open]forgot
3297: [USACO2011 Open]forgot Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 54 Solved: 38[Submit][ ...
- BZOJ3297: [USACO2011 Open]forgot(背包)
3297: [USACO2011 Open]forgot Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 189 Solved: 126[Submit ...
- 3297: [USACO2011 Open]forgot
3297: [USACO2011 Open]forgot Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 69 Solved: 51[Submit][ ...
- 【bzoj3297】[USACO2011 Open]forgot STL+dp
题目描述 发生了这么多,贝茜已经忘记了她cowtube密码.然而,她记得一些有用的信息. 首先,她记得她的密码(记为变量P)长度为L(1 <= L<=1,000)字符串,并可以被分成 一个 ...
- 【BZOJ】3297: [USACO2011 Open]forgot(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=3297 这题拖了很久呢... 很久以前写了个dfs,,但是tle了..... 然后一直想dp想不出来, ...
- Codeforces 176B (线性DP+字符串)
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28214 题目大意:源串有如下变形:每次将串切为两半,位置颠倒形成 ...
- Codeforces Round #367 (Div. 2) A B C 暴力 二分 dp(字符串的反转)
A. Beru-taxi time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- HDU 2089 数位dp/字符串处理 两种方法
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
随机推荐
- Android(三) 匹配屏幕密度
过去,程序员通常以像素为单位设计计算机用户界面.例如:图片大小为80×32像素.这样处理的问题在于,如果在一个dpi(每英寸点数) 高的显示器上运行该程序,则用户界面会显得很小.在有些情况下,用户界面 ...
- 十天精通CSS3(11)
Media Queries——媒体类型(一) 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视.台式电脑.笔记本电脑.平板电脑和智能手机来访问你的网站.尽管你无法保证一个 ...
- myeclipse连接并运行sql文件
1:在工程目录上右键>new >SQL File ,写入sql 2:在sql文件上面右键>execute sql files 3:选择数据库类型,并点击create创建一个连接: ...
- [py][mx]django分页第三方模块django-pure-pagination
前台的这些数据都是从后台取来的 分页模块django-pure-pagination - 一款基于django pagination封装的更好用的分页模块 https://github.com/jam ...
- 如何调用另一个python文件中的代码
模块的搜索路径 模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可.下面是sys.path在Wi ...
- Py之np.concatenate函数【转载】
转自:https://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html 1.nupmy.concatenate函数 ...
- [LeetCode] 257. Binary Tree Paths_ Easy tag: DFS
Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...
- vs2010用NuGet(程序包管理)安装EF失败之解决办法
今天用程序包管理控制台安装EF.报错.如下
- 线段树(I tree)
Codeforces Round #254 (Div. 2)E题这题说的是给了一个一段连续的区间每个区间有一种颜色然后一个彩笔从L画到R每个区间的颜色都发生了 改变然后 在L和R这部分区间里所用的颜色 ...
- 最近整理出了有关大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互等1.7G的学习资料,有视频教程,源码,课件,工具,面试题等等。这里将珍藏多年的资源免费分享给各位小伙伴们
大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互 领取方式在篇尾!!! 基础篇.互联网架构,高级程序员必备视频,Linux系统.JVM.大型分布式电商项目实战视频...... ...