P3952 时间复杂度

#语法错误判断
F 与 E之间只需要加一个变量看一看是不是最终等于0即可,F ++ E –,然后就是判断变量是否被重复使用.在传统的NOIP2017的数据中没有这样的

1
2
3
4
5
F i 1 n  
F j 1 n
E
F j 1 n
E

如果判断不当那么这里会输出ERR的,所以我的做法是开一个栈记录一下进去的字母,然后遇到E弹出抹去标记

#复杂度计算
模拟判断变量后面第一个数是不是数字如果是分两步走
一:如果是数字那么判断一下第二个是不是变量如果是cs++否则判断两个数大小,如果颠倒那么下面的F不记录次数
二:如果是变量直接后面不记录次数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
string a[1005];
int bk[1005],p[1005],q,st[1005];
int main()
{
ll t;
cin>>t;
while(t--)
{
ll n,f=0,er=0,cs=0,mf=0,ff=0,css=0,jkk=0;
string x;
cin>>n>>x;
cin.get();
memset(bk,0,sizeof(bk));
for(int i=1;i<=n;i++)
getline(cin,a[i]);
for(int i=1;i<=n;i++)
{
q=0;
for(int j=0;j<a[i].size();j++)
if(a[i][j]==' ')
p[++q]=j;
if(a[i][0]=='F')
{
f++;
bk[a[i][2]]++;
st[++jkk]=a[i][2];
if(bk[a[i][2]]>1)
{
er=1;
break;
}
if(isdigit(a[i][4]))
{
if(isdigit(a[i][p[3]+1]))
{
string x1="",x2="";
for(int k=4;k<a[i].size();k++)
if(a[i][k]!=' ')
x1+=a[i][k];
else
break;
for(int k=p[3]+1;k<a[i].size();k++)
x2+=a[i][k];
stringstream xx1,xx2;
xx1<<x1,xx2<<x2;
int s1,s2;
xx1>>s1,xx2>>s2;
if(s1>s2)
{
ff=1;
continue;
}
}
else
{
if(ff&&f)
continue;
cs++,mf=max(mf,cs);
}
}
else
{
if(isdigit(a[i][p[3]+1]))
{
ff=1;
css=cs;
}
else
continue;
}
}
else
{
f--;
bk[st[jkk]]=0;
jkk--;
cs--;
cs=max(0LL,cs);
if(f==0)
ff=0;
}
}
string ans="O(";
if(cs==0&&mf==0)
ans+="1)";
else
ans+="n^"+to_string(mf)+")";
if(er==1||f!=0)
cout<<"ERR\n";
else if(ans==x)
cout<<"Yes\n";
else
cout<<"No\n";
}
}
就算是一分钱,也是对作者极大的支持
------ 本文结束 ------

版权声明

Baccano by baccano is licensed under a Creative Commons BY-NC-ND 4.0 International License.
baccano创作并维护的Baccano博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于baccano 博客( http://baccano.fun ),版权所有,侵权必究。

小游戏

---小游戏:要不要来选择一下自己可能的老婆?---

简易发声器

---简易的七键钢琴插件---

可以使用鼠标点击琴键也可以使用主键盘1-7或者小键盘的1-7来操作

那么现在开始吧

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
0%