09 2019 档案

摘要:建议移步 "fsy的博客" 讲的比较清楚 注意判一下边界条件 丢个板 $2019/10/3 UPD:$ 还是决定过来补一个档,讲得可能比较略 我们知道扫描线是用来求解矩形面积并的,那么我们考虑维护一根直线从左到右(或从下到上)扫过整个平面,那么显然直线被矩形们覆盖的长度只在每次经过一个矩形的边界时才 阅读全文
posted @ 2019-09-30 21:23 kma_093 阅读(194) 评论(0) 推荐(0)
摘要:题目链接: "货车运输" 题目分析: kruscal+树剖板套板 首先在一个连通块里的两个点之间的路径上边权最小值的最大值(有点绕)一定在最大生成树上,因为最大生成树使新图连通且边权最大 然后在最大生成树上树剖/倍增求两点路径中的最小值即可,注意边权下放到点后查询时要跳过$LCA$ 图可能不连通($ 阅读全文
posted @ 2019-09-18 09:15 kma_093 阅读(140) 评论(0) 推荐(0)
摘要:题目链接: "走这里" 题目分析: 联想到 "Asteroids" 这道题,将行和列分别作为二分图的两边的点,把点本身作为二分图的边去处理 那么这个题的限制条件打不穿的墙怎么处理呢,发现这样的话 $$ ...X.. $$ 其实左边那段和右边那段在横着考虑的时候是互不影响的,不妨对行和列重新编号 用一 阅读全文
posted @ 2019-09-14 08:56 kma_093 阅读(208) 评论(0) 推荐(0)
摘要:题目链接: "我要长高" 题目分析: 设$dp[i][j]$表示到第$i$个人,他的身高是$j$的时候的最小损失,然后得到一个朴素的转移方程 $dp[i][j] = min(dp[i 1][k] + abs(k j) C + (j a[i]) ^ 2)$ 把无关的丢到$min$外面来 $$ dp[i 阅读全文
posted @ 2019-09-11 21:00 kma_093 阅读(201) 评论(0) 推荐(0)
摘要:题目链接: "点我" 题目分析: 玄学$dp$ 设$val[s[i] 'a' + 1]$表示字母$s[i]$的花费 首先发现对于一个已经回文了的串$s[i, j]$,在$s[i 1]$的位置上删去和在$s[j + 1]$的位置上加上本质上是一样的,所以$val[s[i] 'a' + 1]$直接取增删 阅读全文
posted @ 2019-09-07 09:49 kma_093 阅读(158) 评论(0) 推荐(0)
摘要:很抱歉,这篇文章鸽了 回家了写$QAQ$ $2019/9/5 UPD:$这几天有点累~~太久没熬夜了不太习惯~~只能在机房颓一颓代码,周末回去把笔记本上的推导过程丢上来吧 先丢个代码在这里,坑待补 cpp // luogu judger enable o2 include define int lo 阅读全文
posted @ 2019-09-04 22:02 kma_093 阅读(122) 评论(0) 推荐(0)
摘要:题目链接: "传送门" 题目分析: 线段树妙题,感觉思路奇奇怪怪的,虽然对我来说不是“线段树菜题”($ldx$神仙$blog$原话)$QAQ$ 考虑怎么样维护可合并的信息解决这道题 首先有一个很明显的贪心,一张卡片正反面肯定是能小就小,不带修的话直接就过了 带修的话怎么处理呢,考虑在线段树上维护一个 阅读全文
posted @ 2019-09-04 21:27 kma_093 阅读(206) 评论(0) 推荐(0)