![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
apio
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ2811: [Apio2012]Guard
先将序列中不可能有忍者的位置标出来 如果剩下的位置恰好有K个,要特判直接全部输出然后将每个区间缩掉两端的0 如果存在某两个区间A,B,A包含B,那么A是不必要的 处理完后剩下的区间两两互不包含,按右端点排序后,从左到右左右端点递增 易知只有每个区间的右端点有可能一定有忍者,因为贪心的放肯定是放右端点更优用f[i]表示保证了1~i区间的限制最少需要几个忍者,g[i]表示保证了i~n的区间限制至原创 2017-12-05 11:14:04 · 270 阅读 · 0 评论 -
BZOJ3206: [Apio2013]道路费用
表达一下深深的怨念题面保证了边权互不相同,然鹅我做这题的时候狂WA不止,对拍只有边权相同的时候能拍出来,交到uoj上也过了 我就怀疑数据有问题qwq 于是扒了一个AC代码,加了判如果有相同边权,输出了一些脏话qwq 然后0msWA了 注释掉这行 A掉了 …….要了数据 这数据…一半以上一堆相同边权的吧….边权互不相同保证了不考虑操作边的MST唯一,不保证相同边权…似乎不太可做? 辣鸡原创 2017-12-05 11:28:28 · 377 阅读 · 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[l][r][i][j]=min(f[l][k][i][j]+f[k+1][j][i][j]) 对于第二个转原创 2017-12-06 12:18:44 · 484 阅读 · 0 评论 -
BZOJ4070: [Apio2015]雅加达的摩天楼
没判重点一直炸qwq这题看起来就很最短路 但是直接建边明显不行 注意到当p>n√\sqrt n时边数是n√\sqrt n的,总边数nn√n\sqrt n 当p<n√\sqrt n时,可以发现对于p相同,mod p下相同的两个 点我们会建重复很多边 具体来说,如果有x< y,px=py, x%p=y%p,那么x连到y右边的j边可以通过x->y->j,x只需要连到y就好了 那么这样的总边数是原创 2017-12-06 20:34:33 · 414 阅读 · 0 评论 -
BZOJ4071: [Apio2015]巴邻旁之桥
在河同一边的可以不理他问题就是有若干个人在A侧l位置,要通过桥到B侧r位置 l< r 当K=1时发现答案就是所有l,r的中位数 因为ans=|p−l|+|p−r|ans=|p-l|+|p-r|(好有道理我怎么没发现qwq) 同时这启示我们(观察易得??qwq)当有两个桥时,每个人会选择更接近(l,r)中点的桥 所以我们将(l,r)按照中点排序后,两个桥将这些人分成了两部分,我们枚举这个分界原创 2017-12-06 20:55:34 · 427 阅读 · 0 评论 -
BZOJ4584: [Apio2016]赛艇
转化+dp原创 2017-12-06 21:08:45 · 241 阅读 · 0 评论 -
BZOJ3677: [Apio2014]连珠线
这题刚了好久的treedp,一直WA比较大的点,不知道哪里错了以为我想法错了看题解结果都说换根好做些不换根很多特殊情况…. 咱觉得咱的想法没问题..,应该是一些细节没考虑好,又想了想一些反例就过去了题解部分: 最终答案选的蓝边一定是若干组相邻的树边,用中间点统计和,考虑什么样的分组是合法的 以下给出一些反例: 不合法的情况很多,但可以根据加点的2种方法,总结成以下的东西:设一组蓝边为原创 2018-01-12 20:26:24 · 449 阅读 · 0 评论