遊戲機本當下手(字串 尺取)

2022-06-08 20:30:15 字數 2640 閱讀 3286

藤原妹紅拿到了乙個遊戲機,遊戲機上有'1'和'0'兩個按鈕。

妹紅發現,只要按住某個按鈕不放,螢幕上就能一直不斷列印那個字元。

比如對於"11111111100000000001111111111",只需要按住1、再按住0、再按住1就可以列印出來了。這樣妹紅最少只需要按3次按鈕就可以列印這個字串。

現在妹紅拿到了乙個01字串,她想擷取其中的乙個子串,這個子串最少按

次按鈕就可以列印出來。

(01字串指僅由字元'0'和字元'1'組成的字串)

注意這裡「最少按

次」的含義是:按

次可以列印出這個子串,但按

次就一定列印不出這個子串。

妹紅想知道,一共有多少子串符合要求?

注:乙個字串的子串為該字串刪掉前面和後面部分字元(也可以不刪)生成的字串。

兩個子串只要在字串中位置不同則認為是不同的(哪怕字串相等)。

第一行兩個正整數

,分別代表字串的長度、和妹紅按下按鈕的次數。

第二行為乙個僅由字元「0」和「1」組成的字串。

妹紅至少按

次就能按出來的子串的數量。
示例1

複製

6 2

001100

複製

8
注意到k=2,因此要尋找最少按2次就能列印的子串。

s[0,2]="001",妹紅最少按2次就能按出來,先按0再按1。

s[0,3]="0011",妹紅最少按2次就能按出來,先按0再按1。

s[1,2]="01",妹紅最少按2次就能按出來,先按0再按1。

s[0,3]="011",妹紅最少按2次就能按出來,先按0再按1。

s[2,4]="110",妹紅最少按2次就能按出來,先按1再按0。

s[2,5]="1100",妹紅最少按2次就能按出來,先按1再按0。

s[3,4]="10",妹紅最少按2次就能按出來,先按1再按0。

s[3,5]="100",妹紅最少按2次就能按出來,先按1再按0。

共有8個子串符合要求。

示例2複製

3 1

110

複製

4
注意到k=1,因此要尋找按1次就能列印的子串。

s[0,0]="1",妹紅按住1就可以列印出來,只按了1次按鈕

s[0,1]="11",妹紅按住1就可以列印出來,只按了1次按鈕

s[1,1]="1",妹紅按住1就可以列印出來,只按了1次按鈕

s[2,2]="0",妹紅按住0就可以列印出來,只按了1次按鈕

共有4個子串符合要求。

對於20%的樣例,

對於40%的樣例,

對於60%的樣例,

對於100%的樣例,

這個題目不能直接進行尺取

要處理一下,把他變成沒有連續的就可以進行尺取了,

尺取的權值就是ans+=a[l].sum*a[r].sum;

其中m=1的時候要特判

#include#include

using

namespace

std;

typedef

long

long

ll;const

int maxn=1e6+100

;struct

nodea[maxn];

char

str[maxn];

intmain()

else

}if(m==1

) cout

return0;

}int l=1,r=0

;

int p=0

; ll ans=0

;

while(1

)

if(p//

要先判斷break,在加權值

break

; }

ans+=1ll*a[l].sum*a[r].sum;

p--;

l++;

}cout

}

其實這個沒有必要尺取的

思路:先統計出每段1和0的個數,如果k等於1的話,那麼對於每一段就是1 + 2 + 3 + ....,求和公式,否則就是i就是從第k項開始,看第i項與第i-k項乘起來,具體看**

#include #include using namespace std;

typedef long long ll;

ll n,k;

int main()

else

}i = j - 1;

v.push_back(cnt);

}ll res = 0;

if(k == 1)

}else

}cout << res << endl;

return 0;

}

智慧型遊戲機

1 import random23 4def print game 5print 30 6print step1 歡迎介面 7print 5,歡迎使用ai牌遊戲機 5 8print 5,1.猜數遊戲 5 9print 5,2.猜拳遊戲 5 10print 5,3.退出 10 11print 30 1...

iPhone與遊戲機打對臺

nick wingfield christopher lawton 相關閱讀 蘋果第四財季淨利潤增長26 2008 10 22 谷歌g1叫板iphone 2008 10 21 iphone殺手 黑莓風暴即將亮劍 2008 10 08 諾基亞推出觸控螢幕手機 2008 10 03 適合iphone的手...

基於51微控制器的簡易遊戲機

1.2課程設計的任務及設計要求 簡易遊戲機 1 液晶顯示製作人姓名 學號,院,班級及校徽等資訊和 2 多個遊戲選項 1 貪吃蛇遊戲 俄羅斯方塊等 3 具有簡單電子錶功能,可顯示年 月 日 星期 時 分 秒等 根據實際顯示方式的不同,可選擇部分或全部功能 4 具有電子錶的校準功能 5 擴充套件功能 自...