Googol
简单的交互题,就是需要高精除极为麻烦,略过。
Palindromic Paths
比较好的dp题。
首先我们可以枚举回文串的长度。枚举一个a,则回文串长度为2a-1
显然从中间那条斜线开始。
然后我们可以观察到,对于一个a,字符串的最后的字符位于一条斜线上。
也就是说,在特定的a下,对于字符串最后一个字母c,在知道其横坐标x的情况下,是可以算出其纵坐标
那么我们可以定义状态dp[a][x1][x2]表示在a的情况下,左边端点的横坐标为x1,右边端点的横坐标为x2,满足条件的回文串的个数。
然后把a那个维度给滚掉。
经过简单的转移即可求得答案。
时间复杂度O(n3),空间复杂度O(n2),略微卡一下常数即可。
Trapped in the Haybales
高调表示这是自己写过的最牛逼的贪心。
首先这题的切入点是草垛的质量。
我们按照质量排序,然后依次把草垛放到直线上。
每次加入一个草垛(位置为p),看看它左边的草垛(如果有的话)
如果
else
观察如果哪边可以撞翻当前该草垛,那么把[l,p]或者[p,r]加入答案。
因为草垛的质量是从大到小排序的,那么l和
关于怎么维护,用一个set存位置,用一个map标记即可。
相信绝大多数同学卡在按照位置排序然后预处理啊并查集啊一起乱搞啥都没搞出来上了==