fangzichang
2024-10-27 21:44:44
早上被吵醒了,但是不想起,就摆到了六点五十,没被抓包。
早上摆,打一款可以认为是 D 开头 L 结尾的。
中午前往生活体验广场。
坐车,发现手机只有 40% 电。
打雀魂。怎么 L 开头 r 结尾的这么菜。
怎么有实力哥早上物理下午 OI,慕了。
不想打雀魂了就准备看番。开始看芙莉莲,看了一集。
车子晚点了,一点多到的。和小王住一间,但是寝室里有七个人,这是为什么呢?
没有人愿意借我充电器/fn
寝室里五个人在打另一款可以认为是 D 开头 L 结尾的。
小王不知道在玩什么,挺吵的。
要充电器花了十几分钟,最后一点半尝试睡觉,一点五十被叫起来的时候还是成功进入迷糊状态,感觉还行。
房间里的水忘了拿了。
车上有神秘人坐我右边。
到了高贵的绍一。感谢热心家长送上的水。
进场走错楼层了。
进场。监考老师好好看。
和某人借了橡皮,然而并没有用,因为涂卡笔附了一个。
开场,然而没有手表。T1 猜了,然后冲刺!吨吨吨。四元环算出来 210,继续冲刺!吨吨吨。最小割算出来 3,继续冲刺!吨吨吨。阅读 12 爆算都跳了,接着冲刺!吨吨吨吨。冲完后面回头爆算阅读,大概一个小时做完。吨吨吨吨。
然后发现最小割计数错了。然后吨吨吨吨。然后想上厕所,但是不想举手,于是憋着。憋到了最后,中间随机验算了一下,基本很摆。
发现 A 好多,又检查了一次。
感觉那个快排好奇怪。检查。
感觉那个二叉树哈希好奇怪。检查。
感觉试卷给我的压力没有农夫山泉给我的压力多。
然后出场。发现我 A 比别人少一个,二分上界挂了。 无语了。原来我感觉 A 太多了就砍了一个。
什么 0x1f1f1f1f???逆天吧。
什么最小割计数??哦我对了。
什么四元环??我草,乘圆排列再除以二。死了。
判断还错了一个,原来我算错了。
90.5/jy
汉堡套餐好吃。
手机没电了,无语。
看五个人打 D 开头 L 结尾。然后看小王打 D 开头 L 结尾。
GPT 做了 84?80?这么逆天。
听说漏题了,不知道咋回事。希望和我无关吧。
模拟赛。
连续很多场终于调整出比赛策略了。
但是没有一场上 300!!
晚上出发。
抽卡,蓝礼物。
入住入住过多次的酒店。
遇到嘉兴一中的大神了,但是我看到某兴一中的字样只能想起来绍一,然后询问了 cyf。差点丢脸丢到外面去。
晚上点肠粉,但是没加蛋没加生菜,输完了。
【数据删除】
我草怎么 CSP 在明天下午而不是后天下午。
似乎六点左右醒了一次。
七点的闹钟和七点半的闹钟。
状态没想象中那么差?
摸了一会儿去吃饭了。感觉比去年同时间的菜少?
去会议室自习,怎么没插排?过一会有了。
质感好廉价的桌布。
Wi-Fi,应该说云安全平台,把洛谷杀了,上不去。
试图复习数论,学会了错排和 CRT。什么我怎么这个点才学错排和 CRT。
没有学会 exgcd。没有学会 kmp。我学个 P 信息竞赛啊。
小王启动猴了。
启动空洞骑士。
打四锁一门。死在了假骑士。死在了假骑士。死在了假骑士。死在了假骑士。死在了假骑士。死在了假骑士。
复建辐辉三螳螂。打了六七次才过。
骨钉不如法术实锤了!leoair 法术几次就过了。
复建小姐姐。失败。
辐了一生之敌:大型苔藓冲锋者。
见到了远近闻名无人不知的*强。
吃饭。感觉和去年不太一样?
docx 外送了一份吮指原味鸡。三角鸡块。好吃。
回房间十二点半,躺下去都十二点四十了。
发现自己没时间买食物了。
一点二十起来。躺了好一会不想动。
我草怎么 CSP 在今天下午而不是明天下午。
三十五分堪堪出寝室。被 06 嘲笑了。
下雨。
进场。差点没地方放包。
似乎没有人有多余食物。
leoair 赠送一支笔两包百草园每日坚果。拜谢 leoair。
进场。发现右边是偶像 FXT(被鼠标灵敏度击杀)。再右边一点是 uleaf,这个已经预见到了。
登录密码 123456,通过窃听对话获得。
坐了一会。不敢启动 Emacs。发现考生须知里的 Emacs 打错了,好像打成了 Emcas。
密码好神秘。第一次听解压密码的时候听错了。
第一题叫 duel,魔怔。
读题,读了一会(应该是两个题)开始敲缺省源。
开场十分钟敲完了。顺便测了一下刚学会用的 fsanitize!!!
然后读题。T4 什么东西没看明白。
前三题好像都 easy?
写 T1。想了想发现排序会很唐,不如记个桶。
忘了多久,可能是三点十分写完了。精确时间代码公布之后再改。
三点零四分写完了。
发现自己的快写里传了引用,贻笑大方了。
写 T2。没想到二分直接解公式了。写 wind 还是啥的时候好像也是这样??
发现 fsanitize=address 和 ulimit -v 发生化学反应,权衡之后放弃了 ulimit -v。
写了一会,可能是写了四十分钟 15:39 写完了。用了忘了几个 eps,并且我的取整全是 ceil?好魔怔。
大样例应该是一次全过了。
水已经喝了大半瓶了!!我应该多带点水的。
写 T3。发现算法萎了。
然后先把相邻相同的计算贡献并且缩到一起。
弄了一个
转移之一继承上一个
然后发现很唐,我可以直接在
其实只需记最后一个和某位置相等的位置转移就是对的了?我不知道。
然后不放心挂上了拍子。其实当时就知道哪里错了,但是魔怔的没改。
我草这题这么简单你们都 AK 了吧????
16:17 写完三题。此时还有两个小时。水要喝完了!!
写 T4,发现离线算所有答案,然后二叉树建出来,然后跳,然后分类讨论。
并没有发现这个复杂度过不去!!!
然后写写写。FXT 好像也在写。
头脑很不清醒的写完了。
发现挂了。但是发现 T3 拍出锅了!!!
一万多组 n^3 能过的数据。具体数字等代码。
回去找到了原来就知道的那个问题。没清空到 n+1 然后继承了上一组然后挂了。特判 i=n 即可。
然后还剩一小时十五分钟?可能。
水好像喝完了,也可能剩一口。
想去卫生间了。
然后调调调。发现若干脑瘫错误。发现各种编号位移平行对换。
大概还剩 20min 多点的时候去了卫生间。很快就不给去了。
感觉表现的很蠢,志愿者可能把我当啥比了。
然后调了调,发现题读错了,得和当前轮数而不是比赛次数比。
然后 18:19 过了样例一!挂了二!过了三!挂了四!没测五!
在右儿子的情况感觉很对了,左儿子的按照我觉得对的写法写就过不去样例了,最后直到下播都没调出来。
希望有分。
检查了文件,抄了字节数,走了。
很遗憾。出考场发现人均三题,好像有人没过 T3,我 T3 写唐了。
dalao_see_me AK 了。uleaf AK 了。
dalao_see_me 试图教会我,失败。
吃饭。感觉好多菜很辣。
回去了。爸妈接我出去住一晚上。无语了,只休息一天??
梦见自己 T3 挂了。
早上起得不晚。八点多。
吃完饭出去买衣服。两件 T 恤一件我不好说什么东西。格子衫?
自拍了,好可爱。
蜜雪冰城。柠檬水。
出去转了转。去了主机市最知名风景区之一,然而去过了。感觉不如雀魂。
雀魂,这几天总的还挺好调的。
吃饭。鱼汤好喝。
下午水了一会走了。
氪了御守。我是什么东西。
抽卡,蓝礼物。
本来想多住一晚的,被拒。
回学校就去寝室躺着玩手机打摆了。
一直玩到天黑。晚饭都没,来得及吃。
先雀了一会,然后关于地球的运动,然后和 Missa 老师聊天。Missa 老师可爱。
被拉进某个大神群了。惶恐。
然后晚上没水成。看了一会 lyx 打空洞,自己电脑不知道为啥特别卡,加上硬盘落寝室里了,只能玩 leoair 的远古档,就没玩。
【数据删除】
然后写游记。我咋这么魔怔。
【数据删除】
吃饭的时候整碗掉地上了,-=22r。
rp 会增加吗?
出分了。
某机构跳票两次,Team Cherry 附体吗。
100+100+100+16,意料之中。
你们咋都比我高?????
能不能去 WC 啊。
AK 了一车,390+ 一车,340+ 一车。
火大!!!!!
#include<bits/stdc++.h>
//my idol fxt is next to me!
//just at my right seat.
//really cool.
//15:04 ok.
#define debug(x) fprintf(stderr,"Line %d, %s = %lld\n",__LINE__,#x,(ll)(x))
#define debugline fprintf(stderr,"-------------------------\n")
#define gc getchar_unlocked
#define pc putchar_unlocked
#define Inf (int)(INFINITY)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define endl '\n'
#define y second
#define x first
using namespace std;
const int N=1e5+10,V=1e5;
void read(){}
template<class T,class ...T2>
inline void read(T&ret,T2&...rest){
ret=0;char c=gc();bool f=0;
for(;!isdigit(c);c=gc())f=c=='-';
for(;isdigit(c);c=gc())ret=ret*10+c-'0';
f&&(ret=-ret),read(rest...);
}
#define cin(...) read(__VA_ARGS__)
template<class T>
inline void print(T x){
static short s[35];short t=0;
bool f=(x<0);if(f)x=-x;
do s[t++]=x%10;while(x/=10);
f&&pc('-');for(;t;)pc(s[--t]+'0');
}
int n,res,a[N],c[N];
int main(){
#ifdef local
freopen("duel4.in","r",stdin);
#else
freopen("duel.in","r",stdin);
#endif
freopen("duel.out","w",stdout);
cin(n);
for(int i=1;i<=n;i++)
cin(a[i]),c[a[i]]++;
for(int i=1,t=0,s=0;i<=V;i++)
t=min(s,c[i]),res+=t,s+=c[i]-t;
print(n-res),pc(endl);
return 0;
}
//g++ duel.cpp -o test -Wall -Wextra -Og -std=c++14 -Dlocal -g -fsanitize=address,undefined
//diff -s duel.out duel4.ans
#include<bits/stdc++.h>
//15:39. ok.
#define debug(x) fprintf(stderr,"Line %d, %s = %lld\n",__LINE__,#x,(ll)(x))
#define debugline fprintf(stderr,"-------------------------\n")
#define gc getchar_unlocked
#define pc putchar_unlocked
#define Inf (int)(INFINITY)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define endl '\n'
#define y second
#define x first
using namespace std;
const int N=1e5+10,M=1e6+10;
void read(){}
template<class T,class ...T2>
inline void read(T&ret,T2&...rest){
ret=0;char c=gc();bool f=0;
for(;!isdigit(c);c=gc())f=c=='-';
for(;isdigit(c);c=gc())ret=ret*10+c-'0';
f&&(ret=-ret),read(rest...);
}
#define cin(...) read(__VA_ARGS__)
template<class T>
inline void print(T x){
static short s[35];short t=0;
bool f=(x<0);if(f)x=-x;
do s[t++]=x%10;while(x/=10);
f&&pc('-');for(;t;)pc(s[--t]+'0');
}
const double eps=1e-8;
pii rg[N];
struct Car{int d,v,a;}c[N];
int T,n,m,t,cnt,res,L,V,p[N],s[M];
int main(){
#ifdef local
freopen("detect5.in","r",stdin);
#else
freopen("detect.in","r",stdin);
#endif
freopen("detect.out","w",stdout);
for(cin(T);T;T--){
cin(n,m,L,V),fill(s,s+L+1,0),t=cnt=res=0;
for(int i=1,d,v,a;i<=n;i++)
cin(d,v,a),c[i]={d,v,a};
for(int i=1;i<=m;i++)
cin(p[i]),s[p[i]]++;
partial_sum(s+1,s+L+1,s+1);
static auto calc=[](int v,int a)
->double{return (V*V-v*v)*1./(a*2);};
static auto calc2=[](int d,int v,int a)
->double{return sqrt(v*v+2*a*(L-d));};
for(int i=1,ps;i<=n;i++){
if(c[i].a==0){
if(c[i].v>V)rg[++t]={c[i].d,L};
}
else if(c[i].a<0){
if(c[i].v>V){
ps=min(L,(int)(ceil(c[i].d+calc(c[i].v,c[i].a)-eps)-1));
rg[++t]={c[i].d,ps};
}
}
else if(c[i].a>0){
if(c[i].v>V)rg[++t]={c[i].d,L};
else if(calc2(c[i].d,c[i].v,c[i].a)-eps>V){
ps=min(L+1,(int)(ceil(c[i].d+calc(c[i].v,c[i].a)+eps)));
if(ps<=L)rg[++t]={ps,L};
}
}
}
sort(rg+1,rg+t+1,[](pii a,pii b){return a.y!=b.y?a.y<b.y:a.x<b.x;});
for(int i=1,j=0;i<=t;i++){
if(!(s[rg[i].y]-(rg[i].x==0?0:s[rg[i].x-1])))continue;
else{
cnt++;
if(p[j]>=rg[i].x)continue;
else{
for(res++;j<=m&&p[j]<=rg[i].y;j++);
j--;
}
}
}
print(cnt),pc(' '),print(m-res),pc(endl);
//I believe it's ok.
}
return 0;
}
//g++ detect.cpp -o test -Wall -Wextra -Og -std=c++14 -Dlocal -g -fsanitize=address,undefined
//diff -s detect.out detect5.ans
#include<bits/stdc++.h>
//16:17 ok.
//but is it right?
//really strange.
//16:27 pai.
#define debug(x) fprintf(stderr,"Line %d, %s = %lld\n",__LINE__,#x,(ll)(x))
#define debugline fprintf(stderr,"-------------------------\n")
#define gc getchar_unlocked
#define pc putchar_unlocked
#define Inf (int)(INFINITY)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define endl '\n'
#define y second
#define x first
using namespace std;
const int N=2e5+10,M=1e6+10,V=1e6;
void read(){}
template<class T,class ...T2>
inline void read(T&ret,T2&...rest){
ret=0;char c=gc();bool f=0;
for(;!isdigit(c);c=gc())f=c=='-';
for(;isdigit(c);c=gc())ret=ret*10+c-'0';
f&&(ret=-ret),read(rest...);
}
#define cin(...) read(__VA_ARGS__)
template<class T>
inline void print(T x){
static short s[35];short t=0;
bool f=(x<0);if(f)x=-x;
do s[t++]=x%10;while(x/=10);
f&&pc('-');for(;t;)pc(s[--t]+'0');
}
ll res,f[N][2],g[M][2];
int T,n,a[N];
int main(){
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
for(cin(T);T;T--){
cin(n),res=0;
for(int i=1;i<=n;i++){
cin(a[i]);
if(a[i]==a[i-1])
res+=a[i],i--,n--;
}
for(int i=0;i<=n;i++)
memset(f[i],0x80,sizeof(f[i]));
for(int i=0;i<=V;i++)
memset(g[i],0x80,sizeof(g[i]));
f[0][0]=0;
for(int i=1;i<=n;i++){
for(int j:{0,1})
f[i][j]=max({f[i-1][0],f[i-1][1],(i==n?0:g[a[i+1]][j^1]+a[i+1])});
//ohhh
//pai gua le
//wa on test 11685
for(int j:{0,1})
g[a[i]][j]=max(g[a[i]][j],f[i][j]);
}
print(max(f[n][0],f[n][1])+res),pc(endl);
}
return 0;
}
//g++ color.cpp -o color -Wall -Wextra -Og -std=c++14 -Dlocal -g -fsanitize=address,undefined
//diff -s color.out color2.ans
//ulimit -s 524288
//ulimit -m 524288
#include<bits/stdc++.h>
#define debug(x) fprintf(stderr,"Line %d, %s = %lld\n",__LINE__,#x,(ll)(x))
#define debugline fprintf(stderr,"-------------------------\n")
#define gc getchar_unlocked
#define pc putchar_unlocked
#define Inf (int)(INFINITY)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define endl '\n'
#define y second
#define x first
using namespace std;
const int N=2e3+10;
void read(){}
template<class T,class ...T2>
inline void read(T&ret,T2&...rest){
ret=0;char c=gc();bool f=0;
for(;!isdigit(c);c=gc())f=c=='-';
for(;isdigit(c);c=gc())ret=ret*10+c-'0';
f&&(ret=-ret),read(rest...);
}
#define cin(...) read(__VA_ARGS__)
template<class T>
inline void print(T x){
static short s[35];short t=0;
bool f=(x<0);if(f)x=-x;
do s[t++]=x%10;while(x/=10);
f&&pc('-');for(;t;)pc(s[--t]+'0');
}
ll res,f[N][N];
int T,n,a[N];
int main(){
freopen("color.in","r",stdin);
#ifdef local
freopen("color0.out","w",stdout);
#else
freopen("color.out","w",stdout);
#endif
for(cin(T);T;T--){
cin(n),res=0;
if(n>1e2)return 0;
for(int i=1;i<=n;i++){
cin(a[i]);
if(a[i]==a[i-1])
res+=a[i],i--,n--;
}
for(int i=0;i<=n;i++)
memset(f[i],0x80,sizeof(f[i]));
f[0][0]=0;
for(int i=1;i<=n;i++)
for(int j=0;j<i;j++){
f[i][j]=f[i-1][j];
for(int k=0;k<j;k++)
f[i][j]=max(f[i][j],f[j][k]+(a[j+1]==a[k]?a[k]:0));
}
print(*max_element(f[n],f[n]+n)+res),pc(endl);
}
return 0;
}
//g++ color0.cpp -o color0 -Wall -Wextra -Og -std=c++14 -Dlocal -g -fsanitize=address,undefined
//diff -s color.out color1.ans
//ulimit -s 524288
//ulimit -m 524288
#include<bits/stdc++.h>
//16:30. now i have 2 hours to solve arena.
//17:15. now i have 1 h 15 min to solve
//18:19. now i passed sample 1.
//WA on sample 2.
#define debug(x) fprintf(stderr,"Line %d, %s = %lld\n",__LINE__,#x,(ll)(x))
#define debugline fprintf(stderr,"-------------------------\n")
#define gc getchar_unlocked
#define pc putchar_unlocked
#define Inf (int)(INFINITY)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define endl '\n'
#define y second
#define x first
using namespace std;
const int N=131072+10,M=18;
void read(){}
template<class T,class ...T2>
inline void read(T&ret,T2&...rest){
ret=0;char c=gc();bool f=0;
for(;!isdigit(c);c=gc())f=c=='-';
for(;isdigit(c);c=gc())ret=ret*10+c-'0';
f&&(ret=-ret),read(rest...);
}
inline void read(string&s){
s=" ";char c=gc();
for(;isspace(c);c=gc());
for(;isgraph(c);c=gc())s+=c;
}
#define cin(...) read(__VA_ARGS__)
template<class T>
inline void print(T x){
static short s[35];short t=0;
bool f=(x<0);if(f)x=-x;
do s[t++]=x%10;while(x/=10);
f&&pc('-');for(;t;)pc(s[--t]+'0');
}
string str;
bool d[M][N],val[N];
ll sum[N],res[N],output;
int n,m,k,T,dt[4],_a[N],a[N],qr[N],w[N],pos[N];
int main(){
#ifdef local
freopen("arena3.in","r",stdin);
#else
freopen("arena.in","r",stdin);
#endif
freopen("arena.out","w",stdout);
cin(n,m);
for(int i=1;i<=n;i++)cin(_a[i]);
for(int i=1;i<=m;i++)cin(qr[i]);
for(k=0;(1<<k)<n;k++);
debug(k);
for(int t=1;t<=k;t++){
cin(str);
for(int i=1;i<=(1<<(k-t));i++)
d[k-t+1][i]=(str[i]=='1');
}
for(cin(T);T;T--){
for(int i=0;i<4;i++)cin(dt[i]);
for(int i=1;i<=n;i++)a[i]=_a[i]^dt[i%4];
res[1]=1;
// cerr<<"Res: (1,0) ";
for(int i=2,u,k;i<=n;i++){
// k=__lg(i),
for(k=0;(1<<k)<i;k++);
u=((1<<k)-1)+i;
ll f[2]={i,0};
// int flg=0;
// if(i==5)flg=1;
if(i-1==(1<<(k-1))){
for(int j=1;j<=(1<<k);j++)
w[((1<<(k))-1)+j]=sum[((1<<(k))-1)+j]=j;
for(int ix=k;ix>=1;ix--){
for(int i=(1<<(ix-1)),pt=1;i<(1<<ix);i++,pt++){
val[i]=d[ix][pt],pos[i]=k-ix+1;
if(d[ix][pt])
w[i]=(a[w[i*2+1]]>=pos[i]?w[i*2+1]:w[i*2 ]);
else
w[i]=(a[w[i*2] ]>=pos[i]?w[i*2 ]:w[i*2+1]);
sum[i]=sum[i*2]+sum[i*2+1];
}
}
}
for(;u>1;u>>=1){
if(u&1){
if(val[u>>1]){
if(a[f[0]]<pos[u>>1])
f[0]=w[u-1];
}
else{
if(a[w[u-1]]>=pos[u>>1])
f[1]=0,f[0]=w[u-1];
}
}
else{
if(val[u>>1]){
f[1]+=sum[u+1];
}
else{
if(a[f[0]]<pos[u>>1])
f[0]=0,f[1]+=sum[u+1];
}
}
}
res[i]=f[0]+f[1];
}
output=0;
for(int i=1;i<=m;i++)
output^=(i*res[qr[i]]);
print(output),pc(endl);
// debugline;
}
return 0;
}
//g++ arena.cpp -o test -Wall -Wextra -Og -std=c++14 -Dlocal -g -fsanitize=address,undefined
//diff -s arena.out arena1.ans
//ulimit -s 524288
//ulimit -m 524288