自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zx2003的博客

我可能快要遗忘了眼泪的滋味

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

原创 bzoj2661,我全体都震悚起来

费用流做法是每个数拆成两个点,s和左侧点连流量为1,费用为0的边;右侧点和t连流量为1,费用为0的边。如果i,j合法,则同时向左侧i向右侧j及左侧j向右侧i连流量为1,费用为i+j的边。 但是,原图一眼看上去并没有什么性质。假如真的没有性质,那岂不是一般图最大权匹配可以用费用流?带花树发明者岂不是naive? 然后打表找规律,发现在n<=1000时是二分图。 大力思考一波,无果。 试了下n=

2017-09-27 20:23:22 434

原创 NOI2008志愿者招募,奇妙的费用流

这是题解 感觉没什么好说的,至于为什么要下减上,实质上是差分思想的运用,以将一段连续的东西变成两个单点。 最后再巧妙地运用流量守恒原理,就可以了。

2017-09-27 15:20:24 268

原创 bzoj3171

首先有一个结论 每个点只存在于一个环中,所以入度和出度都为1,而且其逆命题也成立。 拆点,S向入点连边容量为1,出点向T连边容量为1,向四联通的点连边容量为1费用为1。(如果是原来就有的箭头则费用为0) 这样,流最大时,每个点恰好入度和出度均为一。 并不是很想写,口胡一下算了,毕竟代码复杂度堪比普及,难点在于想法。

2017-09-26 20:47:38 262

原创 CF855E,状压数位DP

记叙一下当时的比赛情况。 开场2分钟看懂A,3分钟写完交上去,CE,发现没有#include<cstdio。我好菜啊。 然后10分钟时过掉B的pt,开C 20分钟时来了个提醒:注意B题答案可能为负。 突然想起来B题里有一句话const ll int=1ll<<60。而260<3∗10182^{60}\lt3*10^18,gg。 改完后B只剩897分,于是满怀怨恨地锁了B,发现有个人跟我错的

2017-09-25 15:24:55 967 1

原创 我的treap模板

今年寒假时封装了一个支持查询rank的treap。 然后发现这样无法支持指针的O(1)加减。事实上通过维护指向前继和后继的指针可以实现迭代器的O(1)加减。 今天就又写了一个treap模板,封装性自我感觉良好,有自己的迭代器,而且速度还行,在洛谷的普通平衡树一题中是第16页,总共2700份左右的AC代码。 同时为了测试迭代器和begin指针,还放到快排和堆的模板题里测试,发现我的treap常数

2017-09-24 14:40:34 398 2

原创 CF859G,奇妙的数学题

当时赛场上A掉前三题后,跟Chenwystc大爷分头开DE,我D他E,然后因为我是先做分值更低的D,导致只有rk155,比rk119的Chenwystc大爷低到不知道哪里去了。 A掉E后还有44分钟,大力做G,根本做不出,我真是太菜了。 从物理学角度看这题,有一个显然的做法:直接判n个质点的重心是否在圆心即可。具体实现时若直接用单位根,精度会爆炸,毕竟题解里号称可以造出重心离圆心只有10−500

2017-09-23 22:58:59 1141

原创 P2057

题解 这道题一开始潜意识里默认源点到人的边的流量inf,然后死活想不出,我真是太菜了。#include<cstdio> const int N=605,M=300005,inf=1<<25;inline int min(int a,int b){ return a>b?b:a;}struct graph{ struct edge{ int to,next,f

2017-09-22 14:54:35 318

原创 P2604网络扩容

我的做法是先将残量网络的正向边加进新图,并对所有残量小于k的正向边ii,在新图中对应地加上流量为k−fik-f_i,费用为wiw_i的边。 一开始WA在第一个点上,后来在重新建图时把残量网络里的反向边也加上,这样乱搞一下就AC了。据说此题数据很弱,哪位大佬能为我说明一下这种做法是否正确吗?#include <cstdio>#include <cstring>const int N=5010,M

2017-09-21 23:01:58 200

原创 p2469,[sdoi2010]星际竞速

如下是这道题一开始的想法 iniin_i->outiout_i连(0,1) ss->iniin_i连(aia_i,1) outiout_i->ss连(0,1) outiout_i->tt连(0,1) 若uu,vv之间有边(u<vu\lt v),则outuout_u->invin_v连(ww,1) 然而这样的图跑最小费用最大流时,会导致每个点都用能力爆发模式去到达。 然后就改成了如下方式

2017-09-20 20:09:49 241

原创 bzoj3698

这道题网上题解到处都是,在此就不赘述了。 看到这题时,我一开始的想法是对于每个点Ai,jA_{i,j}(其中i!=n && j!=n),向其所在行和列连边。 但这样是有问题的,因为可能行和列所连的边流量不同,这显然是不对的。 感觉网络流题目查错一般适合静态差错,因为网络流模板一般不太会打错,bug大多出在见图上,单步跟踪很难发现。 下面就是比q234rty大爷慢到不知道哪里去的代码。#inc

2017-09-20 14:46:24 347

原创 P3925,一道线段树合并题

