牛客網 每日一題 5月20日題目 簡單瞎搞題

2022-05-05 14:21:10 字數 1170 閱讀 4136

比賽鏈結

輸入描述:

第一行乙個數 n。 然後 n 行,每行兩個數表示 li,ri。

輸出描述:

輸出一行乙個數表示答案。

示例1

輸入

512

2334

4556

輸出

26
備註:

1 ≤ n , li , ri ≤ 100

xi的是在 [li , ri]中任選乙個,然後構成值,所以可以用分組揹包來做

dp[i][j]前i個數字能否構成j

那麼dp [ i -1 ] [ j - x[ i ]* x [ i ] ] = = 1則說明加上第i個數則可以構成,x [ i ] 的取值範圍 是題目所給 l[i]和r[i]

這樣做肯定不行,哪那麼簡單

複雜度過高,我們需要壓縮下

先注意dp的值無疑是0或1,所以可以用bitset.

bitset 在 bitset 標頭檔案中,它是一種類似陣列的結構,它的每乙個元素只能是0或1,每個元素僅用1bit空間。

這樣,我們用dp [ i ]表示第i行的01串

dp [ i ]= dp [ i ] | ( d p [ i - 1 ] < < ( x [ j ] 2 ) )

bitset還有自帶的求1的個數的count,這樣就更方便了

#include

#include

using

namespace std;

typedef

long

long ll;

int num1,num2;

const

int maxn=

130;

int a[maxn]

; bitset<

1000009

>dp[

130]

;int n;

intmain()

cout<

.count()

;return0;

}

牛客網 每日一題 5月9日 過河

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋...

牛客網 每日一題 5月19日題目精講 比賽

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld你在打比賽,這場比賽總共有12個題 對於第i個題,你的隊伍有a i 的機率解決她 如果解決不了她呢?由於所有人討論的都很大聲 所以你有b i 的概率從左邊那個隊那裡聽...

牛客網 每日一題 5月27日題目精講 貨幣系統

在的國度中共有n種不同面額的貨幣,第i種貨幣的面額為a i 你可以假設每一種貨幣都有無窮多張。為了方便,我們把貨幣種數為n 面額陣列為a 1 n 的貨幣系統記作 n,a 在乙個完善的貨幣系統中,每乙個非負整數的金額x 都應該可以被表示出,即對每乙個非負整數x,都存在n個非負整數t i 滿足a i x...