NOIP2017 時間複雜度

2022-04-09 09:35:10 字數 1409 閱讀 3038

最近做的最簡單的一道模擬題orz

終於把noip2017的都搞完了。

這道理有幾個需要注意的小細節:

1.注意 f i n n的情況,相當與常數。

2.在不迴圈的部分也要記得判斷是否重複變數

3.兩個常數的時候記得比大小

其他也就沒啥了。

考noip2017的時候棧是什麼都不知道,只知道zz模擬,也不知道怎麼判err,騙了50分(好厲害啊,膜去年的自己

**如下(才60多行,好短啊)

#include #include 

#include

#include

#include

#include

using

namespace

std;

intt,t,mx,top;

string

s;bool vis[250

];char stk[2050

];int getnum(string

s)

returnx;}

bool chang[105

];struct node;

node get2num(

string

s)

for(int j=i;jif(isdigit(s[j])) x.y=x.y*10+s[j]-'0'

;

returnx;}

intmain()

else

if(s[0]=='

e')vis[stk[top--]]=0;continue

; }

else flag2=999999

;

int len=s.length();

if(s[0]=='f'

) vis[s[

2]]=1,stk[++top]=s[2

]; node x=get2num(s);

if(x.x==0&&x.y==0) }

if(x.y) else }

else

if(x.x&&(!isdigit(s[len-1])))

else

}else

if(s[0]=='e'

)

else }}

if(top&&flag==false)

if(mx==mxnum&&flag==false) puts("

yes"

);

else

if(flag==false)puts("no"

); }

return0;

}

complexity

NOIP2017 時間複雜度

傳送門 這道題我去年做到 最後還是爆零了,現在我還是特別慢才寫完 唯一不同就是現在思路比較清晰,但是我的做法比較複雜,很長。我們要處理以下事情 1.讀入程式行數,得到該程式時間複雜度。這個很簡單,我的方法是寫乙個函式判斷一下,然後返回當前時間,如果是常數級就是0.2.讀入程式,判斷是否合法。這一步判...

NOIP 2017 時間複雜度

題目鏈結 去年考試這道題貌似20分 今天又寫,怒幹1個半小時,一次ac 重點是靜下心來,理清思路,知道要幹什麼 然後慢慢地查錯 之後自己造一些比較難的資料來測 這種細節巨多的題就要靜下來,就好了 include define rep i,a,b for register int i a i b i ...

NOIP2017 時間複雜度

堪稱史上最噁心的模擬題!花了我幾乎一天時間才調出來。思路沒啥好說的,開棧模擬即可,細節說一說。1 每次處理乙個新的程式時,將所有該初始化的都初始化,這點估計都能想到。2 關於讀入語句,可以一次讀一行,也可以分開讀,建議分成三個變數讀,我用的一次讀一行,坑死了!不過趁機學了一下c 關於讀入行的知識,c...