這道實際難度入門的題做得真™要麻煩死我,由於摸不到電腦,在大腦裡調了3天都翻不轉!!
p1076 尋寶
思路:暴力模擬(這是基礎,單純暴力據說會全部tle)+取模優化(這樣時間複雜度驟降到o(nm))。
ac**:
#includeusing真™不容易namespace
std;
long
long n,m,t,a[10005][105],able[10005
],start,ans,p;
bool sign[10005][105
];int
main()
scanf(
"%lld
",&start);
long
long j=start;
for(long
long i=1; i<=n; i++)
start=j;
}ans=ans%20123
; printf(
"%lld
",ans);
return0;
}
核心優化:
p=a[i][start]%able[i];用start表示某一層樓的起點房間編號,able表示某一層具有樓梯的房間的數量,這句優化能夠mod運算大大降低時間複雜度,比如:
某層樓有3個具有樓梯的房間,然而start房間的木牌上x=10000,暴力模擬需要走10000次,然而10000%3=1,走1次就可以了。
其實優化不是重點
關鍵是調對用於模擬的迴圈!
while(1別忘了開long long)
ac**第一次提交拿了20分因為沒看見答案要%20123
NOIP2012普及組T2 尋寶
傳說很遙遠的藏寶樓頂層藏著誘人的寶藏。小明歷盡千辛萬苦終於找到傳說中的這個藏寶樓,藏寶樓的門口豎著乙個木板,上面寫有幾個大字 尋寶說明書。說明書的內容如下 藏寶樓共有 n 1 層,最上面一層是頂層,頂層有乙個房間裡面藏著寶藏。除了頂層外,藏寶樓另有 n 層,每層 m 個房間,這 m 個房間圍成一圈並...
Noip2012普及組 擺花
小明的花店新開張,為了吸引顧客,他想在花店的門口擺上一排花,共 m 盆。通過調查顧客的喜好,小明列出了 顧客最喜歡的 n 種花,從 1 到 n 標號。為了在門口展出更多種花,規定第 i 種花不能超過 ai盆,擺花時同一 種花放在一起,且不同種類的花需按標號的從小到大的順序依次擺列。試程式設計計算,一...
noip2012普及組 擺花
小明的花店新開張,為了吸引顧客,他想在花店的門口擺上一排花,共m盆。通過調查顧客的喜好,小明列出了顧客最喜歡的n種花,從1到n標號。為了在門口展出更多種花,規定第i種花不能超過ai盆,擺花時同一種花放在一起,且不同種類的花需按標號的從小到大的順序依次擺列。試程式設計計算,一共有多少種不同的擺花方案。...