摘要:
题意 "题目链接" Sol 很套路的题 直接考虑每个边的贡献,最后再把奇数点的贡献算上 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second define int l 阅读全文
posted @ 2018-12-06 21:50
自为风月马前卒
阅读(244)
评论(0)
推荐(0)
摘要:
题意 "题目链接" Sol 我是这样考虑的:从大到小考虑每个$l, r$,最大的$l$应该和最大的$r$匹配(不然就亏了),其次次大的$r$应该和次大的$l$匹配 然后就过了。。 cpp / / include define Pair pair define MP(x, y) make_pair(x 阅读全文
posted @ 2018-12-06 21:48
自为风月马前卒
阅读(274)
评论(0)
推荐(2)
摘要:
题意 "题目链接" Sol 好好读题 = 送分题 不好好读题 = 送命题 开始想了$30$min数据结构发现根本不会做,重新读了一遍题发现是个傻逼题。。。 $C_{i, j} = a[i] b[j]$ 根据乘法分配律,题目就变成了在数组$a, b$中分别选一段连续的区间,要求权值和相乘$ defin 阅读全文
posted @ 2018-12-06 21:46
自为风月马前卒
阅读(365)
评论(2)
推荐(0)
摘要:
题意 "题目链接" Sol 看完题不难想到最小路径覆盖,但是带权的咋做啊?qwqqq 首先冷静思考一下:最小路径覆盖 = $n \text{二分图最大匹配数}$ 为什么呢?首先最坏情况下是用$n$条路径去覆盖(就是$n$个点),根据二分图的性质,每个点只能有一个和他配对,这样就保证了,每多出一个匹配 阅读全文
posted @ 2018-12-06 18:44
自为风月马前卒
阅读(242)
评论(0)
推荐(0)
摘要:
题意 "题目链接" Sol 不会做Orzzzz 想到了和题解一样的方程,但是根本不会转移 具体题解看 "这里" 吧 大致思路就是先推一波性质,然后对于最后一个位置上的数$i$,分两种情况讨论一下:与$i 1$相邻 / 不相邻, cpp include define chmin(x, y) (x = 阅读全文
posted @ 2018-12-06 16:48
自为风月马前卒
阅读(206)
评论(0)
推荐(0)
摘要:
题意 "题目链接" Sol 首先一个很显然的思路是直接用$f[i][j] / g[i][j]$表示$i$的子树中选了$j$个节点,该节点是否选的最小权值。但是直接这样然后按照树形背包的套路转移的话会有一种情况无法处理,就是说该节点不选,儿子节点也不选,这样我们就不清楚儿子节点的子节点的贡献了 一种暴 阅读全文
posted @ 2018-12-06 15:59
自为风月马前卒
阅读(304)
评论(0)
推荐(0)
摘要:
题意 "题目链接" Sol 下面是错误做法,正解请看 "这里" 考虑直接用K D tree模拟。。 刚开始想的是维护矩形最大最小值,以及子树中最大圆的位置,然后。。。 实际上最大圆的位置是不用维护的,直接把原序列排一遍序就可以了 再努力卡卡常就过了 如果还过不了的话可以尝试把所有点都转一个角度 cp 阅读全文
posted @ 2018-12-06 11:36
自为风月马前卒
阅读(418)
评论(0)
推荐(0)