P3952 时间复杂度】的更多相关文章

题目链接 luogu P3952 时间复杂度 题解 直接模拟即可 注意不要直接return 我真是naive ...... 代码 #include<map> #include<stack> #include<cstdio> #include<cstring> #include<algorithm> #define rep(a,b,c) for(int a = b;a <= c;++ a) #define gc getchar() #defi…
P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确. A++语言的循环结构如下: F i x y 循环体 E 其中F i x y表示新建变量 ii(变量 ii 不可与未被销毁的变量重名)并初始化为 xx, 然后判断 ii和 yy 的大小关系,若 ii 小于等于 yy 则进入循环…
P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确. A++语言的循环结构如下: F i x y 循环体 E 其中\(F\) \(i\) \(x\) \(y\)表示新建变量\(i\)(变量\(i\)不可与未被销毁的变量重名)并初始化为\(x\), 然后判断\(i\)和\(y\)的…
题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确. A++语言的循环结构如下: F i x y 循环体 E 其中F i x y表示新建变量 ii(变量 ii 不可与未被销毁的变量重名)并初始化为 xx, 然后判断 ii 和 yy 的大小关系,若 ii 小于等于 yy 则进入循环,否则不进入.每次循环…
对于2017 D1 T2 这道题 实实在在是个码力题,非常考验耐心. 其实大体的思路并不是非常难想出来,但是要注意的小细节比较多. 题目链接:https://www.luogu.org/problemnew/show/P3952 思路 对于每一个程序,先读入L和O(),并将其中的时间复杂度抠出来. 其次整行读入字符串,即所给定的程序. 判断第一个字符是F or E F i x y 需要把x y拿出来,把i压进栈 E 退栈 压进i后为了方便退栈及退栈时判断,用一个flag标记 每做完一个程序,与前…
https://www.luogu.org/problemnew/show/P3952 这个模拟,注意每次进入循环的时候把新状态全部入栈,退出循环的时候就退栈. 第一次就错在发现ERR退出太及时,把剩余的信息留在流里面. 所以下次还是全部保存在字符串里面就好.一次下载一整段程序. #include<bits/stdc++.h> using namespace std; typedef long long ll; void solve() { int l; scanf("%d"…
大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. 为了简明代码,我写了6个辅助函数. 然后就A了... // shi jian fu za du #include <cstdio> #include <algorithm> #include <string> #include <iostream> ; ];…
https://www.luogu.org/problemnew/show/P3952 模拟,日常认识到自己zz. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<vector> using namespace std; ; ]; int n,ans,ke; int f[maxn]={}…
其实,也没那么难写 这种模拟题,仔细分析一下输入格式,分析可能的情况,把思路写在纸上,逐步求精,注意代码实现 主要思路就是算一个时间复杂度,和给出的复杂度比较,这就先设计一个函数把给出的复杂度由字符串形式化为数字形式 然后开始分析,对于F: 检查变量合法 分类:常量-常量和n-n:O(1),常量-n:O(n),n-常量:无法进入,记为0,特殊标记一个slay 3.压栈:栈内记录变量名和贡献的复杂度,用map标记变量为使用过 对于E: 检查栈空 如果没有slay标记就更新答案 弹栈,清空变量使用…
链接 : Here! 思路 : 这是一道大模拟, 区分好情况就没问题了 循环构成部分 : $F , x , i , j$ 和 $E$ , 需要注意的是 $i , j$, - 分析 $i, j$ 的情况 : - 当 $i, j$ 全为 $n$ 的时候, 复杂度为 $O(1)$ - 当 $i, j$ 为 $number$ 和 $n$ 的时候复杂度为 $O(n)$ - 当 $i, j$ 为 $n$ 和 $number$ 的时候复杂度为 $O(0)$ - 当 $i, j$ 全为 $number$ 时,…