有一种做法是考虑点x对答案的贡献,即所有满足vi<vxv_i<v_x的deplca(i,x)dep_lca(i,x)之和。将所有点按码力值排序后,依次将每个点到根的链加一,并把答案加上[(这个点到根的链上的点权和)乘(该点点权)]。用树链剖分实现,复杂度O(nlog2n)O(nlog^2n)。 我的做法是考虑续掉每个点x的收益,∑yvy∗ranky\sum_y v_y*rank_y,其中y处于x的

2017-09-18 23:34:56 511

原创 CF742F,奇妙的计数题

感觉通过重心来限制同构很巧妙啊(可能是套路?或许我做题太少了)。 我一开始的想法是把叶子去掉,这样就变成了所有点度数都小于等于dd,然后通过度数最大的点来限制同构,可能不太行?于是最后还是抄题解。不过这样可以减少点数,增加运行速度。 中途爆int,WA了一发,感觉自己好菜啊。#include<cstdio> const int N=1005;int f[N][15][N],n,d,i,j,m

2017-09-12 14:47:25 301

原创 洛谷3746

一开始没去想正解,对着部分分口胡了75分。 然后想正解,跟常人不同的是,我并没有把考虑k,接着就死活想不出,我真是太菜了。#include<cstdio>#include<cstring>const int N=55;int n,p,k,r,i;long long m;struct matrix{ int a[N][N]; inline void clear(){

2017-09-07 16:07:22 239

原创 UOJ195,【ZJOI2016】大♂森林

这题题解看梁大的即可,我就不赘述了。 对于梁大的代码,我有个细心但效果显著的优化,那就是求两点间距离时,acss(a[k].x); splay(a[k].x); ans[a[k].op]=sum[a[k].x]; x=acss(a[k].y); splay(a[k].y); ans[a[k].op]+=sum[a[k].y]; acss(x);

2017-09-06 15:42:45 515

原创 UOJ295,大力分类讨论

我可是现在才去订正今年ZJOI的蒟蒻。 回想ZJOI2017Round2,我2小时过了T1大样例中k=2的点,然后半小时码完T2的20分暴力,接着2小时15分钟一直沉浸在子串l..r的后缀是i..n的幻觉中,最后15分钟暴力+卡常。 倘若我记得特判T1n=1的情况,又把T3的2小时拿去写T2的r=n的部分分(当时应该会做),或许就110分了? 但那都过去了。 吉司机是公布过官方题解的,但那比

2017-09-05 22:04:52 359

原创 bzoj3682

这题网上题解到处都是,我就不说了。 有几个坑说一下(可能只有我这种蒟蒻能陷进去) 1.我以为开了读优后上一行的换行会被读掉,然后下一行读操作时就可以直接getchar()。于是我一怒之下卸掉了读优,以后少用getchar() 2.然后拼命简化代码,替罪羊树给删掉了重构操作,无果。结果发现函数末尾只有一个表达式,没有return,无语,我还是太菜了。

2017-09-05 15:08:14 327

原创 bzoj3685普通VEB树

这是一种来自xehoth大爷的奇技淫巧 我改造了一下,从232^3叉7层改成242^4叉5层,以适应2202^{20}左右的值域,但这可能缓存不优?因为辅助数组长度为65536,可能装不进缓存,感觉不太懂这套理论。 把5层改成6层(值域变成16777216)后测了一下: 插入10710^7个随机数是870ms左右; 删除10710^7个随机数是335ms左右(因为随出来的不一定在集合里)

2017-09-04 21:35:49 601

原创 CF848,第一次参加div1

开场3分钟杜教秒了A题,未成年的内心收到了震撼。 感觉A题同种字符只要数量一定,对答案的贡献就一定,而且不同种字符对答案的贡献互不影响。 然后打表找了下规律,好像是f[x]=x*(x-1)>>1。 接着一波01背包就过了A题,不过感觉26nn√26n\sqrt n可能比较悬?幸好这是CF。 看了下榜,大概300名左右,我还是太菜了。 开B题,似乎两个人i,j会相交,就一定满足ti-pi==

2017-09-02 18:47:14 1892

原创 bzoj3701,大力莫比乌斯反演

注意到n只有10万,这可比某些动辄101010^10的毒瘤题良心多了。 首先将[l,r][l,r]变为求前缀和 设当前的距离限制为L,对于两个点(x1,y1)(x_1,y_1),(x2,y2)(x_2,y_2),考虑枚举一维的增量dx=abs(x1-x2) 则答案为(n−dx+1)∑dx2+j2&lt;=Lj=1[gcd(dx,j)==1](m−j+1)(n-dx+1)\sum_{j=1}^{dx^

2017-09-01 18:49:40 746 4

原创 CF841E

传送门 [官方题解]http://codeforces.com/blog/entry/53943?locale=en() 我一直以为这场CF没题解,其实是Div2没题解 其实这题并不是很难想,像我这种蒟蒻在赛场上都能想出DP状态和转移,似乎跟题解差不多。然而因为自己太菜,状态设计的不太合理,转移很麻烦,然后就GG了。 题意很简单,就不说了。 大致说下我的做饭,首先注意到如果abab和bcb

2017-09-01 11:38:21 404

空空如也

空空如也

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

TA关注的人

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