日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[COCI 2017-2018-2]-San

發(fā)布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [COCI 2017-2018-2]-San 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[COCI 2017-2018-2]-San

san(1s64M)

游戲世界中有N個樓從左到右排列,從左到右編號為1到N,第i幢樓的高度為Hi,樓上的金幣數(shù)為Gi,游戲可以從任意一個樓開始且包涵幾步。每一步玩家可以從當前位置向右跳(可以跳過一些樓)但必須跳到不低于當前樓的高度的樓上。他到了樓上后,可以得到樓上的金幣。他可以在跳任意步(可以是零步)后結束游戲,但是要保證收到的金幣數(shù)要大于等于K,現(xiàn)在想知道共有多少不同的種方案滿足游戲。兩個方案不同是指至少有一個樓不一樣的方案。

輸入:

第一行兩個數(shù)?N (1 ≤??N ≤?40) and ?K (1 ≤??K ≤?4·10?^10??)

接下來N行,每行兩個正整數(shù),第i行用Hi和Gi表示第i個樓的高度和上面的金幣。?(1 ≤?Hi, ?Gi ≤?109??)

輸出一行一個數(shù),表示方案總數(shù)。

In? ?test? ?cases? ?worth? ?40%? ?of? ?total? ?points,? ?it? ?will? ?hold? ??N? ?≤???20.

SAMPLE?? ??TESTS

input input input

4? ?6

2? ?1

6? ?3

7? ?2

5? ?6

Output

3

樣例1對應的方案? ?{1,? ?2,? ?3},? ?{1,? ?4}? ?and? ?{4}

對于40%的數(shù)據(jù),n<=20

對于100%的數(shù)據(jù),n<=40

1.n<=20

爆搜即可。

2.n<=40

solution1:暴力+剪枝。

solution2:折半搜索法。

將n拆成兩半:

我們可以分別算出兩個獨立區(qū)間的貢獻,再嘗試算出由左區(qū)間到右區(qū)間的貢獻。

維護樹狀數(shù)組(線段樹)每一次二分詢問答案即可。

?

此題中的內存限制為64MB,所以在維護時需特別注意空間。

本萌新在考試時因內存限制被卡掉10分。。。

總結

以上是生活随笔為你收集整理的[COCI 2017-2018-2]-San的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。