原題是cfdiv1的一道b題,虛假2000分,其實只是個單調棧板子。
題意:先求在乙個任意連續區間裡的最大值和次大值,求二者異或值。然後最終輸出所有異或值的最大值。
思路:在任意區間裡找到第乙個比該位置數大的數,便是乙個區間的最大值和次大值了,然後正序逆序各跑一遍,不然會有疏漏,最終單調棧維護o(n)解決問題即可。
ac**
#include
#include
#include
using
namespace std;
const
int n =
1e5+4;
#define ll long long
ll l[n]
,r[n]
,a[n]
;int
main()
stack s;
for(ll i=
1;i<=n;i++
)while
(!s.
empty()
) s.
pop();
for(ll i=n;i>=
1;i--
)long
long ans=-1
;for
(ll i=
1;i<=n;i++
)printf
("%lld\n"
,ans)
;}
2020牛客多校第五場H
乙個數轉為二進位制後,最多有log位,所以減小後的個數最多只有log位,加上二分,複雜度為平方級的,主席樹也是log級的,所以總複雜度為 nlog2n mlogn 可能常數偏大 ac include include include include include include include de...
2020五校聯考NOIP 2 矩陣
咕咕咕到現在 題面傳送門 題意 給出乙個 n times n 的矩陣 a 要你求有多少個 n times n 的矩陣 b 滿足 我們考慮條件三。f b 的字典序小於 f a 的字典序 意味著我們可以列舉第乙個 f a i的位置然後統計答案。假設第乙個不相等的位置為 i 行 j 列。那麼矩陣 b 的前...
2020牛客多校第七場H
題目鏈結 任何 1,k 是有效答案。如果 n,k 是有效答案,那麼 n k,k 和 n k,k 都是有效答案。給出t組,n和k 範圍1 1e12 求出 n,k 在n n,k k範圍內的有效個數。在k不變的情況下,n的取值範圍只可能是k的倍數,或者k的倍數 1,可以o 1 算出當前k對應的答案個數。即...