思維題
差分陣列
先得到 原始溫度陣列 和 需求溫度陣列的差值,即我們需要用差分處理的陣列,假設為w。
那麼問題是如何利用好,相同的那一段,減少這一段的運算元目。
進行差分之後,連續先等的一段就為0了,保證了演算法的最優性。
而差分後的正負值,可以理解為對區間進行加減操作(差分的定義),可以保證演算法的正確性。
ps:可以造一組樣例試一下,對全0陣列按照差分陣列進行區間操作,即可得到當前陣列,所以對當前陣列進行完全相反的逆操作,也可以得到全零陣列。
#include using namespace std;
const int n = 1e5 + 10;
int w[n];
int n;
int main()
for (int i = n; i > 1; i--)
int l = 0, r = 0;
for (int i = 1; i <= n; i++)
cout << max(l, abs(r)) << endl;
return 0;
}
acwing寒假每日一題題解
貨倉選址 頭兩天的每日一題有點水 include using namespace std int s 505 505 int i,j intmain void 語法題蛇形添數 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格...
acwing 寒假每日一題題解
本篇部落格是基於acwing活動中的寒假每日一題 活動位址 在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個...
2022 5 14 AcWing每日一題
簽到難度 雙指標 貪心 如果是 nlogn 的雙指標演算法,可以採取從左到右也可以從右到左,但是,如果時 n 2 的暴力模擬,只能從左到右。從右向左,採用雙指標,i記錄a陣列需要向左移動的數字 i,j所指不相同時 i,j所指相同時,直接向下移動,同時,如果j指到了被i記錄過的數字,也要直接跳過。in...