哈爾濱理工大學第七屆程式設計競賽決賽 B 幸運大獎

2021-08-13 08:11:33 字數 992 閱讀 4121

題目描述

tabris實在是太窮了,為了發財,tabris去買了一張彩票,幸運地中了特別獎。

特別獎是這樣的,不會直接給你發錢.會給你一串二進位制數s,讓你在s中選擇乙個不大於k的區間,這個區間表示的數就是獲獎者的獎金數目.

tabris中獎之後已經激動地矇圈了,他不知道如何選擇能獲得最多的錢,你能幫幫他不?

輸入描述:

輸入乙個整數t(t≤10),代表有t組資料.

每組資料佔兩行.

第一行有乙個整數k(k≤60),代表tabris能選擇的數字區間的大小.

第二行有乙個字串s(∣s∣≤106).

保證 k≤∣s∣

輸出描述:

輸出一行」case #x: y」,x代表第x組資料,y代表tabris能得到的最多的錢。

示例1

輸入3

1 10101

3 10101

5 10101

輸出case #1: 1

case #2: 5

case #3: 21

說明對於第乙個樣例,最大結果為1,選擇 [1]0101,10[1]01,1010[1] 。

對於第二個樣例,最大結果是5,選擇 [101]01,10[101]。

對於第三個樣例,最大結果為21,選擇 [10101]。

爆搜 列舉所有k位數

code:

#include 

#include

#include

#include

using

namespace

std;

const

int mod = 1e9+7;

char a[1000006];

int main()

if (maxprintf ("case #%d: %lld\n",k++,max);

}return

0;}

哈爾濱理工大學第四屆ACM程式設計競賽F 揹包

description ds最近剛學會了揹包。比如,給乙個序列,問是否存在乙個子集滿足元素和為x ds 會用一種方法 int dp x 1 dp 0 1 for int i 0 i n i for int j 0 j x j if dp j j a i x dp j a i 1 return dp ...

哈爾濱理工大學軟體學院ACM程式設計全國邀請賽

簡單做個記錄,因為賬號登不上了。想看 的請繞行 a 網路流。被自己估計的記憶體和時間嚇住了mdzz。b 一上來就開了這道題 c 自己讀錯題目了,簡直zz。dp i j k dp i j k 表示用j j 個硬幣得到1 i role presentation style position relati...

哈爾濱理工大學第六屆程式設計團隊賽網路同步賽

弱隊只過了7題,吃完飯回來補吧。比賽的時候沒做出來,其實只要維護乙個遞減序列就可以了。include includeusing namespace std const int maxn 100000 5 int a maxn b maxn int main scanf d m for int i 1...