【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)
题目来源:洛谷P3952
思路
纯模拟没啥可说的了
果然好复杂
参考了你谷一个40行代码
代码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int T,tot,num,Max,stand,now,k,n,cnt;
int member[],what[];
bool vis[];
//tot是有几个句子,stand是题目给的复杂度是多少
//now是当前在几重循环,vis[]是判断变量是否使用过
//member[]是存下每个循环的变量,tot是当前复杂度是多少(与now不同)
//k是判断下面程序是否进行,what[]是存下哪几个循环加了复杂度
//m是当前最大复杂度,n是存下k=1时的循环数
//T是数据组数
string a,b;//循环使用
int main()
{
cin>>T;
while(T--)
{
Max=stand=tot=num=now=k=n=cnt=;
memset(vis,,sizeof(vis));
memset(what,,sizeof(what));
do
{
a=b;//记录一共有几行
cin>>b;
}
while(b[]!='O');//当读入到O时停止一次
for(int i=;i<a.length();i++) cnt=cnt*+a[i]-'';//计算有几行
for(int i=;i<b.length()-;i++) stand=stand*+b[i]-'';//计算是n的几次方 如果是O(1)不影响 存成0
while(cnt--)
{
cin>>a;//输入第一个字符
if(a[]=='F')
{
now++;//循环次数增加
cin>>a;//输入变量
if(vis[a[]-]) now=-;//如果此变量已经用过 说明语法错误
else
{
vis[a[]-]=;
member[now]=a[]-;//记录在此次循环用了这个变量
}
cin>>a>>b;//输入变量后面的两个数
if((a[]!='n')&&(b[]=='n')&&(!k))//如果前面是数字后面是n 且可以运行的话
{
tot++;//可行循环+1
what[now]=;//此循环有计算
}
else if(((a.length()==b.length()&&a>b)||(a.length()>b.length())||(a[]=='n'&&b[]!='n'))&&(!k))
{
//如果a>b(n 4,45 12,24 9) 而且可以运行 那么标记下面的都不能运行 记下当前循环
//像5 8,76 78, n n 之类的不影响,不需要处理
k=;
n=now;
}
}
else//跳出循环
{
Max=max(Max,tot);//计算最大的循环次数
vis[member[now]]=;//此变量被删去
if(what[now]==)//如果此循环内增加了复杂度
{
what[now]=;//清空标记
tot--;//当前复杂度还原
}
now--;//总循环还原
if(n>&&now<n)//如果此时跳出了被n标记的循环 即不进行的循环 就把标记清楚 接下来的循环可以进行
{
k=;
n=;
}
}
if(now==-)//如果e<0(变量用过或者E过多),那么输出ERR,跳出循环
{
cout<<"ERR"<<endl;
break;
}
}
if(now>) cout<<"ERR"<<endl;//如果e>0(F过量),那么输出ERR,跳出循环
if(now==&&stand==Max) cout<<"Yes"<<endl;//如果F,E相同而且最大复杂度等于题目给的复杂度,输出Yes
if(now==&&stand!=Max) cout<<"No"<<endl;//如果F,E相同而且最大复杂度不等于题目给的复杂度,输出No
}
}
【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)的更多相关文章
- 【题解】洛谷P3953 [NOIP2017TG] 逛公园(记忆化搜索+SPFA)
题目来源:洛谷P3953 思路 先用SPFA求一遍最短路 在求最短路的同时可以把所有点到终点的最短路求出来 dis数组 注意要反向SPFA 因为从起点开始可能会走到一些奇怪的路上导致时间负责度增加 ...
- 【题解】洛谷P3959 [NOIP2017TG] 宝藏(状压DP+DFS)
洛谷P3959:https://www.luogu.org/problemnew/show/P3959 前言 NOIP2017时还很弱(现在也很弱 看出来是DP 但是并不会状压DP 现在看来思路并不复 ...
- 题解 洛谷 P3396 【哈希冲突】(根号分治)
根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...
- 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)
题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...
- 题解-洛谷P4229 某位歌姬的故事
题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...
- 题解-洛谷P4724 【模板】三维凸包
洛谷P4724 [模板]三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积. 数据范围:\(1\le n\le 2000\). 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积 ...
- 题解-洛谷P4859 已经没有什么好害怕的了
洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...
- 题解 洛谷 P2010 【回文日期】
By:Soroak 洛谷博客 知识点:模拟+暴力枚举 思路:题目中有提到闰年然后很多人就认为,闰年是需要判断的其实,含有2月29号的回文串,前四位是一个闰年那么我们就可以直接进行暴力枚举 一些小细节: ...
- 题解 洛谷P5018【对称二叉树】(noip2018T4)
\(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...
随机推荐
- Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控
目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 ...
- 多个tomcat配置
在centos7.3下搭建jenkins自动部署环境,需要一个tomcat来启动jenkins,另一个用来自动部署的位置,因此需要两个tomcat同时运行,并且在自动构建后能够启动项目,又不会关闭je ...
- jasperreports+iReport+jatoolsPrinter制作报表笔记
此文章是基于 EasyUI+Knockout实现经典表单的查看.编辑 一. 准备工作 1. 点击此下载相关的文件,并把 ims 文件夹放到 ims 工程对应的路劲下 2. 参考网址:杰创打印控件 二. ...
- JS加法相关
1:首先JS是一种弱语言,但是同类型可以自己相加减 例如“a”+”b” 可以自动组成ab : 1+ 2 自动变成3 var data = 2; var currentPage = data; //2 ...
- [WC2016]挑战NPC
Sol 这做法我是想不到\(TAT\) 每个筐子拆成三个相互连边 球向三个筐子连边 然后跑一般图最大匹配 这三个筐子间最多有一个匹配 那么显然每个球一定会放在一个筐子里,一定有一个匹配 如果筐子间有匹 ...
- asp.net core 错误定位 & vs2017 远程调试部署在centos上的asp.net core程序
前言 程序运行中会出现各种BUG. 排除BUG有三种方式. 一.访问页面直接报错误信息 出于安全,服务器是关闭这个功能的.在centos上可以用 命令设置环境变量来解决: export A ...
- C语言归并排序
这篇文章是学习了小甲鱼-数据结构与算法结合自考教材编写出的代码,希望自己逐渐在算法造诣上能更上一层楼. 归并排序(递归实现) “归并”一词在中文含义中就是合并的意思,而在数据结构中的定义是将两个或者两 ...
- Caffe&Torch&Theano&TensorFlow
https://www.youtube.com/watch?v=Qynt-TxAPOs&index=12&list=PL16j5WbGpaM0_Tj8CRmurZ8Kk1gEBc7fg ...
- maven升级遇到的疑惑
今天在解决一个问题的时候,由于需要修改maven的client包,按照之前的办法,修改完之后,没有修改版本号,而是直接修改client的代码,之后直接 mvn deploy -e 打包上去了,然后奇怪 ...
- Skip List & Bloom Filter
Skip List | Set 1 (Introduction) Can we search in a sorted linked list in better than O(n) time?Th ...