LOJ P3952 时间复杂度 noip 暴力 模拟
https://www.luogu.org/problemnew/show/P3952
模拟,日常认识到自己zz。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
using namespace std;
const int maxn=;
char ch[];
int n,ans,ke;
int f[maxn]={},x[maxn]={},l[maxn]={},r[maxn]={};
int vis[maxn][]={},fa[maxn]={},dep[maxn]={};
void dfs(int num,int dui){
if(num>n){if(dui)ke=;return;}
if(f[num]==){
if(dui==){ke=;return;}
dfs(num+,fa[dui]);
return;
}
if(vis[dui][x[num]]){ke=;return;}
for(int i=;i<=;i++)
vis[num][i]=vis[dui][i];
fa[num]=dui;vis[num][x[num]]=;
if(l[num]<=r[num]&&!((l[num]==)^(r[num]==))){
dep[num]=dep[dui];
ans=max(ans,dep[num]);
dfs(num+,num);
}
else if(r[num]==){
dep[num]=dep[dui]+;
ans=max(ans,dep[num]);
dfs(num+,num);
}
else{
int k=num+,z=,du=num;
while(z){
if(!f[k]){
--z;du=fa[du];
}
else{
if(vis[du][x[k]])ke=;
for(int i=;i<=;i++)
vis[k][i]=vis[du][i];
fa[k]=du;vis[k][x[k]]=;du=k;
++z;
}
++k;
}k--;
if(k<n+){
dfs(k+,dui);
}
else{
ke=;return;
}
}
}
int main(){
int T;scanf("%d",&T);
while(T-->){
memset(f,,sizeof(f));
memset(fa,,sizeof(fa));
memset(vis,,sizeof(vis));
memset(dep,,sizeof(dep));
scanf("%d",&n); scanf("%s",ch); int k=;
if(ch[]!='') for(int i=;ch[i]!=')';i++) k=k*+ch[i]-'';
for(int i=;i<=n;i++){
scanf("%s",ch);
if(ch[]=='F'){
f[i]=;
scanf("%s",ch);
x[i]=ch[]-'a'+;
scanf("%s",ch); l[i]=;
if(ch[]!='n'){
for(int j=;ch[j]>=''&&ch[j]<='';j++)l[i]=l[i]*+ch[j]-'';
}
scanf("%s",ch); r[i]=;
if(ch[]!='n'){
for(int j=;ch[j]>=''&&ch[j]<='';j++)r[i]=r[i]*+ch[j]-'';
}
}else f[i]=;
}
ans=;ke=;dfs(,);
if(ke)printf("ERR\n");
else if(ans==k)printf("Yes\n");
else printf("No\n");
}
return ;
}
LOJ P3952 时间复杂度 noip 暴力 模拟的更多相关文章
- luogu P3952 时间复杂度 模拟
题目链接 luogu P3952 时间复杂度 题解 直接模拟即可 注意不要直接return 我真是naive ...... 代码 #include<map> #include<sta ...
- P3952 时间复杂度
P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机 ...
- 洛谷 P3952 时间复杂度 解题报告
P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会 ...
- NOIP前模拟赛总结
NOIP前模拟赛总结 from 2018.10.7 to ??? Date Name Score(Rank) Problems 2018.10.7 McfXH AK Contest 42(?) 期望得 ...
- bnuoj 20832 Calculating Yuan Fen(暴力模拟)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...
- POJ 1013 小水题 暴力模拟
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 35774 Accepted: 11 ...
- hdu_1006 Tick and Tick(暴力模拟)
hdu1006 标签(空格分隔): 暴力枚举 好久没有打题了,退队了有好几个月了,从心底不依赖那个人了,原来以为的爱情戏原来都只是我的独角戏.之前的我有时候好希望有个人出现,告诉自己去哪里,做什么,哪 ...
- hihoCoder #1871 : Heshen's Account Book-字符串暴力模拟 自闭(getline()函数) (ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction B) 2018 ICPC 北京区域赛现场赛B
P2 : Heshen's Account Book Time Limit:1000ms Case Time Limit:1000ms Memory Limit:512MB Description H ...
- 美团2018年CodeM大赛-资格赛 分数 暴力模拟
链接:https://www.nowcoder.com/acm/contest/138/D来源:牛客网 小胖参加了人生中最重要的比赛——MedoC资格赛.MedoC的资格赛由m轮构成,使用常见的“加权 ...
随机推荐
- UNIX环境高级编程 第13章 守护进程
守护进程daemon是一种生存周期很长的进程.它们通常在系统引导时启动,在系统关闭时终止.守护进程是没有终端的,它们一直在后台运行. 守护进程的特征 在Linux系统中,可以通过命令 ps -efj ...
- 使用 script 命令记录用户操作行为
Script 命令可以帮助管理员记录用户的操作行为,包括用户查看文件中的哪些具体内容,写入了哪些文件,写了些什么都能看到,比较详细的记录了用户的操作行为. 本文对此进行简要说明. 1.添加日志记录 e ...
- 查看linux服务器内存信息
查看服务器内存信息 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size [root@localhost home]# dmideco ...
- APUE-文件和目录(八)文件时间
文件的时间 与文件相关的三个时间值: 访问时间:最后一次访问文件的时间.例如,cat命令会修改这个时间. 修改时间:文件内容最后一次被修改的时间. 状态更改时间:文件的i节点最后一次被修改的时间.例如 ...
- Django中HttpRequest和HttpResponse
请求和响应对象 Django中通过使用请求和响应对象来传递系统的状态. 当请求一个页面的时候,Django就创建一个HttpRequest对象,它包含了关于请求的元数据对象,然后Django加载适当的 ...
- No.6 selenium学习之路之下拉框Select
HTML中,标签显示为select,有option下拉属性的为Select弹框 1.Xpath定位 Xpath语法,顺序是从1开始,编程语言中是0开始
- matlab随笔(二)
circshift 两种形式 :第一种Y = circshift(A,K)就不用说了,将A中的元素向右移动K个位置. 需要注意的是第二种形式:Y = circshift(A,K,dim),这种形式不好 ...
- Merkle tree在区块链中的应用
上篇博文我们转载了一篇<Merkle Tree(默克尔树)算法解析>,那么大家是不是会有疑问,学习这个算法之后,我们改怎么去应用,区块链中又是如何应用的?今天这篇博客就以Merkle tr ...
- cross apply 和 outer apply
使用APPLY运算符可以实现查询操作的外部表表达式返回的每个调用表值函数.表值函数作为右输入,外部表表达式作为左输入. 通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出.A ...
- 20155309 2016-2017-2《Java程序设计》课程总结
预备作业1http://www.cnblogs.com/nhx19970709/p/6155580.html 第一次写博客,也是第一次用Markdown,具体流程都还不是很熟悉 预备作业2http:/ ...