上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 70 下一页
摘要: 我们先把问题分成两部分, 一部分是把元素往前移, 另一部分是把元素往后移。对于一个 i 后的一个位置, 我们考虑前面哪个移到这里来最优。 我们设最优值为val, val = max(a[ j ] * (i - j) - (sum[ i ] - sum[ j ]) 我们能发现这个能转换成斜率优化的形式 阅读全文
posted @ 2019-03-04 15:47 NotNight 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Mike and Fish 我们可以把这个模型转换一下就变成有两类点,一类是X轴, 一类是Y轴, 每个点相当于对应的点之间建一条边, 如果这条边变红两点同时+1, 变蓝两点同时-1。 我们能发现这个图其实是个二分图, 我们可以随便取一个点开始走路, 红蓝间隔开来,那么中间的点就权值不变, 对于最末尾 阅读全文
posted @ 2019-03-04 00:31 NotNight 阅读(83) 评论(0) 推荐(0) 编辑
摘要: Little Victor and Set 其他都很好求, 只有k == 3的时候很难受。。 我们找到第一个不大于l的 t, 答案为 l, 3 * t, (3 * t) ^ l 感觉好像是对的, 感觉又不会证明, 啊, 我好菜啊。 阅读全文
posted @ 2019-03-03 21:44 NotNight 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Envy 感觉这种最小生成树上的啥题都差不多的解法。。 阅读全文
posted @ 2019-03-03 18:59 NotNight 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Number Transformation 我们能发现这个东西是以2 - k的lcm作为一个循环节, 然后bfs就好啦。 阅读全文
posted @ 2019-03-03 17:18 NotNight 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Treeland Tour 离散化之后, 每个节点维护上升链和下降链, 感觉复杂度有点高, 为啥跑这么快。。 阅读全文
posted @ 2019-03-03 15:59 NotNight 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Freelancer's Dreams 我们把每个二元组看成是平面上的一个点, 那么两个点的线性组合是两点之间的连线, 即x * (a1, b1) + y * (a1, b1) && x + y == 1, 那么n个点的线性组合就是一个凸包, 那么我们求出凸包和(0, 0)到(p, q)直线的交的那 阅读全文
posted @ 2019-03-03 14:30 NotNight 阅读(143) 评论(0) 推荐(0) 编辑
摘要: const double PI = acos(-1); int dcmp(double x) { if(fabs(x) 1 && dcmp(Cross(ch[m - 1] - ch[m - 2], p[i] - ch[m - 2])) = 0; i--) { while(m > k && dcmp(Cross(ch[m - 1] - ch[m - 2], p[i] -... 阅读全文
posted @ 2019-03-03 13:36 NotNight 阅读(160) 评论(0) 推荐(0) 编辑
摘要: Name That Tune 刚开始我用前缀积优化dp, 精度炸炸的。 我们可以用f[ i ][ j ] 来推出f[ i ][ j + 1 ], 记得加加减减仔细一些。。。 阅读全文
posted @ 2019-03-01 20:44 NotNight 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Darth Vader and Tree 感觉是个很裸的矩阵快速幂, 搞个100 × 100 的矩阵, 直接转移就好啦。 阅读全文
posted @ 2019-03-01 15:37 NotNight 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 70 下一页