题目链接:hdu 4964 Emmet
题目大意: 给定语句,按照语法翻译并输出。
解题思路:用递归模拟文法分析,主要注意几点:
括号并且的情况:(fuck)(you)括号嵌套的情况:((fuck.you))优先输出id,然后是class(题目中有说)乘法的部分:fuck*2>you*3 (每次执行fuck时,you的地方同样被执行了3次)
其他跑出样例基本没问题,具体看代...
分类:
其他好文 时间:
2014-08-20 00:03:45
阅读次数:
251
leetcode中和括号匹配相关的问题共有三个,分别是:
Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']',
determine if the input string is valid.
The brackets m...
分类:
其他好文 时间:
2014-08-18 20:35:52
阅读次数:
221
题目大意:
给出一组合法的括号。
括号要么不涂颜色,要么就涂上红色或者绿色。
匹配的括号只能有一个有颜色。
两个相邻的括号不能有相同的颜色。
思路分析:
因为是一个合法的括号序列。
所以每个括号与之匹配的位置是一定的。
那么就可以将这个序列分成两个区间。 (L - match[L] ) (match[L]+1, R)
用递归先处理小区间,再转移大区间。
...
分类:
其他好文 时间:
2014-08-17 17:04:42
阅读次数:
206
题目大意:
给出一种不合法的括号序列,要求构造出一种合法的序列,使得填充的括号最少。
思路分析:
如果只要求输出最少的匹配括号的数量,那么就是简单的区间dp
dp[i][j]表示 i - j 之间已经合法了最少添加的括号数。
转移 就是 dp[i] [j] = min (dp[i+1][j]+1 , dp[ i+ 1] [ k -1 ] + dp[k+1] [j] (i k 位...
分类:
其他好文 时间:
2014-08-17 15:38:22
阅读次数:
222
Let us define a regular brackets sequence in the following way:
1. Empty sequence is a regular sequence.
2. If S is a regular sequence, then (S) and [S] are both regular sequences.
3. If A an...
分类:
其他好文 时间:
2014-08-16 15:10:30
阅读次数:
262
Brackets SequenceTime Limit: 1000msMemory Limit: 65536KBThis problem will be judged onPKU. Original ID:114164-bit integer IO format:%lld Java class na...
分类:
其他好文 时间:
2014-08-15 22:25:49
阅读次数:
283
题目大意:
两种括号匹配,求最长的匹配长度。
思路分析:
状态方程:dp [i][j] 表示区间 i ~ j 之间最长的匹配长度。
转移方程:dp [i][j] = max (dp[i+1][j] , dp[i] [j-1 ] , dp[i+1][k-1] + dp[k+1][j] +2 (条件是i ,k 位置匹配))
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-15 18:01:59
阅读次数:
184
状态表示方法:d[ i ][ j ]表示的是一条序列的开始和结束;
状态定义:d[ i ][ j ]表示字串s[ i~j ] 需要添加的数量。
#include
#include
#include
using namespace std;
int n;
char s[105];
int d[105][105];
bool match(char ch1,char ch2)
{
if(...
分类:
其他好文 时间:
2014-08-14 16:46:58
阅读次数:
239
我只能说这道题和上一道动态规划的问题真的是太像了,连方法也一模一样
确实,计数也需要存状态,计数也是需要动规的。
此时d【i】【j】表示的状态是s【i~j】的序列中有多少 不规则 的括号。
#include
#include
#include
using namespace std;
int n;
char s[105];
int d[105][105];
bool ma...
分类:
其他好文 时间:
2014-08-14 16:46:08
阅读次数:
164
Emmet的前身是Zen coding,它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度。Emmet官网:http://www.emmet.io/上图为编码演示1.初始化HTML文档需要包含一些固定的标签,比如、、等,现在你只需要1秒钟就可以输入这些标签。比如输入“!”...
分类:
Web程序 时间:
2014-08-14 16:41:20
阅读次数:
272