最值求和+列舉
最值求和
列舉1.二維字首和
思路:將字首算好,然後用整塊減掉多的再加重複。
注意點:
字首計算的塊值需要將x-1和y+1和當前的值再減去重複部分。
**
#include
using
namespace std;
long
long a[
1001][
1001
], n, m, q, x1, yn1, x2, y2, i, j, qian[
1001][
1001
], t;
intmain()
}for
(i =
1; i <= q; i++
)return0;
}
3.高興的津津
思路:將當前得獎天-上次得獎和t比較,取最小值。第一天不需要判斷。
注意點:1.第一天不能考慮。2.最後一天直接+t。
#include
using
namespace std;
long
long n, t, sum, i, a[
200001];
intmain()
cout << sum + t;
return0;
}
4.獨木橋
思路:士兵轉身不影響最大值,所以不考慮,只要比較左走和右走哪個大哪個小,再和之前找出最大值
注意點:1.士兵轉身不考慮。2.最小值求的也是耗時最長的士兵。
#include
using
namespace std;
long
long l, n, maxn, minn, i, a;
intmain()
printf
("%lld %lld"
, minn, maxn)
;return0;
}
5.小魚的航程
思路:這題如果一天一天考慮會超時,不如先算出一周有幾天游泳,再把所有整週週數*每週天數,再加上沒達到整週的天數。
注意點:1.計數器t在進行完第一輪計算後清零。2.小魚的游泳航程最後要乘上250。3.迴圈邊界,當到周8時自動切換到周1。
#include
using
namespace std;
long
long x, x2, n, t, i, t2;
intmain()
// cout 7* t;
t =0;
for(i =
1; i <= n %
7; i++
)// cout(t2 + t)
*250
;return0;
}
線段樹,求和,最值,資料更新
位運算要比加減預算速度快 include includeusing namespace std struct nodetree 1000 2 開的空間至少要4倍.左移兩位就是4倍 void pushup int o void buidtree int o,int l,int r 建樹 int mid...
樹狀陣列區間求和與區間最值
樹狀陣列區間求和 修改的時間複雜度為o logn 查詢的時間複雜度為o logn lowbit函式這個函式的功能就是求某乙個數的二進位制表示中最低的一位1。舉個例子,x 6,它的二進位制為110,那麼lowbit x 就返回2,因為最後一位1表示2。而樹狀陣列的求和與下標的二進位制有關,詳情見圖 a...
AWK求和 平均值 最值
awk求和 平均值 最值 2014 02 14打包當前目錄下的所有檔案ls awk 取範圍 root vm 202 zhuo echo abc 1233 232 jjjj?awk f 1233 232 root vm 202 zhuo echo abc 1233 232 jjjj?awk f jjj...