L_0_Forever_LF的专栏

曾是一个OIer

IOI2017 古书books

乐滋滋在wc上讲的题 对于这类最优化问题,有一个套路是考虑答案的下界,然后判看能不能到达这个下界 首先一个显然的下界是 ∑|i−ai|∑|i−ai|\sum |i-ai| ,但注意到这个下界不够紧,比如序列 1 0 3 2,0和3之间的间隔至少要跨越2次 建一个图,每本书代表一个点,连出一条...

2018-02-11 12:54:20

阅读数:464

评论数:0

BZOJ2330: [SCOI2011]糖果

发现自己学了假的差分约束qaq 有几种关系 x=y/x>y/x>=yx=y/x>y/x>=y 分别对应x>=y,x=y/x−1>=y/x>=yx>=y,x=y/x>=y 所有关系都是形如x+c>=yx+c>=y的形式,要求总...

2018-01-23 17:18:41

阅读数:104

评论数:0

BZOJ1139: [POI2009]Wie

分成2^p层跑最短路…code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath> #incl...

2017-12-11 18:46:07

阅读数:116

评论数:0

BZOJ4070: [Apio2015]雅加达的摩天楼

没判重点一直炸qwq这题看起来就很最短路 但是直接建边明显不行 注意到当p>n√\sqrt n时边数是n√\sqrt n的,总边数nn√n\sqrt n 当p<n√\sqrt n时,可以发现对于p相同,mod p下相同的两个 点我们会建重复很多边 具体来说,如果有x< ...

2017-12-06 20:34:33

阅读数:137

评论数:0

BZOJ3205: [Apio2013]机器人

卡常卡了好久qwq可以先用记忆化搜索搜出每个位置往四个方向走会走到哪,注意判走到已经走过的地方避免死循环 f[l][r][i][j]表示在(i,j)合成机器人l~r的最小花费 有 f[l][r][i][j]=min f[l][r][di][dj]+1 (di,dj)->(i,j) f...

2017-12-06 12:18:44

阅读数:152

评论数:0

BZOJ4383: [POI2015]Pustynia

是个很裸的差分约束? 如果有限制x>y 可以连一条边x->y,-1 代表y<=x-1 即 x>y注意到k个数把区间划分成了k个区间,对于每个限制,新建一个点,k个特殊的数向其连边-1,它向k个区间连边0 线段树优化建图 建好图后如果不是DAG说明有负环,无解 否...

2017-10-01 11:51:13

阅读数:263

评论数:0

BZOJ1097: [POI2007]旅游景点atr

用dijstra求出K个点两两的距离和1到他们,他们到N的距离,然后就可以状压了 可以预处理一下哪些点一定要在i之前走到,转成二进制存在pre[i],这样可以加速判断code:#include<set> #include<map> #include<deque>...

2017-09-23 20:39:30

阅读数:204

评论数:0

codeforces 553E - Kyoya and Train

一个有向图,走每条边有个代价,且花费的时间从1~T有个概率p[e][i],从1到n,若到达时时间超过T,则需要额外X的花费,问期望最小花费令f[i][j]表示在j时刻从i出发到达n的最小期望,因为虽然每条边花费的时间是不确定的,但至少是1,所以(i,j)这个分层图实际上是一个DAG,就可以dp了对...

2017-09-21 12:34:25

阅读数:400

评论数:0

codeforces 827F. Dirty Arkady's Kitchen

给一个无向图,其中的无向边有一些出现时间,人一开始在1号点,每一时刻他都需要不断移动,通过一条无向边的时间是1,问最早能在什么时刻到达n号点(其实并不知道题解在说什么,膜完代码yy了一个感觉差不多的) 最朴素的暴力即记录v[i][j]表示在i这个时间点能否到达j,然后枚举每条边转移,复杂度是O(...

2017-09-20 21:23:18

阅读数:230

评论数:0

BZOJ3482: [COCI2013]hiperprostor

询问不多可以当单次询问做 对于一条A到B的路径,若上面有a条特殊边,他的长度就为ax+b 先将特殊边长视为0,求出f[x][t]表示A到t,走了x条特殊边的最短路 那么A->B=a*x+f[a][B],这些路径的长度对应平面上的若干条直线,a就是这些直线的斜率 如果不存在f[0][B...

2017-04-27 09:29:00

阅读数:473

评论数:0

BZOJ2709: [Violet 1]迷宫花园

二分v(上下移动花费)的值,跑最短路验证code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath&...

2017-04-27 08:52:37

阅读数:244

评论数:0

BZOJ2007: [Noi2010]海拔

首先最优解一定可以是左上的一片区域海拔为0,右下的一片区域海拔为1 证明的话,如果有很多小数的话,对于一个海拔为小数的格子,他的海拔变成相邻的格子中的一个的海拔,一定不比原来劣,那么对于海拔相同的,连在一起的格子视为一个块,这个块的海拔若是小数,他仍然可以按上文的方式合并到其他块,最后只剩一块0...

2017-04-27 08:37:57

阅读数:355

评论数:0

BZOJ 2788: [Poi2012]Festival

差分约束,对于Xa+1=Xb这样的限制连正向反向两条边限制 跑一次Floyd,有负环则无解 然后强联通缩点,不同联通分量答案互不影响,对于一个联通分量,他的答案数是最远点对之间的最短距离+1,然后加起来code:#include<set> #include<map> #...

2017-02-18 10:24:53

阅读数:244

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