题解P2892 追捕盗贼
February 21, 2019
本篇题解讲述的为非完美做法,但是可以骗到96分
说实话我在网上找了好久结果都是这个O(n2)的非正解树型DP
听说有个O(N)的正解在某篇论文里?
算了反正我也看不懂
所以我接下来就介绍一下这个O(n2)的树型DP吧QwQ
顺手丢一下我学习的这篇blog吧
题解 CF1111C Creative Snap
February 12, 2019
简单递归
首先我们如果要消灭一段区间[l,r],我们可以有三种选择:
- 如果[l,r]区间内没人,那么直接花费A的代价将这段摧毁
- 如果r>l(即这段区间长度>2),可以选择把它切割成[l,⌊2l+r⌋] [⌈2l+r⌉,r]两段
- 如果[l,r]区间内有人,直接花费b(r−l+1)x的代价将其摧毁。
题解 洛谷P5174 圆点
January 28, 2019
题外话
我本来自己想到的的做法是跟别的大多数题解一样的
但是LJC00118大仙跟我讲了他的做法,据说常数更小一些,于是我就过来发(水)题(社)解(区)了(分)。
题解 洛谷4142 洞穴遇险
January 10, 2019
题外话
我们模拟赛考了这题。
模拟赛大概还剩一个半小时的时候,我想出了这题,并且说
“要是我这没A掉,我就不交卷了”
于是我就没有A掉。
其实赛后半个小时左右就调出来了(我才不会告诉你我比赛的时候那个建模是有锅的呢)
题解 CF1096G Lucky Tickets
December 29, 2018
其实我很想吐槽这题
我比赛的时候疯狂WA on test 16
然后死活找不出来哪儿错了
我觉得我数组开小了
于是我开到MLE都没有过掉
最后一看
被一个n = 2的点卡掉了……
才出4题,罚时爆炸,上黄失败,掉分哭唧唧
题解 CF1095D Circular Dance
December 28, 2018
我们令fa[i]为i直接连向的点
那么显然,fa[i]∈{ai,1,ai,2}
假设ai,1为fa[i],那么a2,i∈{afa[i],1,afa[i],2}
否则肯定有a2,i∈{afa[i],1,afa[i],2}
所以,如果有a2,i∈{afa[i],1,afa[i],2},那么fa[i]=ai,1,否则fa[i]=ai,2
题解 洛谷P5003 跳舞的线-乱拐弯
November 21, 2018
一道有点套路化的网格图上DPQwQ
我们用fmin[i][j][0]表示线头在(i,j)这个点的时候,线的方向朝__下__,我们能取到的最小的拐弯次数、用fmin[i][j][1]表示线头在(i,j)这个点的时候,显得方向朝__右__,能够取到的最小的拐弯次数
同理,我们用fmax[i][j][0]与fmax[i][j][1]表示线头在(i,j)位置是线朝下和朝右能够取到的最大的拐弯次数。
接下来,对于有障碍的点,我们直接不处理
显然,答案分别为max(fmax[n][m][0],fmax[n][m][1])与min(fmin[n][m][0],fmin[n][m][1])
题解 CF1070H BerOS File Suggestion
November 19, 2018
对于这题,看到字符串匹配,第一反应想到字符串hash,同时看到$len \leq 8 $ ,考虑对于先给出的n个字符串,O(len2)枚举它的子串,将其加入map中,但是要注意如果一个然后对于每个字符串,我们都统计一下它最后一次出现在哪里(于是就可以顺便判一下重)
然后我们在询问的时候,就可以直接输出这个字符串对应的出现次数以及最后一处出现的位置啦QwQ
题解 CF1068B LCM
November 17, 2018
第一篇题解
我们都知道lcm(a,b)=gcd(a,b)a∗b
∴ alcm(a,b)=agcd(a,b)a∗b=gcd(a,b)b
题目的意思就被我们转化成了求gcd(a,b)b的种类数
又∵b是一个确定的数
∴gcd(a,b)b的种类数就等于gcd(a,b)的种类数
由于a的范围在[1,1018]范围内,所以gcd(a,b)的种类数就等于b的因数个数。
因数个数就可以O(n)求辣QwQ