建议数据加强

P1969 [NOIP2013 提高组] 积木大赛

你是不是每次找最小数然后减? 其实你可以考虑,每次减都是整体减,分治成的两个子问题中最小数的相对大小和位置都不变,所以你可以维护偏移量,RMQ只需要求一次,这样复杂度可以降到 O(n log n)。 总之这题虽然简单,但是还是有意思的。数据加强没有必要,本来就是送分题。
by rushcheyo @ 2017-10-03 13:58:42


额,这题不是O(n)么
by HHCY @ 2017-10-16 21:00:34


好像是的O(n)可以 ```cpp #include<bits/stdc++.h> using namespace std; int h[100010]; int main() { int s=0,n,ans=0; scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&h[i]); for(int i=1;i<=n;i++) { if(h[i]>s) ans+=h[i]-s; s=h[i]; } printf("%d",ans); } ```
by МiсDZ @ 2017-10-24 17:25:05


要是加强了数据,我在洛谷上就A不了,就会去看题解,可能今天就把这题正解写出了呢…… 唉,真可惜了。 要不加强下数据?
by Sweetlemon @ 2018-11-10 15:47:12


|