03 2017 档案
摘要:给一个序列,每次给一个长度l,问长度为l的区间中lcm最小的。 题解:因为ai<60,所以以某个点为左端点的区间的lcm只有最多60种的情况,而且相同的lcm区间的连续的。 所以就想到一个n*60*logn的做法,倍增找出每个点的区间lcm情况,然后修改答案…… 1-60的lcm的积大于long l
阅读全文
摘要:Candy Replenishing Robot Find the Minimum Number 直接模拟 Melodious password dfs输出方案 Poles 题意:有多个仓库,只能从后面的仓库运动前面的仓库,现在要把仓库合并成k个,移动一个仓库i到另个仓库j的代价是costi*(xi
阅读全文
摘要:A. Anton and Polyhedrons 直接统计+答案就可以了。 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define maxn 1000 #define LL long long us
阅读全文
摘要:新生赛傻逼突然忘了怎么求逆元……还花一个小时企图手推。 求单个数的素数逆元:费马小定理就可以了。a^(p-1)≡1。所以a的逆元就是a^(p-2). 求【1,n】的逆元: rep(i,2,maxn-1) inv[i]=mm-(mm/i)*inv[mm%i]%mm; http://blog.miskc
阅读全文
摘要:这题算是01分数规划吧2333 sum-a[i]*x[i]=c*(n-x[i]) 化简一下就是sum-(a[i]-c)*x[i]-nc=0,每次找最大的(a[i]-c)*x[i](子段和),如果结果<=0就是存在方案使sum-a[i]*x[i]=c*(n-x[i])。 注意要至少选一个…… #inc
阅读全文
摘要:区间连续不重复子段最大值,要维护历史的最大值和当前的最大值,打两个lazy,离线 #include<cstdio> #include<cstring> #include<algorithm> #define maxn 150000 #define rep(i,l,r) for(int i=l;i<=
阅读全文
摘要:CodeForces - 779F 用到启发式合并,有个很好的知乎的答案,https://www.zhihu.com/question/29663921,dfs子树可以考虑启发式 strlen() 时间很快然而不是o(1),不要偷懒! 树状数组要判0 n=100000 质数个数9592 u[i]!=
阅读全文
摘要:找链剖资料时试着找以前百度空间的文章,发现还存在这,遂搬运了一波。 哈哈,还记得当时博客里面用着彩云国的op,名字是帝国风暴指挥官,写着剑刃所指便是帝国疆域。 还有当时羞耻的深夜无脑系列。还有各种给自己煲的鸡汤。 当前任务就是努力把模板转化为c++(p++)
阅读全文
摘要:可持久化并查集3673:可持久化并查集 by zky 3674: 可持久化并查集加强版 const maxn1=10000100; maxn2=500000; var lson,rson,fa,deep:array[0..maxn1]of longint; root:array[0..maxn2]o
阅读全文
摘要:启发式合并?! 似乎当时写并查集的时候就有看到过类似于把小并查集并到大并查集上的说法,原来这就是启发式…… 具体做法就是把小树里面的一个个拿出来,然后加到大树里面去(裸的不敢相信) const maxn=300000; number=32323231; var left,right,size,val
阅读全文
摘要:主席树 周五晚蔡大神讲了下,觉得不是很难的东西,然后就可是敲,发现好像就是个持久化线段树(?!) 当晚笔记: 主席树,其实就是多棵可持久化权值线段树 那什么是可持久化线段树呢? 如树1中就在子树i,树2中也存在长的一毛一样的子树i’,那么我们完全不用建两棵相同的子树啊,直接树1子节点是i,树2的子节
阅读全文
摘要:树套树 名字看上去很高端很酷炫,其实不难,说白了就是树上建树。什么是树上建树?比如一个区间【1,5】,那么建成线段树就有【1,5】【1,3】【4,5】【1,2】【3】【4】【5】【1】【2】这么多个节点,现在我们把这个节点都变成一棵树(平衡树或者线段数),然后把区间内每个点都上入这个平衡树中,比如【
阅读全文
摘要:这篇文章讲的很好很详细,但是写了几天后发现似乎是挺残的版本。 2049: [Sdoi2008]Cave 洞穴勘测 3282: Tree 2002: [Hnoi2010]Bounce 弹飞绵羊 1036: [ZJOI2008]树的统计Count 都是基础操作吧 后来发现makeroot这个操作可以用个
阅读全文
摘要:http://www.cnblogs.com/BLADEVIL/p/3479713.html 这个大神写的特别好……难得的是还是p党(感动) [ZJOI2008]树的统计Count 线段树只需要单点修改…… type arr1=record toward,next:longint; end; arr
阅读全文
摘要:组合公式递推形式:c[i,j]:=c[i-1,j-1]+c[i-1,j]; 遇到动态统计有多少个实数比之前的大可以分成整数和实数,类似的,一些题也可以用同样的方法把数字分成一位一位(比如某到hdu的题Argestes and Sequence)。 要懂得拆∑,结合公式特点。 对于图的处理,如果边数较
阅读全文
摘要:一、单调队列 在队首队尾同时进行删除,在队尾进行插入。 二、一般性质 1、在原数组中的位置 2、他在动态规划中的状态值 单调队列保证这两个值同时单调(不同时单调的话保证位置单调用bst存状态) 三、一般式 f(x)=opt(const[i]),i=[bound[x],x-1],其中bound[x]随
阅读全文
摘要:一、 在变化规则相同的情况下加速状态转移; 1、 快速幂 2、 推广,满足两个规则即可: ① 每次的变化规则必须相同; ② 变化规则必须满足结合律。 可用于减少乘法个数或者加法个数 二、 加速区间操作。 在区间操作中运用倍增思想的一般模式: 预处理: 对于区间中每一个点A,记录[A,A+20-1],
阅读全文
摘要:剩下一点点时间,就来说说最近才会的关于bit的两个妙用。 求一组数的逆序对 求最长不下降序列 其实两个东西思想差不多,就已第一个为例讲讲。 就是所有数排一遍后,再按照原序列顺序(从后往前),做如下操作: 1、1-(这个数排名-1)的区间和,结果加到答案中 2、把这个数排名为+1 操作1、2分别对应区
阅读全文
摘要:动态规划+kmp+矩阵快速幂 关于这题可以写出一个dp方程(f[i,j]表示准考证前i位中后j位为不吉利的数字的前j位的情况的个数) f[i,j]=Σf[i-1,k],其中j表示不吉利数字前k个数字加上某个数字后变成为不吉利数字的前j位(比如不吉利数字122123,然后现在k=5,那么如果填个3,j
阅读全文
摘要:题解:hzw大神的博客说的很清楚嘛 http://hzwer.com/1941.html 朴素的做法就是每个点如果它不是墓地那么就可形成十字架的数量就是这个c(点左边的树的数量,k)*c(点右边的树的数量,k)*c(点上边的树的数量,k)*c(点下边的树的数量,k)。这样的话要枚举每个点,复杂度很明
阅读全文
摘要:今天有看了一道dp题,发现好像裸不能过,应该是要斜率优化,结果发现自己那点傻×智商早把这东西忘得差不多,而且当时也是有点乱不是弄得很懂。于是又花了一个早上来整理下。 《用单调性优化动态规划》 这个东西的话很好。但是由于我蒟蒻所以看不懂。先找了模板题到网上找题解,然后跟着题解自己推。那么我就用《[ZJ
阅读全文
摘要:又颓废了一个下午,最近撸mc撸到丧失意识了,玩的有点恶心,于是找水题做,瞧不起颓废的自己啊。 another水题。 这题题意很明显啦,就是找数字排列后组成的数去mod d=0后有多少种。 普通的搜索的话,是会tle的(应该是o(n!)没错?)。注意到长度n还是比较小的,于是想到状压dp。 状态就是每
阅读全文
摘要:这道题的思路挺简单的……就是可以证明如果要覆盖一个区域内的点,那么一定有一个正方形在这“区域内的点所围成的最大矩形的四个角中的一个”(不要吐槽很多的“的”……),对于长度r是否可以覆盖整个区域内的点,只需要先枚举第一个矩形在“区域内的点所围成的最大矩形的四个角中的哪一个”,然后再枚举下一个点在“区域
阅读全文
摘要:具体可以去跪《浅谈用极大化思想解决最大子矩形问题》(p.s. 蒟蒻跪了还是很晕,不过想到之前usaco好像是最后一章的一道题……看了下代码顿然醒悟) 也就是如果用o(nm)的方法维护一个极大矩阵?其实很简单,按行处理,维护u[],l[],r[](向上,向左,向右)每一行先预处理处理出这行中每一个点向
阅读全文
摘要:dp+单调性+平衡树 在看某篇论文中看到这道题,但是那篇论文不如这个http://www.cnblogs.com/staginner/archive/2012/04/02/2429850.html 大神的空间写的好(还是说我太弱需要详解……)。 其实要说的在大神的博客里面已经说的很好…… 比如f[i
阅读全文
摘要:一个不错的题解 : http://blog.csdn.net/accry/article/details/6607703 这是一道状态压缩。每个点有一个值,我们最后要求一个最值sum。sum由三部分组成:①每个点的值②每个点与他相邻的点的乘积③如果存在三个点成环,还要加上这三个点的值的乘积。 状态转
阅读全文
摘要:wikioi1034 家园 这是一道神奇的网络流。具体详细的题解以及代码可以去Orz这个大神的博客。 传送门:http://blog.csdn.net/lytning/article/details/23034379 简单地说,就是要建立一个模型,就是把每个点(包括地球和月球)都分成无数多个点……比
阅读全文
摘要:https://www.vijos.org/p/1580 这道题可以很简单地写出一个二维循环的解法,就是对于每个节点i,往前扫比这个节点高度大的节点,看能扫到哪,往后扫对这个节点高度大的节点,看能扫到哪。这样对于n≤100,000的数据会爆。于是我们可以想到,如果我们是这样处理:即对于节点i,我们并
阅读全文
摘要:vijos 1459 车展 一个空的树.. 依次添加1到n。就能解决左端点为1的所有询问了吧。然后从2开始做一遍啊...n方logn得到全部答案。”神牛的话就是这么吊……看上去没什么信息量但还是水很深……实际上要维护子树内元素和。也就是我程序里面写的change,lsum指左子树中所有点的值得和,r
阅读全文
摘要:https://www.vijos.org/p/1720 作为一个一个蒟蒻,跪了三个星期,终于在蔡大神的帮助下a了。这题网上的题解很多,不过大都把题解写的太简单了(对因为大神的题解只有三个字:傻叉题)…… 总结一下网上题题解,其实就是一个奇妙的fail数,这个巧妙的东西看都看不懂真正比赛一定就是不出
阅读全文

浙公网安备 33010602011771号