NOIP模擬賽2019 8 30題解

2021-09-26 15:56:50 字數 2705 閱讀 1165

維護乙個

從前往後掃瞄,如果棧為空或當前數及之後數中的最大值大於棧頂的數,就將最大值之前的所有數入棧,並且把最大值儲存在答案中。

否則將棧頂的元素彈出,並儲存在答案中。

由於最大值從後往前是單調遞增的,所以直接用乙個陣列維護就可以o(1)查詢

#include.h>

using namespace std;

const int n

=200005

;int n,a[n]

,ans[n]

,f[n

],tot,now;

stacks;

int read()

while

(ch>=

'0'&&ch<=

'9')

return sum*f;

}void

print

(int x)

int main()

int i=1;

while

(i<=n+1)

ans[

++tot]

=now;

i++;}

else

}for

(int i=

1;i<=n;i++

)return0;

}

用乙個桶b[]

b[ ]

b[]統計所有攻擊力的小弟個數。

從小到大列舉使用腐敗藥水的次數,把能拉過來的小弟都拉過來,當小弟的攻擊力ans>=sum (血量總值)時就跳出。這樣保證腐敗藥水的次數一定是最小的。

保證ans>=sum的前提下,刪去小弟中多餘的。

先刪3 因為3的花費為4,顯然最不划算

然後刪2 因為2和1的花費相同,但2比1攻擊力貢獻多1

最後刪1

#include.h>

using namespace std;

const int n

=5000005

,maxn=

30000

;int n,m,sum,x,ans,s1,s2,s3,tot;

int b[n]

;int read()

while

(ch>=

'0'&&ch<=

'9')

return sum*f;

}void

print

(int x)

bool comp

(int a,int b)

int main()

for(int i=

1;i+

2<=maxn;i+=3)

if(answhile

(ans-

3>=sum&&s3)

while

(ans-

1>=sum&&s1)

while

(ans-

2>=sum&&s2)

print

(tot)

;putchar

(' ');

print

(s1+s2+s3*

4+tot)

;return0;

}

先求出所有數的最大值ma,最小值mi。

然後二分列舉答案ans。

check()函式中把圖分成a,b兩部分:

若能保證a部分的所有數x,滿足x>=ma-ans ;b部分的所有數y,滿足y>=ans-mi,則當前ans合法。

否則把圖旋轉九十度,繼續check,一直旋轉到原來仍不合法,則當前ans不合法。

#include.h>

using namespace std;

const int n

=2005

,inf=

0x3f3f3f3f

;int n,m,a[4]

[n][

n],f[n][

n],k=1

,mi,ma;

int max

(int x,int y)

int min

(int x,int y)

int read()

while

(ch>=

'0'&&ch<=

'9')

return sum*f;

}void

print

(int x)

void

init

(int x,int y)

int judge

(int now)

else f[i]

[j]=1;

}for

(int i=n;i>=

1;i--

)for

(int j=m;j>=

1;j--

)return1;

}void

change()

int check

(int now)

int main()

init(0

,1);

init(1

,2);

init(2

,3);

int l=

0,r=ma-mi;

while

(lprint

(l);

return0;

}

noip模擬賽 水題

題目描述 lyk出了道水題。這個水題是這樣的 有兩副牌,每副牌都有n張。對於第一副牌的每張牌長和寬分別是xi和yi。對於第二副牌的每張牌長和寬分別是aj和bj。第一副牌的第i張牌能覆蓋第二副牌的第j張牌當且僅當xi aj並且yi bj。注意牌不能翻轉 當然一張牌只能去覆蓋最多一張牌,而不能覆蓋好多張...

noip模擬賽 密碼

表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...

NOIP模擬賽 老師

題目描述 一座有n層的教學樓裡有一些學生,第i 0 i n 層有studentsi個學生。你被給定了乙個數k,如果第i層有x個學生,那麼這一層需要 x k 個老師。你可以調整每個學生的樓層,但是每個學生至多只能調整一層,就是說第i層的學生只能去第i 1層 如果有的話 第i層 第i 1層 如果i 1 ...