Day0
day0当然是把作业写完好好准备比赛啦!
Day1
T0
跟老班请假,令人激动的是老班欣然同意我翘课去打比赛(不过主要是因为我哪些课程都学过吧)
T1
第一眼,蒙蔽。题目描述着实有点晦涩难懂。然后发现本质很简单。
于是入了并查集的坑,写了0.75+-,突然发现是个裸的树状数组套二分!
然后自信的敲完了~~(flag)
T2
第一眼,这个链得构造,然后发现!这不是树的直径喵??
然后进入1h 100行码速喵喵喵?
T3
拒绝第一眼咯,题目一开始出了歧义,导致我理解错题目。后来订正题面之后,我觉得大概是线段树区间最小值的维护,但是小公主突然变懒,交了暴力开颓喵喵喵?
result
10+100+70=180
T1把[n/2]看错(想当然的理解为)[i/2],所以只有10分喵喵喵?
T2 100。T3暴力居然有70!!www rank51(抱枕好像无望了喵喵喵我要是没看错题多好)
Day2
T1
一眼题 贪心A掉
T2
一眼题
#include<bits/stdc++.h>
using namespace std;
char s[500050];int n,t,h,q[500050],p[500050],rwz,con;
int main()
{
cin>>s;int len=strlen(s);
for(int i=0;i<len;i++)
{
if(s[i]!='('&&s[i]!=')') {n++;continue; }
if(s[i]=='(') {q[++t]=i;continue;}
if(s[i]==')') {p[q[t]]=i,p[i]=q[t];t--;continue;}
}
int i=0;con=1;
while(rwz<n)
{
if(s[i]!='('&&s[i]!=')') {cout<<s[i],rwz++,i+=con;continue;}
if(s[i]=='('&&con==1) {i=p[i]-1,con=-1;continue;}
if(s[i]=='('&&con==-1) {i=p[i]+1,con=1;continue;}
if(s[i]==')'&&con==-1) {i=p[i]+1,con=1;continue;}
if(s[i]==')'&&con==1){i=p[i]-1,con=-1;continue;}
}
//cout<<"rwzsb";
return 0;
}
但是我最后栈写崩了?所以交了暴力喵喵喵。。赛后10min调完是最sad的。
T3
装压 对于每个子集,但是在这里,我算错了时间复杂度O(2^(2^16))但是我误以为是O(2^16)
然后都没想dp就直接搜索了哇哇哇
result
100+40+40=180
T2哇喵喵喵 又没调出来哇哇哇,还有T3沙茶算错时间复杂度,哎我还是菜啊
conclusion
我的码力实在是太弱了,导致我D1T1和D2T2都没调出来,不然我的抱枕啊喵喵喵!
并且D2T3那个沙茶算错复杂度以后不能再犯了!!!!
从现在开始我要虐自己了,码量200行起刷!(逃)加油加油小公主!
另
http://www.tyvj.cn/Contest/961
网址 关于Day1内容可以在该站寻找(P4864-P4869为全部6题)