時限:2s
空限:256mb
這題非常容易想到先做個字首和
(a,b,c)分別表示三個人的粉絲數
不妨變成(a-b,a-c,b-c)
這樣相當於要從前面的字首中選個三維都不一樣的,使異或和最大。
那麼這個可以暴力容斥地建出八種trie(每一維選和不選),然後自高位到低位的貪心,有的話走過去即可。
注意如果有兩維相同第三維也一定相同,所以優化到5種trie
複雜度o(n
log∣
v∣∗5
)o(nlog|v|*5)
o(nlog
∣v∣∗
5),可惜trie的空間有點大,不行
勞動人民的智慧型是無窮的,我們開發trie上動態縮邊技巧,反正最後縮出來的點數就是虛樹的點數,上限是2n,有一點難打,可以看**。
題解利用到了幾個性質:
1是之前說到的要麼一維相同要麼三維相同。
2是我們只要判定是否存在而不用求個數。
於是我們先隨便記乙個(a,b,c)
假設來了(x,y,z)
若完全相等,則記是否存在三維與(a,b,c)不同的即可。
考慮有一維相同,假設就是a=x
記乙個(a』,b』,c』)滿足a』不等於a
再比較,若此時還有一維相同假設b』=y
再記(a』』,b』』,c』』)滿足a』『≠a,b』『≠b』
若還不滿足,再記(a』』』,b』』』,c』』』)滿足a』』『≠a,b』』『≠b』,c』』『≠c』』
其實就是幾個二進位制狀態表示這些數是否存在,似乎有點煩。
我的**是優化trie的:
#include
#define fo(i, x, y) for(int i = x, b = y; i <= b; i ++)
#define ff(i, x, y) for(int i = x, b = y; i < b; i ++)
#define fd(i, x, y) for(int i = x, b = y; i >= b; i --)
#define db double
#define ll long long
#define pp printf
using namespace std;
const
int n =
3e5+5;
int n, opt;
int a[n]
, b[n]
;int ans[n]
;const
int m =
3e6;
int son[m][2
], tot, siz[m]
, len[m]
, t[m]
;map
int> rt[5]
;const
int c =
200005
;ll z2
(ll x, ll y)
int s[n][3
];int f[5]
=;int mk;
int w;
intfz
(int x)
void
split
(int x,
int c,
int l)
#define qw(x, y) ((x) >> (y) & 1)
voiddd(
int&rt)
if(l >0)
}voidad(
int i)
struct wz w[5]
;int
nsiz
(wz w,
int c)
void
move
(wz &w,
int c)
}int
main()
b[i]
^= b[i -1]
;fo(j,0,2
) s[i]
[j]= s[i -1]
[j];
if(a[i]==0
)if(a[i]==1
)if(a[i]==2
) w[0]
.x = rt[0]
[0];
w[1]
.x = rt[1]
[s[i][0
]]; w[2]
.x = rt[2]
[s[i][1
]]; w[3]
.x = rt[3]
[s[i][2
]]; w[4]
.x = rt[4]
[z2(s[i][0
], s[i][1
])];
fo(j,0,
4) w[j]
.l =0;
fd(j,29,
0)if(s)
else
} w = b[i];ad
(i);}fo
(i,1
, n)pp(
"%d "
, ans[i]);
}
2020山東資訊學夏令營遊記
中午在學校集合,和勝利一中的大佬一起乘車去日照的山東外國語職業技術大學。下午到了大學,天空靜靜地下著濛濛的雨,打傘似乎又有些多餘,帶上帽子已足夠。在門口等著車一趟一趟接送到宿舍門口,過了體溫檢查正準備上車,才發現車已經坐滿,便在檢測口後面多等了一趟車。來到宿舍樓下門口,又等教練拿來飯卡,大概等了30...
總結 2019中山紀中資訊學夏令營 8 2
今天又是模擬賽的一天 總分 100 20 0 20 140 排名 99 157 t1佳餚,看了看n 10,萌生了 的想法,想都沒想直接寫了乙個超長的水 後來測試竟然真的ac太n了 很佩服我初生牛犢不怕虎的毅力orz 後來想著要是不行咋辦,所以又寫了乙個正常人的遞迴,也可以a t2取數遊戲,一開始硬沒...
總結 2019中山紀中資訊學夏令營 8 13
相比昨天今天的題異常愉悅 賽時 t1 是簽到題嗎?小r排名倒數第k,那麼他就排名正數第n k 1,將n個學生的成績從小到大排個序,再將小於等於小r 除了他自己 的成績輸出 難道會有坑?貌似沒有 祈求沒有吧 t2 字串比較的話,我只會雜湊和kmp,雜湊走起 將字串雜湊後,比較1i和n i 1n的雜湊是...