目錄參考文章
題目傳送門
利用差分的思想,每當遇到乙個a[i] < a[i+1]
的時候,就將對應的對於p = a[i-1] + 1
到a[i]
這個區間內的所有p
的非零劃分的數量+1(這就轉換到了差分的思路)
然後使用字首和統計p所有可能的取值對應的非零段的數量,去最大值即可
注意這裡只需要統計上公升段(或者只統計下降段也可以)
只統計上公升段
#include#include#includeusing namespace std;
const int n = 500010;
int di_max;
vectorpeeks; // 所有峰值點
int a[n];
int b[n];
int n;
void add(int l, int r)
int main()
if(maxa < a[i]) maxa = a[i]; }
int res = 0;
for(int i = 1; i <= maxa; i++)
cout << res << endl;
return 0;
/*暴力60
scanf("%d", &n);
int maxx = 0;
for(int i = 1; i <= n; i++)
int res = 0;
for(int p = 1; p <= maxx; p++)
// cout << cnt << endl;
res = max(res, cnt);
} cout << res;
return 0;
*/ /* 得分為0
for(int i = 1; i <= n; i++) }
int res = 0;
for(auto t : peeks)
cout << res;
return 0;
*/}
只統計下降段
#include#include#includeusing namespace std;
const int n = 500010;
int di_max;
vectorpeeks; // 所有峰值點
int a[n];
int b[n];
int n;
void add(int l, int r)
int main()
if(maxa < a[i]) maxa = a[i]; }
int res = 0;
for(int i = 1; i <= maxa; i++)
cout << res << endl;
return 0;
}
\(o(n)\) python 第一行非零 Numpy選擇非零行
您可以使用data 0來檢測所有的零,這將給您乙個布林陣列,然後沿著它的每一行執行np.any。或者,您可以使用data 0檢測所有非零,然後執行np.all來獲得沒有任何零的行掩碼。在 還可以使用 來替換 我個人認為這很瘋狂,但這是乙個好方法,因為它給我們帶來了顯著的效能提公升,我們稍後將在本解決...
non zero sum game 非零和博弈
剛剛從ted。com聽到乙個 非零和博弈 的概念,有點領悟,在假期時候希望能給大家的智慧型帶來乙個搔癢作用 首先我要說明,我不是經濟學家,所以不是從經濟學角度去看這個問題。我是職業經理人,一直認為做好事先要做好人,做好人要有良好的心態,我是從心態這個角度去看 零和博弈 相信很多人都聽過 零和博弈 這...
非零環繞規則
canvas填充的非零環繞規則 從區域內往外畫一條足夠長的線,線與順時針路徑相交,計數器 1,與逆時針路徑相交,計數器 1,計數器最終不為0則填充 水平方向上 margin left padding left border left width border right padding right ...