自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

neither_nor

alone_wolf

  • 博客(21)
  • 收藏
  • 关注

原创 BZOJ4897 [Thu Summer Camp2016]成绩单

挺厉害的题考虑区间DP,f[i][j]表示把[i,j]都拿光的最小代价f[i][j]怎么算呢?我们考虑最后一次发成绩单最后一次发成绩单发的一定是原序列的一个子序列,那么我们用g[i][j][k][l]表示以一个起始点>=i,最后一个元素是j,最小值为k,最大值为l的子序列为最后一次操作的代价那么g[i][j][k][l]+f[j+1][u-1]就可以转移到g[i][u][min(k

2017-05-25 11:42:02 1118

原创 BZOJ1344 [Baltic2007]Connected Points连点

一眼矩乘DP我们发现最后一列一定有两个点可以向后伸展,剩下那个点要么已经被占用了要么还没被占用,也就是说一共有六种状态,瞎jb矩乘一下即可#include#include#include#include#include#include#include#include#include#include#include#include#include#includeu

2017-05-25 11:36:45 486

原创 BZOJ1334 [Baltic2008]Elect

傻逼题,按大小排序,然后直接背包即可,转移的时候保证不从>s/2的地方转移就行#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN

2017-05-25 11:35:05 523

原创 BZOJ4896 [Thu Summer Camp2016]补退选

傻逼题啊…居然没想出来因为是个字典树所以sigma 字符串长度是有限制的,也就是说sigma 每次修改之后受到影响的点的个数也是有限制的,那就暴力搞就行了具体来讲,每个点开个vector,直接维护子树里黑点个数第一次边得大于i的时间即可PoPoQQQ大爷告诉我们,数据范围就是狗屁#include#include#include#include#include#includ

2017-05-25 11:33:23 553

原创 BZOJ4899 记忆的轮廓

我们知道只要误入歧途你就再也不能回到正轨了,只能走到错误叶子然后读档那么我们先求出g[i]代表在i误入歧途之后期望要走多远才会读档然后求出dis[i][j]代表在i存档之后从i走到j中间不存档期望要走多少步这个n^2随便求那么我们可以DP,f[i][j]表示从起点走到i,并在i存档,当前一共已经存档j次的最优期望步数直接转移显然是n^2p的我们发现题目限制了每个点的度数>=

2017-05-25 11:29:58 860

原创 BZOJ4886 [Lydsy2017年5月月赛]叠塔游戏

可以发现我们不用管什么权值递增,只要保证横着放的长度互不相同就可以把权值看成点,一个矩形就是在长和宽之间连一条边那么我们就要给每条边定一个向,保证每个点出度最多为1,一条有向边的权值就等于其指向的点的权值,最大化边权和因为题目保证了有解,所以每个连通块要么是树,要么是环套树因为如果一个连通块里有两个环的话那么至少有一个点出度为二证明就是如果所有点出度都我们把边对答案的贡献转

2017-05-19 15:39:22 841

原创 BZOJ4843 [Neerc2016]Expect to Wait

答案等于sigma 每个时间在等待的人数那么我们现在认为等待的人数可以是负数,为负就代表剩了这么多书那么答案就是sigma 每个在等待的人数是正数的时间的等待人数假设初始书量为0,我们计算每个时刻的等待人数增加初始书量就相当于给每个时刻等待人数都减少一个值求前缀和一类的东西之后把所有询问排序扫一遍即可#include#include#include#include#

2017-05-19 07:52:47 849

原创 BZOJ4849 [Neerc2016]Mole Tunnels

考虑如果给定一个K算答案怎么算,我们可以费用流,每个树边建流量INF费用1,每个点向T连流量c[x]费用0,对于前k个鼹鼠,S向每个鼹鼠出现的位置连一个流量1费用0的边,然后跑最小费用最大流即可求出最小代价那么如果是对于每个K都要求的话,我们可以考虑令S连向第i个鼹鼠出现位置的边费用为(m-i+1)*INF,这样的话第i次曾广一定会走第i个鼹鼠出现的位置,那么増广i次之后得到的就是前i个鼹鼠的

2017-05-18 19:05:52 674

原创 BZOJ4883 [Lydsy2017年5月月赛]棋盘上的守卫

把行和列看成点,那么(x,y)这个各种就代表在第x行和第j列之间连一条权值为w(x,y)的边每一行和每一列都要被一个守卫覆盖,那么就相当于对于每个点(每一行和每一列),我们要在他所相连的边中选择一条没有被选择过的边,并把这条边变成有向边,从自己出发,指向另一端。比如是从第x行指向第y列,那么就意味着在(x,y)防止一个行守卫,反之亦然那么我们发现所有我们选出来的边一定组成一个环套树森林

2017-05-18 18:45:08 448

原创 BZOJ4893/4895 项链分赃

这题真是屌爆了……尝试了一下证明,受限于数学和语文水平放弃,挖坑不填,仅作凑数

2017-05-18 18:40:22 686

原创 BZOJ1283 序列

这个算是经典建模裸题了吧?然而还是没秒掉使得每个长度为m的子串中选不超过k个,可以视为选k个子序列,每次选的时候相邻两个的位置差>m那么每个点连后一个点费用0流量INF,连往后数m个点(如果超数组长度了就连T)费用a[i]流量1,S连1号点流量k费用0,跑最大费用流即可#include#include#include#include#include#include#incl

2017-05-18 18:30:05 552

原创 BZOJ4837 [Lydsy2017年4月月赛]LRU算法

傻逼题,按题意模拟即可#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN 1000010#define MAXM 1010#

2017-05-15 21:19:13 558

原创 BZOJ4880 [Lydsy2017年5月月赛]排名的战争

容易发现答案只与w1和w2的比值有关,而与具体数值无关那么先特殊算一下w1=0和w2等于0的情况,然后就直接假设w1=1然后的话对于每个物品可能有4种情况:永远比1号优,永远比1号劣,永远和1号相等,当w2某值时比1号劣,等于时相等,否则比1号优对于每个手机算一下他的情况和w2的分界点,然后按分界点排序之后扫一遍即可比赛的时候有个地方x和y打反一直wa,然后就弃疗了#inclu

2017-05-15 21:18:22 698 2

原创 BZOJ4881 [Lydsy2017年5月月赛]线段游戏

观察一下题意就是让你把排列分成两个没有逆序的序列,问方案数那么把每个逆序对连边,容易发现如果是二分图,答案就是2^(联通块数量),否则无解那么先把无解判掉,然后从前往后一个数一个数加入,因为现在肯定有解了,所以对于同一个i和a[i],任意两个满足ja[i]的j和j',j和j'当前一定属于两个不同的联通块,而现在他们都要和i连边,那么把i加进来之后他们就都变成一个联通块了而对于一个联通块

2017-05-15 21:12:31 621

原创 BZOJ4884 [Lydsy2017年5月月赛]太空猫

这个傻逼题……比赛的时候读出了三种题意,然后各写了一遍结果全wa了,后来才被告知有坑点……题意:操作有三种,可以向左或向右移动一格,或者重力反转,操作只能在落地之后再进行,问到终点的最小代价容易看出向左走蛋用没有f[i][0/1]表示走到第i列,重力向下/上的最小代价,随便转移即可坑点就是前一列的下边界比后一列的上边界高或者前一列的上边界比后一列的下边界低#include#i

2017-05-15 21:05:52 576 2

原创 BZOJ3823 定情信物

想象一下一个n维超立方体折跃到n+1维的过程(我是不是星际玩多了-_-)先把这个n维超立方体复制一份,然后在没对对应点之间连线那么如果f[i][j]表示i维超立方体中j维元素的数量的话,由上面的过程容易看出f[i][j]=f[i-1][j]*2+f[i-1][j-1]由归纳法不难证明形如f[i][j]=f[i-1][j]*c+f[i-1][j-1]的,且f[0][0]=1的话,那么f[

2017-05-04 19:44:27 526

原创 BZOJ1111 [POI2007]四进制的天平Wag

这种题号的题我之前竟然一直没做……先转成四进制,假设下标小的代表低位,下标大的代表高位那么问题就是让你把这个四进制数表示成两个四进制数的差,使得这两个四进制数各位上的数的和最小,并求方案数f[i]表示想表示出前i位最少要多少个砝码g[i]表示想表示出前i位,并且第i位在做减法的时候向第i+1位借了1的方案数转移很简单写代码的时候思路有点混乱,于是参照了一下claris的代码

2017-05-04 19:37:23 465

原创 BZOJ4864 [BeiJing 2017 Wc]神秘物质

傻逼题……区间最小极差一定是相邻的两个元素所构成的然后就维护一下区间最大最小值,最小极差,splay随便搞搞就行了#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespa

2017-05-04 09:37:39 517

原创 BZOJ3563/3569 DZY Loves Chinese II/DZY Loves Chinese

异或随机化也算是套路了吧……但是还是没想到瞎jb做一个生成树,给所有非树边随机一个权值,树边的权值等于覆盖他的非树边的权值的异或和那么如果有一组边的异或和为0的话,基本就可以判断他们是一个树边和覆盖了这个树边的所有非树边而出现这种情况就说明变得不连通了也就是说对于输入的每组边判一下是否线性无关即可707185547最高!#include#include#include

2017-05-04 09:27:41 564

原创 BZOJ2568 比特集合

比如你要询问第k位为1的有多少个,那么其实就是询问如果只考虑后k位的话,在2^k~2^(k+1)-1之间的有多少个那么维护16个树状数组,分别代表只考虑后i位的时候的情况考虑整体加操作,记录一个全局标记ch维护当前整体加了多少,然后在插入和查询的时候都减去ch这样的话查询区间有两个,一个是2^k-ch~2^(k+1)-1-ch,另一个是2^k+2^(k+1)-ch~2^(k+1)-1-

2017-05-04 09:22:39 642

原创 BZOJ3637 Query on a tree VI

挺厉害的题考虑用LCT分别维护黑森林和白森林,并维护子树大小但是直接暴力link cut的话复杂度是跟度数相关的,就T了那么我们维护有根森林,并保证在黑森林中每个连通块除了根一定是黑的,白森林中每个连通块除了根一定是白的(事实上我们会发现这样的话只有原树的根是不一定什么颜色的,对于其他的连通块的根,颜色一定是与这个连通块里其余的点不同的)那么修改的时候就只需要把修改点与他的父亲之间

2017-05-03 16:39:11 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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