CDQ分治
616156
赛高______↑
展开
-
【总结】CDQ分治总结
前言:CDQ分治,严格意义上说并不算一种算法,而是一种思想:将问题分为两部分,先解决左半部分,根据左半部分的信息更新右半部分。我的博客主要是借助三位偏序的模型,来介绍这种算法思想。一维偏序:一维偏序问题非常经典:其实就是我们常说的排序。 那么,排序有哪些方法? 1、归并排序 2、快排 3、堆排序(借助数据结构) …… 我们常用的大约就是以上三种,如果不记得了请自行复习,这几...原创 2018-02-23 07:56:57 · 626 阅读 · 0 评论 -
【CDQ分治】NOI2007货币兑换Cash
分析:非常经典的CDQ版题。。。不知道为什么之前没写博客。。现在补上。首先,不难得到一个会T的DP,定义DP[i]DP[i]DP[i]表示前i天能得到的最大钱数。DP[i]=max{DP[j]∗Ai+DP[j]/ratej∗Bi}DP[i]=max{DP[j]∗Ai+DP[j]/ratej∗Bi}DP[i]=max\{DP[j]*A_i+DP[j]/rate_j*B_i\} 即表示在...原创 2018-07-29 17:32:51 · 311 阅读 · 0 评论 -
【CDQ分治】【斜率优化】【DP】CEOI2017 Building_bridges
题意:给出N个柱子,现在要顺次连接它们(从1连到N),每次连接的代价为高度之差的平方。如果某些柱子不连,那么需要用Wi的代价销毁它。求最小代价。分析:很显然的DP很显然的斜率优化推出来一坨东西后,发现需要满足的斜率(2×hi)(2\times h_i)(2×hi)不是单调的。所以。。。CDQ分治啊。。。先按hih_ihi升序排列。在处理[l,r][l,r][l,r]区间时...原创 2018-10-25 16:36:24 · 508 阅读 · 0 评论 -
【CDQ分治】【FFT】【DP】【最短路】CodeForces553E Kyoya and Train
分析:首先,很容易想到一个会T的DP:定义f(i,j)f(i,j)f(i,j)表示在i号点,用了j单位时间,到达目的地的最小期望代价。转移很显然:f(i,j)=min{Costi−>v+∑f(v,j+k)∗Pi−>v,k}f(i,j)=min\{Cost_{i->v}+\sum f(v,j+k)*P_{i->v,k}\}f(i,j)=m...原创 2018-12-25 09:21:21 · 240 阅读 · 0 评论