[Luogu] 时间复杂度
https://www.luogu.org/problemnew/show/P3952
考场上输出的是 "YES" "NO"
++ ,如果不是亲身经历,打死我我都不信
思路:
递归模拟
细节挺多
难度不大
容易写挂
#include <bits/stdc++.h> using namespace std;
const int oo = ; int T, L, Maxpow;
char use[];
bool vis[], flag;
int last; inline int get() {
char c[];
scanf("%s", c);
int len = strlen(c);
int ret = ;
if(len == ) return c[] == 'n' ? oo : c[] - '';
else for(int i = ; i < len; i ++) ret = ret * + c[i] - '';
return ret;
} void Go_on() {
int jsF(), jsE();
while(jsE <= jsF) {
L --;
char H; cin >> H;
if(H == 'E') {jsE ++; vis[use[last --]] = ; if(jsE > jsF) return ;}
else {
char Int; int x, y;
cin >> Int; x = get(); y = get();
if(vis[Int]) {flag = ; return ;}
else {vis[Int] = ; use[++ last] = Int;}
jsF ++;
}
}
} void Work(int floor_pow, int floor) { // 到达当前层时的最大次数
while(L) {
if(flag) return ;
L --;
char H; cin >> H;
if(H == 'F') {
char Int; cin >> Int; int x = get(), y = get();
if(vis[Int]) {flag = ; return ;}
else {vis[Int] = ; use[++ last] = Int;}
if(x != oo && y == oo) {
Maxpow = max(Maxpow, floor_pow + );
Work(floor_pow + , floor + );
} else {
if((x == oo && y != oo) || (x > y)) {Go_on();}
else Work(floor_pow, floor + );
}
} else {
vis[use[last --]] = ;
if(floor != ) return ;
}
} } inline void Read_over() {
while(L) {L --; char H; cin >> H; if(H == 'F') {cin >> H; H = get(); H = get();}}
} int main() {
cin >> T;
while(T --) {
cin >> L;
char tim[];
scanf("%s", tim);
memset(vis, , sizeof vis); last = ;
int len = strlen(tim);
if(L % ) {cout << "ERR" << endl; Read_over(); continue ;}
Maxpow = ; last = ; flag = ;
Work(, );
if(L) Read_over();
if(last || flag) {cout << "ERR" << endl; continue ;}
int Pow;
if(tim[] == '') Pow = ;
else if(len == ) Pow = tim[] - '';
else if(len == ) Pow = (tim[] - '') * + tim[] - '';
else if(len == ) Pow = ((tim[] - '') * + tim[] - '') * + tim[] - '';
if(Pow == Maxpow) cout << "Yes" << endl;
else cout << "No" << endl;
}
return ;
}
[Luogu] 时间复杂度的更多相关文章
- luogu P3952 时间复杂度 模拟
题目链接 luogu P3952 时间复杂度 题解 直接模拟即可 注意不要直接return 我真是naive ...... 代码 #include<map> #include<sta ...
- [Luogu 3952] NOIP2017 时间复杂度
[Luogu 3952] NOIP2017 时间复杂度 一年的时间说长不长,说短,也不短. 一年之内无数次觉得难得可怕的题目,原来也就模拟这么回事儿. #include <cstdio> ...
- 【luogu P3952 时间复杂度】 题解
对于2017 D1 T2 这道题 实实在在是个码力题,非常考验耐心. 其实大体的思路并不是非常难想出来,但是要注意的小细节比较多. 题目链接:https://www.luogu.org/problem ...
- [LUOGU] P3952 时间复杂度
其实,也没那么难写 这种模拟题,仔细分析一下输入格式,分析可能的情况,把思路写在纸上,逐步求精,注意代码实现 主要思路就是算一个时间复杂度,和给出的复杂度比较,这就先设计一个函数把给出的复杂度由字符串 ...
- luogu 3952 时间复杂度
noip2017 D1T2 时间复杂度 某zz选手考场上写了1.5h 考完之后发现自己写的是错的 但是结果A了??? 题目大意: 一种新的编程语言 A++ 给出一个程序只有循环语句 并给出这个程序的时 ...
- luogu 3952 时间复杂度(模拟)
时间复杂度 这道题从两个月前开始做,一直没做出来,最后今晚决心一定要做出来.于是开始认真的在打草纸上写思路,最后在AC的那一刻,差点哭了出来!! 题目大意 这个自己看吧,noip2017的D1T2 s ...
- [NOIp2017] luogu P3952 时间复杂度
跪着看评测很优秀. 题目描述 给你若干个程序,这些程序只有 For 循环,求这些程序的时间复杂度. Solution 大模拟.讲下细节. flag[i]flag[i]flag[i] 表示第 iii 位 ...
- luogu P4183 Cow at Large P (暴力吊打点分治)(内有时间复杂度证明)
题面 贝茜被农民们逼进了一个偏僻的农场.农场可视为一棵有N个结点的树,结点分别编号为 1,2,-,N .每个叶子结点都是出入口.开始时,每个出入口都可以放一个农民(也可以不放).每个时刻,贝茜和农民都 ...
- [luogu P2647] 最大收益(贪心+dp)
题目传送门:https://www.luogu.org/problem/show?pid=2647 题目描述 现在你面前有n个物品,编号分别为1,2,3,--,n.你可以在这当中任意选择任意多个物品. ...
随机推荐
- Thinking In Java 4th Chap4 控制执行流程
Foreach语法: 例如:float f[]=new float [10]; for(float x:f){/*****/} for(char c:"Afaslkd aslfjala al ...
- 三分钟搞定Python中的装饰器
python的装饰器是python的特色高级功能之一,言简意赅得说,其作用是在不改变其原有函数和类的定义的基础上,给他们增添新的功能. 装饰器存在的意义是什么呢?我们知道,在python中函数可以调用 ...
- cmake 升级
cmake 升级 1下载 cmake-3.1.0.tar.gz2.解压 3.执行 ./configure 4.执行 make 5. 执行 sudo make install 6.添加环境变量 ...
- 20190724-Python网络数据采集/第 2 章 复杂HTML解析-导航树/正则表达式
1. 导航树 经典的HTML树状结构 直接看下面的代码示例:(注意目标网页的标签大小写等细节,易出bug) from urllib.request import urlopen from bs4 im ...
- [python]近日 用3种库 实现简单的窗口 的回顾~
最近任务:利用python 实现以下4个窗口弹窗. 信息提示框 文本输入框(需在窗口消失后,返回 用户输入的值) 文件选择(需在窗口消失后, 返回 用户选择的文件名的全路径) 文件夹选择(需在窗口消失 ...
- Codeforces 1247C. p-binary
传送门 首先 $n=\sum_{i=1}^{ans}(2^{x_{ans}}+p)$ 可以变成 $n-ans \cdot p=\sum_{i=1}^{ans}2^{x_{ans}}$ 注意到如果 $n ...
- 爬虫遇到IP访问频率限制的解决方案
背景: 大多数情况下,我们遇到的是访问频率限制.如果你访问太快了,网站就会认为你不是一个人.这种情况下需要设定好频率的阈值,否则有可能误伤.如果大家考过托福,或者在12306上面买过火车票,你应该会有 ...
- 05 Redis-Sentinel
一.什么是Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案当用redis作master-slave的高可用时,如果master本身宕机,redis本身或 ...
- interrupt分析
转载自 https://blog.csdn.net/zhangliangzi/article/details/52485319 interrupt简述 interrupt() 方法只是改变中断状态而已 ...
- ASE19团队项目alpha阶段model组 scrum3 记录
本次会议于11月5日,19时整在微软北京西二号楼sky garden召开,持续25分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing W ...