Arthur and Brackets
n<605设计出n对夸号 给出n个条件每个条件为[l,r] 表示第i对夸号右夸号离左夸号的距离,然后夸号的右夸号出现的顺序必须按照给的顺序 出现, 那么如果存在就输出否则输出impossilbe , 我们知道如果一个夸号在 L位置,那么 另一个夸号就在 L+cnt 这个位置, 那么我们就可以知道在L=1 和L+cnt-1 这之间的夸号只要合法就可以了
#include <iostream>
#include <cstdio>
#include<algorithm>
#include <string.h>
using namespace std;
int dp[][],L[],R[];
int get[][];
int dfs(int l, int r){
if(dp[l][r]!=) return dp[l][r];
if(l==r) return dp[l][r]=;
for(int k=L[l]; k<=R[l]; k+=){
int left=k/;
if( left + l + > r ) break;
if(dfs(l+,l+left+)==&&dfs(l+left+,r)==){
get[l][r]=left;
return dp[l][r]=;
}
}
return dp[l][r]=;
}
void print(int l, int r){
if(l==r) return ;
printf("(");
print(l+,l+get[l][r]+);
printf(")");
print(l+get[l][r]+,r);
}
int main()
{
int n;
while(scanf("%d",&n)==){
memset(dp,,sizeof(dp));
for(int i=; i<n; ++i){
scanf("%d%d",&L[i],&R[i]);
if(L[i]%==) L[i]++;
}
if(dfs(,n)==){print(,n); printf("\n");}
else puts("IMPOSSIBLE"); }
return ;
}
#include <iostream>
#include <cstdio>
#include<algorithm>
#include <string.h>
using namespace std;
int dp[][],L[],R[];
int get[][];
int dfs(int l, int r){
if(dp[l][r]!=) return dp[l][r];
if(l==r) return dp[l][r]=;
for(int k=L[l]; k<=R[l]; k+=){
int left=k/;
if( left + l + > r ) break;
if(dfs(l+,l+left+)==&&dfs(l+left+,r)==){
get[l][r]=left;
return dp[l][r]=;
}
}
return dp[l][r]=;
}
void print(int l, int r){
if(l==r) return ;
printf("(");
print(l+,l+get[l][r]+);
printf(")");
print(l+get[l][r]+,r);
}
int main()
{
int n;
while(scanf("%d",&n)==){
memset(dp,,sizeof(dp));
for(int i=; i<n; ++i){
scanf("%d%d",&L[i],&R[i]);
if(L[i]%==) L[i]++;
}
if(dfs(,n)==){print(,n); printf("\n");}
else puts("IMPOSSIBLE"); }
return ;
}
Arthur and Brackets的更多相关文章
- Codeforces 508E Arthur and Brackets 区间dp
Arthur and Brackets 区间dp, dp[ i ][ j ]表示第 i 个括号到第 j 个括号之间的所有括号能不能形成一个合法方案. 然后dp就完事了. #include<bit ...
- Codeforces Round #288 (Div. 2) E. Arthur and Brackets 贪心
E. Arthur and Brackets time limit per test 2 seconds memory limit per test 128 megabytes input stand ...
- CodeForces 508E Arthur and Brackets 贪心
题目: E. Arthur and Brackets time limit per test 2 seconds memory limit per test 128 megabytes input s ...
- Codeforces Round #288 (Div. 2) E. Arthur and Brackets [dp 贪心]
E. Arthur and Brackets time limit per test 2 seconds memory limit per test 128 megabytes input stand ...
- Codeforces Round #288 (Div. 2) E. Arthur and Brackets
题目链接:http://codeforces.com/contest/508/problem/E 输入一个n,表示有这么多对括号,然后有n行,每行输入一个区间,第i行的区间表示从前往后第i对括号的左括 ...
- Arthur and Brackets CodeForces - 508E (贪心,括号匹配)
大意: n个括号, 位置未知, 给出每对括号左右间距, 求输出一个合法括号序列. 最后一个括号间距一定为1, 从右往左遍历, 每次括号划分越小越好. #include <iostream> ...
- CF508E Arthur and Brackets
题目大意:给出n对括号,并给出每对括号距离的范围.问能否找到这样一个序列. 题解:好多人都用贪心.这么好的题为什么不搜一发呢? 注意:千万不要在dfs里面更新答案. 代码: #include<c ...
- 【Henu ACM Round#20 F】 Arthur and Brackets
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 所给的li,ri是左括号从左到右的顺序给的. (且注意长度是2*n 现在我们先把第一个左括号放在第1个位置. 然后考虑第二个位置. ...
- Codeforces Round #288 (Div. 2)
A. Pasha and Pixels 题意就是给一个n*m的矩阵,k次操作,一开始矩阵全白,一次操作可以染黑一个格子,问第几次操作可以使得矩阵中存在一个2*2的黑色矩阵.直接模拟即可 代码: ...
随机推荐
- Error: could not find java.dll如何解决
安装配置Java环境变量,在命令行中运行java -version进行测试时却出现下面的问题: Error: opening registry key 'Software\JavaSoft\Java ...
- docker学习-docker解决了什么问题
docker标准化让快速扩张.弹性伸缩变得简答.
- leetcode -- permutation 总结
leetcode上关于permutation有如下几题 Permutation Sequence Next Permutation Permutations Permutations II
- 查看系统资源使用情况:vmstat
vmstat命令可以动态地查看系统资源的使用情况,如内存/交换分区/CPU的使用情况,通过使用该命令可以判断系统的瓶颈在哪里: [root@localhost ~]$ vmstat 1 5 # 表示每 ...
- php检测文件只读、可写、可执行权限
例子:检测文件是否可读.可写.可执行. 复制代码代码示例: <?php $myfile = "./test.txt"; if (is_readable ($myfile)) ...
- Sql中将字符串按分割符拆分
创建函数 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[F_Split] ( @SplitString ...
- c++ 利用new动态的定义二维数组
#include <iostream> using namespace std; int main() { , col = ; // key code: 申请空间 int **edge = ...
- CHMOD命令怎么用?
文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...
- python之xlwt模块列宽width、行高Heights详解
今天用python操作excel时,发现xlwt的API中没有对width.height有更多介绍,且使用时也不知道width取多少合适.现在这做个详细介绍 使用版本: python:2.7.5 xl ...
- mysql5.6主从
1.环境 操作系统:centos6.5(主服务器IP:192.168.100.170,从服务器IP:192.168.100.171)软件版本:mysql5.6.24 2.开始安装: a.主库上设置从库 ...