timelimit:2000ms memorylimit:128mb
64-bit integer io format:%lld
problem description
在經過乙個比賽的小插曲後,小a不僅得到主辦方的賞識後,還撈到了一大筆錢。有了足夠的錢後,他繼續出發前往那個聚會城市。由於小a和小c每天都需要趕路,他們需要多買一些舒適的襪子。在離開這個城市前,他先逛了一家襪子批發商店,該商店將不同數量的襪子放入乙個個盒子中,且將盒子排成一排,小a看到這樣的情景,頓時好奇(程式設計師的本能):
若把這些箱子圍成乙個圈,並且拿走一段連續的箱子,且箱子中的襪子的總數量正好等於小a要買的襪子的數量m,有多少種拿法?(假設有n個盒子,盒子編號1-n)、
同在小a和小c買完了襪子之後,繼續朝著聚會城市出發…
input
有多組測試案例,
每組測試案例,第一行輸入乙個正整數n,m(1<=n<=10^6, 1<=m<=10^8),表示有n個箱子。
第二行輸入n個非負整數ai(1<=ai<=100)、分別表示連續箱子裡面的襪子的數量、
output
對於每組測試案例,輸出有多少種方法、
sampleinput
2 1sampleoutput1 13 2
1 1 1
3 31 1 1
3 11 1 1
3 51 1 1
231然後跑了下樣例,發現正確,直接提交。。。。。30【思路】:
看到這一題我的第一直覺是暴力,列舉每個點的情況,這是會有一種情況,需要考慮即 。。。。,n-1,0,。。。。就是越過起點這種情況
我就想到了,先寫個判斷,因為範圍的最大就是一圈,如果一圈的累加得到的sum
#includeint x[1000005
];int
main()
for(i=0; i)
if(sum2==m)
sum=0
; j=i;
sum+=x[j];
j++;
if(j==n)j=0
;
if(sum>m)continue
;
if(sum==m)
while(j!=i)}}
printf(
"%d\n
",flag);}}
。。。。。。。超時。。。。。。。。
後來仔細一看o(n*n)的複雜度,果然涼涼,就問了下cwl學長,cwl學長說要將複雜度降為o(n)
才能過!
然後發現這題的知識點是雙指標,然後發現這個是區間和
附上**
然後更正了思路,就是兩個」指標「在跑,乙個在前乙個在後,如果值不夠,即前方指標++;如果超過,即後面指標++;
但是這題還是要魔改一下,讓其可以跑過n值。
其他跟第乙個思路相似;
附上**:
#includeint x[1000005然後一發ac。];int
main()
l=0; r=0
; a=0
; flag=0
;
if(sum==m)printf("
1\n"
);
if(sum"
0\n"
);
if(sum>m)
sum+=x[r];
}if(sum==m)
sum+=x[r];
}if(sum>m)
}printf(
"%d\n
",flag);}}
return0;
}
第七組第七次衝刺
這個作業屬於哪個課程 這個作業要求在 homework 11512 團隊名稱 八級大狂風 第七組 這個作業的目標 alpha衝刺 隊名 八級大狂風 組員人數 11 接下來的計畫 後端資料庫實現,分數上傳功能,地圖增加多樣性 增加陷阱磚塊,移動轉塊等 還剩下哪些任務 人物行走動畫,人物模型更換,更換 ...
第七周作業
書中習題1 說說下列程式的執行過程和運算結果 include includeusing namespace std double squ double x 函式原形 int main 主函式 書2,不用庫函式,求整數次冪 3.程式設計實現輸入兩個4x5矩陣和5x3矩陣,定義函式並在主函式中呼叫計算它...
第七周總結
3.1 索引特點 很容易想到 mysql 索引可以大大提高檢索速度 優點 1.通過建立唯一索引,保證資料表每行資料的唯一性 2.大大加快資料查詢速度 3.在使用分組和排序進行資料查詢時,可以顯著減少查詢中分組和排序的時間 缺點 1.維護索引需要耗費資料庫資源 2.索引需要占用磁碟空間,索引檔案可能比...