POJ-1068题】的更多相关文章

题目地址:http://poj.org/problem?id=1068 /* 题意:给出每个右括号前的左括号总数(P序列),输出每对括号里的(包括自身)右括号总数(W序列) 模拟题:无算法,s数组把左括号记为-1,右括号记为1,然后对于每个右括号,numl记录之前的左括号 numr记录之前的右括号,sum累加s[i]的值,当sum == 0,并且s[i]是左括号(一对括号)结束,记录b[]记录numl的值即为答案 我当时题目没读懂,浪费很长时间.另外,可以用vector存储括号,还原字符串本来的…
题目链接 大概题意就是告诉你有个n个小括号,每一个")"左边有多少个"("都告诉你了,然后让你求出每一对括号之间有多少对括号(包含自己本身). 思路: 我先计算每个")"左边有多少个"("要匹配,然后每遇到一个")",然后向前寻找第一个可以匹配的"(",找到后将其数量减一,这样的话在寻找的过程中经过了几个")"就表示这对括号里面有多少括号. //poj 1068 //…
Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn where pi is the number of left parentheses before the ith right parenthesis in S (P-sequence). q B…
Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23545   Accepted: 13802 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn…
http://poj.org/problem?id=1068 这道题是一道模拟的题目 题目大意呢,p代表前面的'('的个数,而w代表这个括号所包括的括号的个数: 给你p,要你求w: 解题思路: 首先,你肯定要把p所对应的那一个括号序列还原出来,当然,你也没必要说用字符把()表示出来,完全就可以用0和1分别代替左括号与右括号 其次,你就应该找出哪两个括号是相匹配的.比如说(((()()()))),p为456666,第一个)所匹配的为第4个左括号,第二个所匹配的为第5个左括号,第三个所匹配的为第6个…
http://poj.org/problem?id=1068 #include<cstdio> #include <cstring> using namespace std; int ind[45]; bool used[45]; int r[21]; int l[21]; int len,n,llen; int w[21]; int main(){ int t; scanf("%d",&t); while(t--){ memset(used,0,siz…
POJ 3176 Cow Bowling 链接: http://poj.org/problem?id=3176 这道题可以算是dp入门吧.可以用一个二维数组从下向上来搜索从而得到最大值. 优化之后可以直接用一维数组来存.(PS 用一维的时候要好好想想具体应该怎么存,还是有技巧的) #include<iostream> #include<cstring> #include<cmath> #include<cstdio> using namespace std;…
题目链接:http://poj.org/problem?id=1068 思路分析:对栈的模拟,将栈中元素视为广义表,如 (((()()()))),可以看做 LS =< a1, a2..., a12 >,对于可以配对的序列,如 <a4, a5>看做一个元素,其 W 值为1: 同理,<a6, a7>为一个元素,其W值为1,< a3, a4, a5, a6, a7, a8, a9, a10 >看做一个元素, 其W值为 <a4, a5> 与 <a6…
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意"和"解题思路"外, 新增"Source修正",因为原Source较模糊,这是为了帮助某些狂WA的同学找到测试数据库,但是我不希望大家利用测试数据打表刷题 ­­ ­ 推荐文:1.一位ACMer过来人的心得 2. POJ测试数据合集 OJ上的一些水题(可用来练手和增…
链接: http://poj.org/problem?id=1068 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27454#problem/B Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17044   Accepted: 10199 Description Let S = s1 s2...s2n be a well-forme…
                                                                                                Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19550   Accepted: 11804 Description Let S = s1 s2...s2n be a well-formed string…
