給定乙個序列,統計這個序列長度為1-n長度的連續子串行的分別公共最小值,不存在輸出-1。
首先統計相同的數在序列中的最大間隔,包括此數對序列頭,序列尾的間隔(利用map記錄此數字上一次出現的index下標即可)。此間隔就是能取到這個數字為貢獻的最小序列長度。然後對於每個數字能做出貢獻的最小代價長度進行更新,例如數字4,2都最小要長度3的子串行才可以取到,那麼ans[3]就更新成最小的數字2。最後輸出即可。(輸出時注意當第一次 不為-1後,後面都要更新最小,因為假設長度為3的最小值為2。那後面的答案一定不會大於2)
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int n=3*
100010
;int ans[n]
,sz[n]
,st[n]
;unordered_map<
int,
int>mp;
intmain
(void
)for
(int i=
1;i<=n;i++
)//求取每個數的最大間隔(已經包括序列首)
for(
int i=
1;i<=n;i++
)//處理序列尾 例如 2 2 3 4 5 (2到序列尾最小間隔為4)
for(
int i=
1;i<=n;i++
)//對每個數字所歸屬的間隔長度,取最小的數字
int res=
0x3f3f3f3f
;int flag=1;
for(
int i=
1;i<=n;i++
)//輸出答案
}printf
("\n");
}return0;
}
研究馬克思數學手稿的國際新浪潮
2009年7 月30日,英國倫敦 newpark 2009年9 月,澳大利亞數學學會 charles fahey 發表研究 題為 微積分 馬克思主義者的研究途徑 此文讀後讓人耳目一新。新的研究成果表明,從不同的角度深入研究 馬克思數學手稿 是有益的,尤其是,對於微積分學教育改革而言。澳大利亞數學會不...
2 12歲小孩該如何培養數學思維?推薦豌豆思維
李開復老師曾說 數學是一切科學的根本,培養好數學思維,讓我們能夠用客觀的眼光去看問題 分析問題 的確,良好的數學思維模式能夠讓人抓住事物的本質,條理清晰的從有序的 正向的 逆向的多方位思考,更好的解決問題。所以從小培養數學思維至關重要,特別是對於2 12 歲正處在數學思維培養 期的小孩子來說,錯過了...
豌豆思維張潔受邀ACE大會 時代呼喚數學思維教育
教育要適應新的環境,適應未來孩子發展的需求,如果我們還是讓孩子去接受跟我們當年一樣的教育,未來他很難勝任新的職業環境和生活環境。12月12日,豌豆思維創始人兼ceo張潔受邀出席2019全球素質教育行業峰會,並發表 z時代 呼喚數學思維教育 主題演講,分享了新時代下數學思維的重要作用和數學思維教育的創...