SDUT3298 小鑫殺怪獸 滾動陣列 防TLE

2021-07-04 22:20:22 字數 1788 閱讀 8875

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

塔防遊戲

是一類很出名的遊戲

,在遊戲裡,你需要建造一些防禦塔來攻擊怪獸從而保衛小鑫國王。現在又有一波怪獸來襲了,你需要知道小鑫國王能否頂住怪獸的攻擊。

怪獸所走的路是一條直線,這條直線上有n

個格仔(連續編號從1到

n)。在怪獸敵人趕來之前,你需要建造

m個防禦塔。每個防禦塔的攻擊範圍是

[l, r]

,意味著這個防禦塔可以攻擊從l到

r之間所有的敵人。當某個怪獸待在第

i個位置時,每乙個能攻擊到第

i個位置的防禦塔都會對這個怪獸進行一次攻擊,怪獸在進行下一次移動之前不會再受到同乙個防禦塔的攻擊。舉個例子,乙個防禦塔的攻擊範圍是

[1, 3]

,乙個怪獸會在第

1個格仔、第

2個格仔、第

3個格仔分別受到

1次攻擊。

乙個**的女巫會幫助所有的怪物安置初始位置(第i

個怪獸出現在格仔xi

)。所有的怪獸都沿直線行動(沿著從1到n

的方向)。

現在你知道每個怪獸的血量h

i以及每個防禦塔的傷害值d

i,(一次攻擊會對怪獸造成d

i點傷害,怪獸的血量會下降d

i)。如果乙個怪獸的血量h

i降低到0或者0

以下,這個怪獸就會***然後消失。

你的任務是計算最經過所有的防禦塔攻擊,會留下多少的怪獸。

輸入包含多組。

每組的第一行是乙個整數

n (0 < n <= 100000)

,代表路上一共有n

個格仔。第二行是乙個整數

m (0 < m <= 100000)

,代表小鑫擁有的防禦塔的數量

。接下來m行,

每行包含三個整數li, ri, di (1 <= li <= ri <= n, 0 < di <= 1000)

,代表防禦塔的攻擊範圍

[l, r]以及防禦塔的傷害值。接下來乙個整數

k (0 < k <= 100000)

,代表怪獸的數量。接下來k

行,每行有兩個整數

hi 和 

xi (0 < hi <= 10^18, 1 <= xi <= n)

,代表怪獸的血量以及怪獸的起始位置。

當n = 0

時輸入結束。

輸入乙個整數,代表最後存活的怪獸的數量。

5

21 3 1

5 5 2

51 3

3 15 2

7 39 1

0

3

在樣例中,初始血量為5、7

和9的三個怪獸最後還存活著。

glsilence

#include#include#includeusing namespace std;

long long int a[100010];

long long int hi,xi;

int main()

for(int i=1;i<=n;i++) //滾動陣列防tle

for(int i=n-1;i>=1;i--)

scanf("%d",&k);

long long int num=0;

while(k--)

printf("%lld\n",num);

}}

小鑫殺怪獸

time limit 1000ms memory limit 65536k 有疑問?點這裡 塔防遊戲是一類很出名的遊戲 在遊戲裡,你需要建造一些防禦塔來攻擊怪獸從而保衛小鑫國王。現在又有一波怪獸來襲了,你需要知道小鑫國王能否頂住怪獸的攻擊。怪獸所走的路是一條直線,這條直線上有n 個格仔 連續編號從1...

sdut 懶蟲小鑫

time limit 1000ms memory limit 65536kb submit statistic discuss problem description 小鑫是個大懶蟲,但是這一天媽媽要小鑫去山上搬些礦石去城裡賣以補貼家用。小鑫十分的不開心。不開心歸不開心,小鑫還是要做這件事情的。我們...

SDUT 小鑫 日常系列故事(七) 小紙條

time limit 1000ms memory limit 65536k 有疑問?點這裡 小鑫在高中的時候喜歡上了乙個十分漂亮的女孩。那個女孩也很喜歡他,就答應成為他的女朋友。但是大家都知道高中的生活是忙碌的,除了上課就是上課,有時候可能連課間時間都被老師占用。於是小鑫想出了在上課給女朋友傳紙條的...