題目描述
給定乙個0-1串,請找到乙個盡可能長的子串,其中包含的0與1的個數相等。
輸入
乙個字串,只包含01,長度不超過1000000。
輸出
一行乙個整數,最長的0與1的個數相等的子串的長度。
樣例輸入
1011
樣例輸出
2資料範圍限制
30%的資料 串的長度<20
思路題面看著這麼舒服,結果難的跟吃。。。我什麼都沒說
30分:暴力
60分:用字首。但是我用了一點巧妙的東西,70分了 (好像暴露了真實成績
100分
應該算數學題吧,當兩個點的字首0和字首1的差相等,那麼這兩個點之間的01串就是合法的。自己隨便舉些板栗就好了。記錄字首0和字首1的差最開始出現的地方,再次發現這個差,就更新答案。
#include
#include
#include
using namespace std;
const int m
=1000000
;//要加 m是因為0和1的差可能是負數
long long gun,a,f[
2000100];
string s;
int main()
printf
("%lld"
,gun)
;}
2017 7 7普及 終極數
題目大意 解題思路 題目描述 給定乙個長度為n的序列a,試求出對於序列a的每乙個字首的終極數x,使得 最小,試求出終極數t 如若有多個終極數t,只需輸出最小的那個 第一行乙個整數n,第二行n個整數,中間用空格隔開 輸出一行乙個整數,即表示終極數t 由於題目較為苦澀難懂,先看一下 解題思路 其實就是求...
DP 2017 7 7普及 和諧數
題目描述 給定乙個長度為n nn的序列a aa,對於每乙個數都可選或不選,把選出的數有序組成乙個新的序列b bb,使b bb序列的 和諧數 最大。乙個序列的和諧數如下定義 對於位置i ii,如果第奇數次選的則加上b ib i bi 偶數次選的則減去b ib i bi 注意 新的序列b bb必須是從左...
數學 (JZOJ) 普及模擬 單元格
題目描述 在乙個r行c列的 裡,我們要選出3個不同的單元格。但要滿足如下的兩個條件 1 選中的任意兩個單元格都不在同一行。2 選中的任意兩個單元格都不在同一列。假設我們選中的單元格分別是 a,b,c,那麼我們定義這種選擇的 費用 f a b f b c f c a 其中f a b 是指單元格a到單元...