一題簡單的分塊操作,聽說要用set卡就打了下但是感覺貌似不用,好像vector處理也能過。
題目鏈結
1 #include2using
namespace
std;
3 typedef long
long
ll;4
const
int maxn = 1e5+10;5
const
int inf = 0x3f3f3f3f;6
int dir[10][10] = ,,,};
7int pos[maxn*2], a[maxn*2], lz[maxn*2
], minn[maxn];
8int
l, r, opt, t, n, c, k;
9set
s[2010]; //
用從大到小就是 set> s[2010];
1011 inline int
read()
1215
while(ch >= '
0' && ch <= '
9')
16return k * f;17}
1819 inline void reset(int
x)20
2425 inline void inser(int l, int r, int
c)26
3233
else
344142}
4344 inline int findy(int l, int r, int
c)45
5354}55
56else
576869}
7071
return
ans;72}
7374
intmain()
7585
86for(int i = 1; i <= n; ++i)
879697}
9899
return0;
100 }
其中有很多地方**都可以更加簡潔一些,比如維護個l,r陣列。但我可能順著思路寫就有點死腦筋,導致檢查起來也不太好看。
用*lower_bound()進行判斷容易卡(別問我為什麼知道。。
第一篇隨筆,不周到之處見諒
opencv minMaxldx尋找最大值和最小值
這個函式等同於 minmaxloc include include include int main int argc,char ar cv mat src 2,3 cv 32fc1,rawdata std cout src endl double minv 0.0,maxv 0.0 double ...
hihoCoder 1496 尋找最大值
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最大。其中and是按位與操作。小ho當然知道怎麼做。現在他想把這個問題交給你。輸入 第一行乙個數t,表示...
hihocoder 1496 尋找最大值
我是真心沒想到,暴力也能過 說好的數學題一般都是有什麼小技巧的麼?到這裡怎麼成了暴力!都是套路啊啊啊啊啊啊!時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最...