摘要: 期望dp n久以前做过,再做一遍 你只能决定决策,不能决定结果,这是这道题的关键,因为我们换了教室不一定成功,所以我们应该这样设dp状态,dp[i][j][k],第i天,换j次,换没换,转移: dp[i][j][0] = max(dp[i-1][j][0] + dis[c[i-1]][c[i]], 阅读全文
posted @ 2017-09-15 15:04 19992147 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 线性筛+莫比乌斯反演 盗波图 来自candy?大神 反演很重要的一条公式就是[gcd(i,j)==1]= 线性筛怎么推呢? 我们分4个步骤,1.先推出f[1],2.推出f[p],p是一个质数,3.由于线性筛筛的是积性函数,那么当gcd(i,p[j])==1的时候,f[i*p[j]]=f[i]*f[p 阅读全文
posted @ 2017-09-15 12:11 19992147 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 二分+树剖+差分 之前的做法naive,莫名其妙的wa,明明uoj95分 看到最小最大上二分,树上路径问题直接剖,然后问题就转化成了一个判定问题,每次二分出最长路径长度,问能不能达到。那么我们就把所有长度大于二分出的d的路径拉出来,求出他们公共路径的最大长度,看减去能不能满足。那么现在的问题就转化成 阅读全文
posted @ 2017-09-15 11:56 19992147 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 后缀数组+kmp+set 前两个条件很好搞,后缀数组求lcp然后看相邻两个后缀是不是分别属于不同的串,是的话所有lcp的max就是答案,但是现在有了第三个限制就很麻烦了。 我们先把第三个串在第一个串上跑kmp,把所有匹配位置的结束点放进set里,然后像之前一样查lcp,每次查的时候在set里查询当前 阅读全文
posted @ 2017-09-15 07:59 19992147 阅读(134) 评论(0) 推荐(0) 编辑