LS 24 Bracket sequence(DP)

Bracket sequence

Given string s made up with ()?, count the way to substitude ? with ( or ) to form regular bracket sequence.

Input

A string s.

(1|s|1000)

Ouptut

An integer denotes the number of ways modulo (109+7).

Sample input

????

Sample output

2

思路:dp[x][y]字符串长为x时,左括号还有y个未匹配。


#include<iostream>
#include<cstring>
using namespace std;
const int mm=1009;
const int mod=1e9+7;
char s[mm];
int dp[2][mm];
int main()
{while(cin>>s){int len=strlen(s);memset(dp,0,sizeof(dp));dp[0][0]=1;int z=0;for(int i=1;i<=len;i++){if(s[i-1]=='('){for(int j=1;j<=i;j++)dp[z^1][j]=dp[z][j-1];dp[z^1][0]=0;}else if(s[i-1]==')'){for(int j=0;j<i;j++)dp[z^1][j]=dp[z][j+1];}else{for(int j=1;j<=i;j++)dp[z^1][j]=dp[z][j-1];dp[z^1][0]=0;for(int j=0;j<i;j++)dp[z^1][j]=(dp[z][j+1]+dp[z^1][j])%mod;}z^=1;}cout<<dp[z][0]<<"\n";}
}



转载于:https://www.cnblogs.com/nealgavin/archive/2013/03/13/3206130.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解

Java 注解(Annotation)又称 Java 标注&#xff0c;是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。注解可以看作是一种特殊的标记&#xff0c;在程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。本文对 Annotation 进行了…

[机器学习笔记]Note10--支持向量机(SVM)

继续是机器学习课程的笔记&#xff0c;这节课的内容是介绍支持向量机&#xff08;SVM&#xff09;的内容。SVM是一个非常强大且流行的算法&#xff0c;在一些情况下&#xff0c;面对一些复杂的非线性问题可以提供比逻辑回归或神经网络更加简洁更加有效的结果。 优化目标 首先…

[机器学习笔记]Note11--聚类

继续是机器学习课程的笔记&#xff0c;本节介绍的是聚类方法&#xff0c;主要是K-means算法。 非监督学习 首先介绍监督学习和非监督学习的区别。一个监督学习的例子如下图&#xff0c;给定训练集如:{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))},每个训练实例都有对应的标签。 …

LLVM每日谈之十二 LLVM的源码分析之Pass相关

作者&#xff1a;snsn1984题记&#xff1a;在学习LLVM的过程中&#xff0c;要想学的更加深入&#xff0c;掌握更多的技能&#xff0c;LLVM的源码是必须要读的&#xff0c;但是在这么多的源码中&#xff0c;从哪里下手&#xff1f;很容易让人找不到头脑&#xff0c;本文这里就先…

[机器学习笔记]Note12--降维

继续是机器学习课程的笔记&#xff0c;本节介绍的是降维方法&#xff0c;这也是非监督学习中的一个问题&#xff0c;主要介绍主要成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;算法。 降维 动机一&#xff1a;数据压缩 使用降维的一个原因是…

jetty java 实例_Maven+Jetty+Servlet 简单示例

一个朋友让我帮他写一个基于 Servlet JettyDerby 实现的项目。本文先介绍 MavenJettyServlet 的整合例子。1、添加依赖pom.xml 里添加依赖javax.servletjavax.servlet-api3.1.0org.eclipse.jetty9.4.14.v20181114jetty-webapp2、准备两个 Servlet 例子HelloServletpackage com.…

节后的人才市场开始活跃了?

今天居然接到一个印度打来的电话&#xff0c;一印度MM操着纯正的印度英语居然说是从Linkedin上找到我的&#xff0c;希望我能参加他们杭州公司的面试&#xff0c;费了很大的劲也没让她弄明白我不愿意relocate。 只能说节后的人才市场就像快烧开的水&#xff0c;分子们开始活跃了…

mysql 静态表 是不是 myisam_mysql的静态表和动态表的区别,MyISAM和InnoDB的区别

静态表字段长度固定&#xff0c;自动填充&#xff0c;读写速度很快&#xff0c;便于缓存和修复&#xff0c;但比较占硬盘&#xff0c;动态表是字段长度不固定&#xff0c;节省硬盘&#xff0c;但更复杂&#xff0c;容易产生碎片&#xff0c;速度慢&#xff0c;出问题后不容易重…

[机器学习笔记]Note13--异常检测

继续是机器学习课程的笔记&#xff0c;本节课内容是异常检测&#xff0c;它是一个非监督学习算法&#xff0c;用于发现可能不应该属于一个已定义的组中的数据。 密度估计 首先是给出一个例子&#xff0c;如下图所示&#xff0c;是一个测试飞机引擎的例子&#xff0c;给定数据…

html5新增元素

一、HTML5新增结构元素 之前&#xff0c;我们只能用万能的div标签&#xff0c;并为其设置不同的id如header, footer, sidebar等来分别表达头部&#xff0c;底部或者侧栏等。而现在代码编写者不再需要为id的命名费尽心思&#xff0c;对于手机、阅读器等设备更有语义的好处。 HTM…

python 代码转程序_精悍的Python代码段-转

1 文件处理readlines() 和 writelines()方法可以讲列表元素依次写到文件中&#xff1b;file类本身没有提供复制方法&#xff0c;可以使用read()和write()方法模拟实现文件的拷贝&#xff0c;也可以使用shutil模块&#xff1a;shutil.copyfile(hello.txt,hello2.txt)shutil.move…

[机器学习笔记]Note14--推荐系统

继续是机器学习课程的笔记&#xff0c;本节课将介绍推荐系统的内容。 问题形式化 推荐系统是机器学习的一个非常重要的应用&#xff0c;在很多音乐、购物等网站都有推荐系统&#xff0c;如豆瓣&#xff0c;淘宝&#xff0c;网易云音乐等都是有使用到推荐系统的&#xff0c;因…

手机应用开发的方式不能完全套用到iPad上

对于一些复杂的游戏&#xff0c;许多人已经不能满足于手机小巧的屏幕&#xff0c;大屏的画面感就成为许多人选择平板电脑的重要因素。当越来越多的80后开始为人父母&#xff0c;孩子们从大人手中得到的礼物&#xff0c;也不再局限于零食、玩具和游乐场入场券。随着智能手机的普…