复健week2
虽然这周就开始上课了,但是下周才开始上强度,本来准备这周多写点题的,结果发现时间还是玩过去或者睡过去了,呜呜呜。
一道屑题
LG11031 『DABOI Round 1』Completely Unrelated
本来是上周月赛的题,这周一想补一下,结果太 \(\div\) 了交了 \(12\) 发还是过不去,一开始以为是方法有问题,现在觉得可能是打炸了,然后复杂度也分析不清楚,下周再说吧。
三道DP
队里面拉的 dp 题单,基本上都是蓝紫黑,只做了其中三道我还有点思路的,然后也都不是复杂度最优的方法,因为很多科技不会。
[AGC005D] ~K Perm Counting 题解
周四晚自习被迫去图书馆打卡,顺便看了下这个题,首先容斥没想出来,偷看了下题解。然后感觉题解写得有点抽象,自己想了一下也算想明白了。
[AGC026D] Histogram Coloring 题解
周五上午高数课上想的,也算是利用了下无聊时间吧(不会数学考炸了吧,还是老老实实把课本先过一遍)。
[AGC013E] Placing Squares
周五晚上有个社团宣讲,凑热闹去了,结果发现人并不多,顺便想想题。
其实就是推式子然后用矩阵加速优化,题解方法和我包括题解之间都是大同小异,懒得写题解了。特别要注意一下初始状态,仔细想想没那么难。
void init(){t1.a[0][0]=2,t1.a[0][1]=1,t1.a[0][2]=1;t1.a[1][0]=2,t1.a[1][1]=1,t1.a[1][2]=0;t1.a[2][0]=1,t1.a[2][1]=1,t1.a[2][2]=1;t2.a[0][0]=1,t2.a[0][1]=0,t2.a[0][2]=0;t2.a[1][0]=2,t2.a[1][1]=1,t2.a[1][2]=0;t2.a[2][0]=1,t2.a[2][1]=1,t2.a[2][2]=1;
}int main(){scanf("%lld%lld",&n,&m);for(int i=1;i<=m;++i)scanf("%lld",&a[i]);init();martix x;x.a[0][0]=x.a[0][1]=x.a[0][2]=1ll;for(int i=1;i<=m;++i){x=x*fpr(t1,a[i]-1-a[i-1]);x=x*t2;}x=x*fpr(t1,n-1-a[m]);printf("%lld\n",x.a[0][0]);return 0;
}
两场比赛
The 13th Shandong ICPC Provincial Collegiate Programming Contest
周三晚上去基地参加面试机试,考的是山东省赛,额不想说emo小故事了,但是不管心态怎么样,被干爆的事实无法改变()
没签到,然后 E 题其实比较 eazy 还没做,J 题方法假了现在还没重写,L题小清新构造也是非常eazy,但是我码力太差了打了半天。以后有时间慢慢补。
Codeforces Round 972 (Div. 2)
调试能力太差了,细节不说了。以后详细补。
两场复盘
Codeforces Round 970 (Div. 3) 复盘
div3 的话每题都这么写确实有点浪费时间,但是话说回来看手机浪费的时间更多。其实还是有不少收获的。
AtCoder Beginner Contest 370
总体强度并不大,没 A 的 F题比较简单,单纯时间不够加抽象题面弯弯绕绕,G题的话超出能力范围没办法。懒得专门开篇博客了,确实不如 CF 有思维量,整体比较典。
后记
额周末真是摆完了,两个上午睡过去了,还是要改下作息,不然上课又要睡觉了。本来还想复习一下字符串和图论的,不知道下周还有没有那么多时间搞算法。
然后也是联系到了 somecat 巨佬和一些大学学计算机的高中同学,怎么说呢,一起探讨问题还是蛮有学习氛围的。形式上紧张的大学生活还没开始,也不知道自己能在 acm 上能走多远,但不管怎样,先为短期目标(比如CF上个1807分追平一下 ai /kk)而努力吧。