自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qkoqhh

什么都没有

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

原创 博客搬迁公告

博客搬迁至地址窝也不告诉(哼唧~~此博客将不再更新以上

2019-02-11 22:40:10 735

原创 Codeforces Round #538 (Div. 2)

A签到题,略  B题意:给定长度为n的序列,将其分成k个长度大于m的段,要求最大化 每段前m大的元素的和的和题解:显然取全局前m*k大是最优的,根据这m*k大元素将序列分成k段即可代码:/** *         ┏┓    ┏┓ *         ┏┛┗━━━━━━━┛┗━━━┓ *         ┃       ┃   *      ...

2019-02-11 10:10:33 458

原创 hdu5448(三角剖分+前缀和)

题意:按逆时针给定一个凸多边形上的点,选取若干个点形成凸包,这些所有凸包的面积之和的2倍这个题以前就碰过,印象深刻(指标题),然后刚好看见tls写了这题的题解就瞄了一眼。。其实。。就只是一个结论而已,一个三角剖分的应用。。令原点和凸包的顶点(逆时针排列)构成的向量分别为,那么利用三角剖分该凸包的面积可以表示为然后就直接考虑的贡献就可以了,演着i->j这个方向至少要有一个点...

2019-01-30 00:37:00 410

原创 cf1107F(DP)

题意:有n种贷款服务,每种贷款可以立即获得ai元,但是在之后的ki个月每个月底都要支付bi元,一个月只能贷款一次,问在所有时刻中手上最多能有多少钱(他可以在任何时候跑路exm??直接就抄题解了。。原题解是说,让n个月和n种贷款做二分图最大权匹配,连的边权直接就是对应月选择对应贷款到跑路所获的收益。。然而出题人好像并没有想到这可假设贷款都还没支付ki个月就跑路了,那么对选择固定贷款的...

2019-01-29 00:08:44 387

原创 cf1107E(区间DP)

题意:给定01串,若删去连续i个0/1的子串,可得到a[i]分数,能获得分数的最大值总是不会暴力。。其实不难设d[x][y][k]为区间[x,y]内且与第i个字符形成的连续k个0/1子串的最大值那么有2个方面的转移一个是枚举i,使得[x,i]贡献一个0/1,[i,y]贡献k-1个0/1一个是枚举i,使得[x,i]贡献k个0/1,[i,y]贡献他所能贡献的最大值  ...

2019-01-28 18:18:33 455

原创 bzoj4006(斯坦纳树+状压DP)

参考链接:https://www.cnblogs.com/ECJTUACM-873284962/p/7643445.html#autoid-0-1-0资料比较少,主要看上面学的(博客挺漂亮的斯坦纳树的定义是给定m个关键点,使得这些关键点相互联通的最小权值的树(自己写的MST是斯坦纳树的特殊情况,只要把关键点定义成所有点就可以了。。求解斯坦纳树是NP问题,所以要关键点的个数要少(一般...

2019-01-28 00:17:10 312

原创 cf1097F(bitset+莫比乌斯反演)

题意:给定n个集合,要求支持4个操作:1.将集合初始化成{v}2.令集合Z=集合X∪集合Y3.令集合4.查询集合里面v出现的次数并模上2 终于放假了。。好久以前的题。。答案只需要模2就很容易想到用二进制来表示,那么可以直接上bitset,那么合并相当于做一次模2加,直接异或就行了。。然后对于操作3,可以直接维护因子出现的个数,维护因子出现次数为g(n),若n在集合中...

2019-01-18 22:33:20 306

原创 汇编实现冒泡排序

感觉。。实现一下还是有点意义的。。用的是MIPS指令集,不造是不是过时了。。然后参考资料:https://blog.csdn.net/ben_chong/article/details/51794392实现上不敢用保留寄存器,因为用完貌似需要恢复原寄存器的值,所以全部都用临时寄存器的值然后遇到了几个问题:一、变量的定义主要是在数据段里干,数据段用.data标识然后定义方...

2018-12-28 22:20:38 479

转载 牛客国庆Day5B(蒙哥马利算法)

题目链接:https://ac.nowcoder.com/acm/contest/205/B?&headNav=www原来窝被这算法虐过么= =!这个算法其实是用来解决RSA中计算公钥的问题的,是个底层常数优化算法。。主要解决两个问题:蒙哥马利约减,即tp−1 (mod m)tp^{-1}\ (mod\ m)tp−1 (

2018-12-26 23:43:13 389

原创 hiho1456(pick定理+杜教筛)

EC热身赛的C。。感觉还是有补的价值。。首先有个结论比较难找。。(等窝找出来已经不到5分钟了。。结论就是一条不经过交点的斜线对应2个三角形。。(这个是队友打表看出来的。。orz这都能看出来的么)证明的话就是用pick定理可以得知合法三角形的面积一定为0.5,那么一个长宽互质的包围盒就可以对应4个三角形(2个斜边对应4个)那么就求斜边个数就可以了。。答案如下然后就可以分块去算...

2018-12-23 00:03:51 340

原创 cf1093F(计数dp)

题意:给长度为n的序列,要填充-1,使得不出现长度为m的元素相同的子串(下称非法子串),其中数字的范围均在1-k一开始想的是O(n)的做法,只对每个-1的段进行考虑,然后各种挂,最后发现相邻的-1的段会相互影响,然后就绝望了。。然后只能向O(nk)的方法低头了。。这个就比较简单了,设d[i][j]为第i位填j的方案数,然后如果[i-m+1,i]能形成相同的元素,那么做个容斥就能把非法情况去...

2018-12-21 22:58:08 202

原创 bzoj3876(有源汇上下界费用流)

这个可以这样想,由于每个点都可以立刻结束回到原点,所有可以把所有节点都当成汇点,把1号点当成源点,然后直接跑费用流,然而由于要满足每个边都要跑一次的条件,直接给个下界就可以了。。然后用处理下界的方法建图就可以了。。然而这样直接跑费用流T了(9750ms= =)。。发现建图时容量要么是1(必要边),要么是无穷,所以可以考虑在建图上优化一下。。处理必要边时可以先把费用加上,然后标记入度和出...

2018-12-14 13:43:22 487

原创 2016ECFinal J(无源汇上下界费用流)

题目链接:http://codeforces.com/group/Us3rfLfgWv/contest/101194题意:给定4个插头,如题图示,每个格子可以填一个插头或者不填,但一些格子一定要填入插头(下称关键点)。问能不能成若干个完整的回路,如果可以,输出最大价值。回路穿过格子时会产生相应的价值。想了好久。。一个显然的性质是一个格子如果加插头,只能在纵向上和一个格子相连,在横向上和...

2018-12-13 21:09:58 324

原创 cf1083E(斜率优化+单调栈+二分)

题意:给n个矩形,顶点为(0,0)和(xi,yi)和权值ai,要从中选若干个矩形,使得其价值最大,其价值定义为所有矩形的面积并减去选中矩形的权值和这个可以对x先排个序,如果x增的时候y也增,那么说明有矩形包含的情况,此时在决策的时候该决策点必然不会被考虑,那么主要考虑一下y递减的情况。。设d[i]为选i个矩形时的最大价值d[i]=max{d[j]+y[i]*(x[i]-x[j])-a[...

2018-12-13 16:40:23 397

原创 16ECFinal B(数位DP)

题目链接:http://codeforces.com/gym/101194题意:定义半回文数a为将二进制数a的奇数位和偶数位分别提出来,如果奇数位或者偶数位为回文数则a为半回文数,求长度为n的第k个半回文数这个题目需要思考一下DP状态应该是什么,直接dfs应该是不行的,因为这个后效性要去除比较困难,不过好在这题对数的大小没有限制,所以可以不用dfs做了。。然后猴了n遍后发现,要处理填完...

2018-12-12 15:34:05 157

原创 NEERC2015(计数)

题意:有2^m个人,随机安排他们进行2^m淘汰赛,每个人有一个编号和一个值a,且编号大的人一定胜过编号小的人,每次比赛的收益是双方的a值的乘积,求总收益的期望令n=2^m,然后把1-n的a翻转过来,变成编号小的人一定胜过编号大的人(这么假设是因为窝一开始读错题意了qwq本质还是计数问题,总共有n!种情况,计数就行了。。考虑一对人的贡献,考虑他们在高度为k的子树的根中相遇,那么由于,...

2018-12-07 21:38:33 509

原创 hdu5932(贪心+树背包DP)

题意:给你一颗树,每个节点有一个v,一个w。每次询问:i,T。在节点i的子树中,恰好取∑v=T的一些节点,最大的w之和是多少?可以说是非常牛逼的假题了。。假到现场竟然只有一人ac。。由subtree[i]<=2/3subtree[fa[i]]可以得到,该树的高度不超过24(然后就懵逼了),然后就可以得知,所有节点的size和一定不超过20n(考虑单点贡献),所以可以直接用各种...

2018-12-07 19:54:28 199

原创 hdu4809(树形DP)

题意:给定一棵树(n<=300),你可以给每个节点等概率地染成A,B,C三种颜色之一,对于树上的一条边,若其两个端点的颜色不一样,则断开这条边.最后对于一个特定的颜色,X为点数为奇数的联通块个数,Y是点数为偶数的联通块个数,其得分为max(0,X-Y).问最后得分的期望乘上3^n mod 1e9+7的值.这个题还是比较难的。。难在状态的设置吧。。(数据范围一小就不会暴力了qwq首先可...

2018-12-06 15:42:46 245

原创 NEERC16D/bzoj4842(费用流解线性规划)

直接给出约束条件等价于在最前面加个0=0作差得然后+1为入,-1为出,直接连边跑费用流就可以了。。   /** *         ┏┓    ┏┓ *         ┏┛┗━━━━━━━┛┗━━━┓ *         ┃       ┃   *         ┃   ━    ┃ *         ┃ >   < ┃ *  ...

2018-12-04 21:08:09 363

原创 xdoj1203(状压DP)

去年校赛题。。学到了新姿势orz。。由于nm<=40,所以min{n,m}<=6,然后考虑6*6的情况就可以了。。首先是状态的设计,如果保存上2行的状态这个状态数就是4^12,比较爆炸。。如果用一个位来标记当前位是否为连续的染色,这样状态数就可以降为8^6。。比较巧妙的还是在转移,如果状压上一行再枚举下一行的状态是会T的。。可是这题可以利用插头DP的思想(其实并不会...

2018-12-03 20:46:38 154

原创 bzoj4894(矩阵树定理)

外向树的计数。。计外向树时只要把基尔霍夫矩阵的定义改一下就可以了。。把对角线定义为该点的入度,然后减去有向图的邻接矩阵就可以了。。然后把根所在的行列去掉求行列式即可。。   /* *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *        ┃   ━    ┃ *    ...

2018-11-21 15:14:28 145

原创 bzoj3534(矩阵树定理)

这个题目还是有点意思。。莽了一发过不去样例发现是因为没有考虑非树边的概率,所以实际要求的应该是然后要转化一下成为T上点的乘积,就变成了然后用pi/(1-pi)构造基尔霍夫矩阵就可以了。。然而有pi==1感觉没办法解决啊qaq网友说直接减个eps就好了(窝怎么这么智障   /* *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛...

2018-11-21 12:40:09 188

原创 bzoj5311/cf321E(单调决策性DP+wqs二分)

显然可以用单调决策性DP求。。设d[k][i]为选第k段,到第i个的最小代价d[k][i]=max{d[k-1][j]+cost(j+1,i)}其中cost可以O(n^2)递推预处理,显然cost是一个下凸函数。。设2个决策点j<v<i,若d[k-1][j]+cost(j+1,i)>d[k-1][v]+cost(v+1,i),那么随着i增加,这个等式一直成立,即j...

2018-11-20 17:54:05 200

原创 bzoj2654(wqs二分+MST)

直接二分白色边边权权值再做MST就可以了。。注意相同边权排序时保持黑白色边的一致性。。 /* *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *        ┃   ━    ┃ *        ┃ >   < ┃ *        ┃       ┃ *        ┃... ⌒ .....

2018-11-19 12:18:37 213

原创 2018南京B(wqs二分+单调决策性DP)

题目链接:http://codeforces.com/gym/101981题意:有n户人家,要建m个体育馆,要安排这m个体育馆,使得每户到最近的体育馆的距离之和最小这个原题应该是poj1160。。当时是用n^2的单调DP过的,这题显然不行,需要新套路。。然后有牛逼网友说用wqs二分,学了下思想觉得好牛逼啊。。大体是对建一个体育馆,即支配一个区间需要付出额外的代价t,这样只要二分t就...

2018-11-19 01:13:26 460

原创 bzoj1016(矩阵树定理+MST)

这个可以边做MST边求生成树的方案数,就是在加入相同边权的时候统计各个联通块的生成树方案数并缩成一点(因为不同MST方案数来自于取相同边权的边),然后把他们都乘起来就是了。。然后写起来比较恶心就是了。。  /* *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *        ┃   ━  ...

2018-11-17 17:25:26 198

原创 bzoj1002(矩阵树定理+高精度)

矩阵树定理裸题。。然而高精度真的不想写丫。。。于是换了python。。发现vim写python太危险了。。各种缩进问题交上去随手CE。。  n=int(input());a=[[0]*105 for i in range(105)];if n<=1: print(1); exit();elif n==2: print(5); exit(...

2018-11-17 01:44:20 286

原创 spoj HIGH(矩阵树定理)

题意:给定无向图的边,求构成生成树的方案数这个是个结论,在邻接矩阵的基础上将a[i][i]定义为i的度数的相反数,然后对这个矩阵求n-1阶子式就可以了。。证明网上一堆,比较长。。顺便get行列式计算姿势。。  /* *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *        ┃  ...

2018-11-16 22:26:34 204

原创 hdu6323(单调决策性DP)

题意:给定一个n*m的矩阵,可以在矩阵内将A个元素改成0,现在要在矩阵内选出B个不相交的宽为m的矩阵,使得这3个矩阵的和最大这个可以将所有行压成一个点然后变成序列上的问题,修改可以预处理,显然对每行来说,应优先修改最小的元素,那么就可以预处理出a[i][j],代表第i行修改j次后的权值。显然修改的效果会越来越小,所以f(j)=a[i][j]是一个上凸函数。。然后设d[p][i][j]为到第...

2018-11-15 18:03:42 267

原创 bzoj2369/bzoj2687(贪心+单调决策性DP)

显然取比较大的区间比较好,而且从均值不等式的角度能感觉到取的区间越多价值越小。。所以就猜想取2个是最优的。。设已经取2个较大的区间,再加入一个较小的区间,那么模拟一下可以发现,最理想的情况是交增加的和并减少的是相同的。。然后还是根据均值不等式可以知道,这个价值会减小,所以去2个区间必然是最优的。。然后既然要取较大的区间,那么包含的区间也得去了。。而被包含区间所能产生的贡献,只能是被包含...

2018-11-12 17:02:28 216

原创 bzoj4518(单调决策性/分治/斜率优化)

要保证整数,直接把m^2乘积方差的和式里面变成(mxi-sumx)^2,然后求这个的最小值就可以了设a为前缀和设d[i][j]为第i段以j位置为结尾的最小值d[i][j]=max{d[i-1][k]+(a[j]-a[k]-sumx)^2}然后这个其实就和bzoj1563差不多了,直接用单调决策性去做就可以了,复杂度O(nlogn)然后看见别人的代码快得不得了。。于是发现这个直接...

2018-11-11 00:47:51 226

原创 bzoj1499(DP+单调队列)

设d[p][i][j]为第p时间段末在(i,j)时已滑行的最长距离以向下滑为例d[p][i][j]=max{d[p-1][i-k][j]+k}=max{d[p-1][k][j]-j}+i然后就是个沙雕单调队列优化DP  /** *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *   ...

2018-11-10 19:06:26 243

原创 bzoj1563(单调决策性DP)

这个题一看数字就很爆炸啊。。不过先不管他。。先对长度+1,然后取个前缀和设为a设d[i]为取到i个句子且当前行以i句结尾的最小代价d[i]=max{d[j]+|a[i]-a[j]-L-1|^p}显然f(x)=|x|^p是个下凸函数,即x越大导数越大。。然后考虑2个决策点j<k<i如果d[j]+|a[i]-a[j]-L-1|^p>d[k]+|a[i]-a[k...

2018-11-10 16:14:27 153

原创 bzoj2216(单调决策性DP)

这个题和DP的关系。。反而没那么多。。由于y=sqrt(x)是个上凸函数,即随着x的增大导数越来越小,那么就会有这样一个性质如果对2个决策点j<k<i,满足a[j]+sqrt(i-j)<a[k]+sqrt(i-k),那么此后随着i的增加,这个不等式必然满足。。因此可以用单调队列维护决策点下标递增但决策值递减的决策点,每个决策点都有他的影响区间,如果超过他的影响区间则出...

2018-11-10 11:44:22 260

原创 bzoj2287(可逆背包)

虽然很裸,但是写得太少还是要练。。把去掉的物品用完全背包撤销即可。。  /** *        ┏┓    ┏┓ *        ┏┛┗━━━━━━━┛┗━━━┓ *        ┃       ┃   *        ┃   ━    ┃ *        ┃ >   < ┃ *        ┃       ┃ *        ┃... ⌒ ...  ...

2018-11-10 00:18:07 630

原创 2018沈阳M(可逆背包+线性优化完全背包+生成函数)

题意:给定ai和bi,表示第i个商店有ai个商品可以买,单价为bi元,给出m个询问,问用c元在l~r商店买东西的方案数可能这是窝打acm以来做过的最好的题了。。学到了太多东西。。orz统计方案数的背包是可以逆的。。可以参考牛客多校2E。。然后显然可以做个前缀,求出前r个物品的背包,这个多重背包的复杂度是O(ncb),用二进制可以优化到O(nclogb),但是有T组数据的存在这个复杂度比...

2018-11-08 20:01:12 1170

原创 zoj3548(最小点覆盖)

题意:给定H*W的01矩阵,0为黑1为白。目标是要找出a和b使得能构造出如题图的n*m个边长为a的白色正方形,且每个正方形带长度为b的框。然后在原来的01矩阵的基础上,可以划定矩形给这个矩形染色,且这些划定的矩形不能相交,求用最少的矩形将原矩阵染成目标矩阵显然对白色来说只要把n*m个正方形全部染一下就可以了。。而对黑色部分,如果是在正方形的边上(即没有2条横纵的黑色矩形相交得到)的部分,那一行...

2018-11-05 23:12:21 941

原创 zoj3541(区间DP)

题意:给定一个灯序列和他们的坐标,第i个灯在点亮之后ti秒后会熄灭,要求一个序列使得依次点亮序列上的灯会使得有一个时刻灯会亮着这个题还是有点技巧的。。首先如果确定好序列之后,只要考虑第i个灯的ti到和它点亮后面所有灯的时间的大小关系就可以了。。然后考虑如果从中间开始点亮,那么无论下次从左走开始从右走必定会再次经过这个点,那么这时再次点亮他这个灯就会获得更加持久的持续时间,那么第一个点亮就失...

2018-11-04 16:38:25 128

原创 2015北京C(搜索技巧预处理)

链接:https://cn.vjudge.net/contest/250782#problem/C题意:给定2个字符串和2种操作,操作1是把一个数字变成另一个数字,操作2是把一种数字全部变成另一种数字,求把一个字符串比变成另一个字符串的最少操作次数(字符串均在1-6之间)这个技巧真的有些特殊。。显然需要用操作2来减少操作次数,而且应该是先用完操作2后在用操作1。。然后关键在看操作2。。...

2018-11-03 16:32:03 155

原创 hdu5550(计数DP+前缀和)

题意:每层楼有ai个人打羽毛球,有bi个人游泳,每层楼只能建造一个羽毛球场或者游泳馆,如果当前楼层没有羽毛求场,这ai个人就要到最近有羽毛球场的楼层打羽毛球,每个人产生的代价为楼层差,游泳的类似,求最小代价这个貌似并没有用到什么很特殊的技巧可是就是莫名地难想。。不造为什么。。首先由于楼层上下的情况都会对当前楼层产生影响,所以不能一层一层地往上考虑。。那就只能一段一段考虑了。。对一段区间...

2018-11-02 16:46:07 272

空空如也

空空如也

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

TA关注的人

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