Online Judge系统      Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交给定问题的多种程序(如C.C++.Pascal.Java)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性. 一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制.内存使用限制和安全限制等.用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序.该裁判程序或者比较用户程序…
转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem? id=1068 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:  q By an integer sequ…
POJ的题目都是英文的,所以,,,还是直接贴代码吧 #include<stdio.h> int main(){ int x,y,z; int n,nm,max; scanf("%d",&n); while(n--){ int num[60]={0}; scanf("%d",&nm); for(x = 0;x < nm; x++){ scanf( "%d",&y); num[ y+x+1 ]=1; } fo…
poj1000,poj1003,poj1004,poj1064,poj1218 水题 poj1012:0<k<14——漂亮的打表 poj1651:与能量项链很像的dp poj1159:回文词,正反序求LCS,然后再用原长减一下即可 poj3264:一看就知道的RMQ,ST,线段树均可 poj1092:拓扑排序 poj2299:最少相邻交换次数——其实是逆序对的个数,mergersort即可 poj1002:快排,注意细节即可(补0) poj2377:最大生成树,克鲁斯卡尔+并查集即可 poj1…
题目:http://poj.org/problem?id=3006 筛选法求素数 #include <iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<stack> #include<queue> #include<cmath> #include<algorithm> using namespace std; ];//…
poj3170 1,4两遍bfs: poj3171 改一改poj2376即可 poj3172 dfs+剪枝 其实增长速度很快,n<=40,题目吓你的: poj3661 比较经典的dp:设f[i,j]为到第i分钟,耗了j精力最长能跑多远: f[i,j]=f[i-1,j-1]+d[i] (j>0); f[i,0]=max{f[i-k][k],f[i-1,0]} (1<=k<=i-k) 注意最后输出的是f[n,0]; poj3660 果然自己还是太弱,水题想了好久:用floyd的传递性判…
1743:前后作差可以转化成不可重叠最长公共字串问题,运用后缀数组解决(参考罗穗骞神犇的论文) #include <cstdio> #include <cstring> #include <algorithm> ; ; int code[maxL]; int len; int sa[maxL]; int sr[maxL]; int ht[maxL]; int stp[maxL]; int rdx[maxL]; bool input() { scanf("%d&…
搜索 hdu1067 哈希 hdu1401 双向搜索 hdu1430 哈希 hdu1667 跌搜+启发式函数 hdu1685 启发式搜索 hdu1813 启发式搜索 hdu1885 状态压缩搜索 hdu2918 哈希 hdu2931 dfs+dfs hdu2977 bfs+dfs hdu3004 车马炮 hdu3085 双向bfs hdu3900 哈希 hdu4012 状态压缩搜索 hdu4634 状态压缩搜索 poj1324 状态压缩 poj2044 状态压缩 poj3131 双向搜索 poj…
http://www.cppblog.com/Uriel/articles/101592.html 感觉这个暑假没有去年有激情啊,,,还没到状态就已经块上学了,,, 真是弱暴了,,,找几道模拟题刷刷... 标加号表示已AC... + 1008   历法,不难 + 1102   不难. + 1028   纯模拟.被题目坑了一下.. 1023   貌似搞了一会儿.. 1051   算是模拟,写得比较麻烦,要细心 1099   跟化学式有关的模拟,有意思,高兴的是这题完全是自己想的AC的.. 1107…
这次的题目是著名的模拟(水逼)专题 题目难度都不大,思维也不深,就是一个字——烦 同时很多题目都有很多坑点 1608 题意是告诉你一个只有()的字符串(且匹配正确),每个)的左边有几个(,让你求每一对括号中包含了几对括号. 思路很水,模拟出原字符串再开个栈做一次就行了. CODE #include<cstdio> using namespace std; ; int t,n,s[N],stack[N],i,j,x,last,del,top; inline void read(int &…
1000 A+B Problem 题目大意:输入两个数a和b,输出他们的和. 代码: #include <stdio.h> int main() { int a, b; while (scanf("%d%d" , &a, &b) != EOF) { printf("%d\n", a + b); } return 0; } 1004 Financial Management 题目大意:告诉你Larry的12个月的工资,求这12个月的工资的平…
题目 完成情况 poj1000:A+B problem 完成 poj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类 完成 poj1003:求最小的n让1+1/2+1/3+...+1/n大于给的一个实数 完成 poj1004:求一堆实数的平均数 完成 poj1005:由坐标 (0,0) 开始,以半圆为形状每年侵蚀50m^2,问(0,0)开始到(x,y)结束需要多长时间 完成 poj1006:三个周期是常数.现在给三个周期出现高峰的时候,问下一次出现高峰是什么时候 中国剩余定理…
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() { string tol,result; while(getline(cin,tol)) { unsigned i=; if(tol=="START") continue; else if(tol=="END") cout<<resu…
Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24932   Accepted: 14695 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn…
进入每个' )  '多少前' (  ', 我们力求在每' ) '多少前' )  ', 我的方法是最原始的图还原出来,去寻找')'. 用. . #include<stdio.h> #include<string.h> int y[505],t[505]; char s[505]; int main() { int a,b,i,j,u; scanf("%d",&a); while(a--) { memset(y,0,sizeof(y)); memset(t,…
  Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22764   Accepted: 13344 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn where pi is…
Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19352   Accepted: 11675 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:  q By an integer sequence P = p1 p2...pn…
Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22849   Accepted: 13394 Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:  q By an integer sequence P = p1 p2...pn…
下面的代码是北京大学Online Judge网站上1068题(网址:http://poj.org/problem?id=1068)的所写的代码. 该题的难点在于实现括号匹配,我在代码中采取用-1和1分别代表左右括号,使得括号匹配时各位数相加为0,不匹配时则不为0的方法来判断是否完成括号匹配,代码列表如下: 性能:Memory:704K,Time:0MS #include "iostream" using namespace std; int main() { const int LEF…