題意:就是輸入一串數,由0,1組成,在這一串數中,選擇乙個區間,把這個區間中的0變成1,1變成0。希望能讓這一串數在改變後,得到的1最多並輸出最後得到的1的個數。
題解:從第乙個數開始遍歷,找到0開頭的序列,記住最大序列的長度,把不滿足條件的數全部加起來。最後將最大序列部分和不改變部分相加,得出答案。
accode:
int main()
//如果遇到的是1,就讓它小於max或等於0,滿足求和的條件
else if(a[i]==0)
//如果遇到0,就計數,大於最大值,就成為最大序列
if (sum == 0 || sum < max)
t+=a[i];//把沒有改變的數都加起來
}cout << t + max << endl;//把兩部分都加起來
return 0;
}
暴力高階,有序二分暴力
include include includeusing namespace std typedef long long ll const int n 1e5 int a n 100 int f int mid,int n printf mid d num d n mid,num return nu...
ACM學習感悟 暴力專場E 暴力dp
problem description 小晴天 我有乙個數列!小晴天 我還要有很多很多的數列!於是小晴天就把這個數列的所有連續子數列寫出來。然後小晴天把每個連續子數列中的最大的數寫出來。那麼,有多少個比k大呢?input 多組資料,首先是乙個正整數t t 100 表示資料的組數 對於每組資料,首先是...
「暴力」注入Explorer
暴力 注入explorer pjf jfpan20000 sina.com 寫點無聊的東西,一段時間blog弄得不成樣子了。向乙個執行中的程序注入自己的 最自然莫過於使用createremotethread,如今遠執行緒注入已經是氾濫成災,同樣的監測遠執行緒注入 防止遠執行緒注入的工具也 舉不勝舉,...