
DP
文章平均质量分 65
TA201314
这个作者很懒,什么都没留下…
展开
-
tc-srm704-div1-1000 解题报告
题意:构造一个点数不超过20无重边无自环的有向图,节点编号从0到n-1,使得从0到n-1的哈密顿路径数量恰好为k。感觉完全没有思路。。不知道怎么构造。 去看了下别人的代码,原来可以做成1<-2<-…<-18一条路径,然后1-18都向编号比它大的节点连边。这样的话往回走就只有唯一的路径,所以假如说我当前在i,走到了j,j>i,那么就需要立刻从j到j-1直到i+1,然后再往后走。这样就相当于每个节点有原创 2017-01-04 10:48:43 · 1217 阅读 · 0 评论 -
计蒜之道2016 遗失的支付宝密码 解题报告
感觉这题好厉害。。我考试的时候一直在想kmp、sa之类的,完全想偏了。。想到容斥也没有想到可以这么搞。 注意到其实square说的是字符之间的相等关系。所以如果我们考虑至少有哪几个位置是square,那么就可以求出字符串中有几种不同的字符,那么方案数就是m不同字符种数m^{不同字符种数}了。至于字符种数,显然可以通过并查集求出来。 这样时间复杂度是O(n22n2log2n)O(n^22^{n \原创 2016-06-14 19:20:31 · 1621 阅读 · 2 评论 -
[bzoj4314] 倍数?倍数! 解题报告
感觉完全不会做。。看讨论区里有大爷用母函数做的。。完全不会母函数,所以想看看官方题解。。但是官方题解要登录topcoder,注册还得翻墙,然后还是英文,搞了好久终于看懂了。感觉每一步都非常神。。 我们要求的是集合的个数,集合是无序的,这并不好求。我们可以变无序为有序,先求有序集合的数量然后除以k!。 考虑一个元素互不相同的长为k-1的序列,如果说我们要求长为k的序列mod n=0的话,实际上最后原创 2016-05-18 19:27:52 · 1560 阅读 · 0 评论 -
[HNOI2011]XOR和路径
拿这题+JLOI的装备购买学了下高斯消元。这道题的话,非常神奇一个地方在于它的状态。 单独考虑二进制的每一位,那么每一条边的权值就只有0、1之分了。 设f(x)表示从x走到n是1的概率,那么就有f(x)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪0∑(u,v)∈E∩x==u{f(v)1−f(v),w(u,v)=0,w(u,v)=1degree(x),x=n,x≠nf(x)=\left\{ \begin{alig原创 2016-06-01 20:43:33 · 1117 阅读 · 0 评论 -
SDOI2016Round1
Day1T1做了三个半小时,然后T2写的很急判素数写跪了一句话,T3只剩一个20分暴力的时间了。。于是就这么愉快的滚粗了。发现原来我还不会数位DP。。 Day1T3竟然有log3nlog^3n,不过我卡了很久发现似乎确实卡不掉。。最多卡到1.5s左右。。因为线段下传的log与区间长度有关,如果链剖的log大了的话它就会很小;而如果让在每个重链上的长度比较大就会导致链剖的log变得很小。所以很难卡。原创 2016-04-12 08:49:56 · 967 阅读 · 0 评论 -
[cqoi2015]选数 解题报告
本题的性质在于,如果选了两个数,那么这两个数的最大公约数至大为H-L。(所以需要特判只选了一个数的情况) 先来看一下傻逼的做法: 考虑莫比乌斯反演,i*K对答案的贡献是μ(i)∗N⌊HiK⌋−⌊L−1iK⌋\mu (i)*N^{\lfloor {H \over iK}\rfloor - \lfloor {L-1 \over iK} \rfloor},对于所有数相同的情况,我们记一下每个数被多算了原创 2016-03-23 15:39:26 · 1254 阅读 · 0 评论 -
[Coci2015]Stanovi解题报告
结论:一个合法的分割方案必然导致矩形(a,b)可以被一条直线分成两半,且不存在一个内部小矩形的边界是跨过这条直线的。 这是为什么呢?因为每个小矩形的边界必然是从大矩形的边界中出来的,而如果我们阻止它横穿矩形,就必须要启用一条新的小边。而且这些小边是不能互相阻止的,因为假如互相阻止,那么就形成了一个环,这显然是非法的。所以必然有一条边会横穿大矩形。 ——来自鸟哥的讲解所以我们就可以考虑dp了,设f原创 2016-03-22 10:39:33 · 1368 阅读 · 0 评论 -
[HNOI2012]与非 解题报告
这题其实主要考察的就是反演律。 not(a and a)=not a not(not a and not b)=a or b not(not a or not b)=a and b 所以实际上,用nand就可以构造出所有位运算。实际上,对于二元位运算真值表的242^4种情况都是可以按统一的方法构造出来的(很多题解说什么手玩。。其实当然并不是),比如说 输入原创 2016-03-16 08:27:33 · 1483 阅读 · 0 评论 -
[CTSC2007]挂缀 解题报告
时限:1s;内存限制:162MB 这真的是一道非常非常好的题,我做了很久很久。 在网上只能搜到只有结论的贪心题解和一篇关于这道题的非常简略的论文,导致我一直想不通为什么,不过还是很感谢论文里提供的思路,虽然我并不能看懂。。 论文名称叫作《浅谈信息学竞赛中的区间问题》,下文中将多有引用。 接下来我将详细地阐述和证明关于这道题的一些结论和做法,希望可以给以后做这些的人一些启发。一原创 2015-09-10 21:49:58 · 1009 阅读 · 0 评论 -
[NOI2009]管道取珠 解题报告
这题好神啊。。 如果直接dp的话,有一个重复计算的问题很难避免。 所以这题有一个非常神的转化是可以看作是两个人在取,等于两个人取的相等方案的乘积。这样的话,做到最后当然是等于∑ki=1a2i\sum_{i=1}^ka_i^2,看上去并没有什么卵用。但是它的神奇之处在于可以避免重复的问题,可以直接累计。 转化之后问题就变得很简单了,我们设f(l,i,j)表示总共选了l个,其中第一个人从上管道选了原创 2016-07-13 19:14:35 · 1395 阅读 · 1 评论 -
[bzoj4635]数论小测验 解题报告
感觉自己好蠢只会反演。。跑了整整10s。。ans=∑k=lr∑i=1⌊mk⌋μ(i)⌊⌊mk⌋i⌋nans=\sum_{k=l}^r\sum_{i=1}^{\lfloor {m \over k} \rfloor }\mu (i) \lfloor {\lfloor {m\over k}\rfloor \over i}\rfloor^n 这样时间复杂度就是O(∑m√i=1i√+∑m√i=1mi−−√)原创 2016-07-05 11:23:28 · 974 阅读 · 0 评论 -
[Jsoi2013]游戏中的学问 解题报告
其实是很简单的题,一开始想的有点麻烦了。。一开始是这么想的。。: f(k,n)=∑i=3n(n−1i−1)(i−1)!f(k−1,n−i)=∑i=3n(n−1)!(n−i)!f(k−1,n−i)f(k,n)=\sum_{i=3}^n\binom{n-1}{i-1}(i-1)!f(k-1,n-i)\\=\sum_{i=3}^n{(n-1)!\over (n-i)!}f(k-1,n-i)f(k,n)n原创 2016-09-11 20:43:52 · 910 阅读 · 0 评论 -
tc-srm704-div1-500 解题报告
题意: 给定n,K。有q组询问,第i组询问是求∏nj=1xj(0≤xj<K)=vi\prod_{j=1}^nx_j(0\le x_ j<K)=v_i的解的数量。 1≤n≤50,1≤K≤109,1≤q≤100001\le n \le 50,1\le K \le 10^9,1\le q \le 10000我本来是这样想的: 显然最终答案只与gcd(v,K)有关。 那么令f(i,j)为前i个数乘积原创 2017-01-02 09:59:00 · 1039 阅读 · 0 评论 -
calc(陈立杰) 解题报告
感觉最近状态真是烂到爆。。首先不妨令序列有序,然后再乘n!即可。一上来先想到可以倍增,设f[i][j]表示在1~j中选i个数,那么有j->2j,便可以通过枚举一边选了几个得到。但是算错了复杂度以为是O(n3logn)O(n^3\log n)的。。(矩阵乘习惯了一倍增就感觉是三方挂logn。。)(没想到看了题解以后这竟然就是标算。。)然后又想,既然倍增是三次方的。。。那只能看看暴力转移了。f(i,j)原创 2016-10-08 07:01:11 · 6688 阅读 · 0 评论 -
[SDOI2010]地精部落解题报告
这道题是我看了题解以后才做出来的,真是一道神题,但是大神dbbuy原创 2014-11-22 13:47:02 · 1916 阅读 · 0 评论 -
[codeforces704B]ant man 解题报告
题意 求1~n的排列中∑n−1i=1∣∣xpi−xpi+1∣∣+[pi<pi+1](dpi+api+1)+[pi>pi+1](cpi+bpi+1)\sum_{i=1}^{n-1} \big|x_{p_i}-x_{p_{i+1}} \big|+[p_i<p_{i+1}](d_{p_i}+a_{p_{i+1}})+[p_i>p_{i+1}](c_{p_i}+b_{p_{i+1}})的最大值,要求p1=原创 2016-10-21 10:02:00 · 1522 阅读 · 1 评论 -
[codeforces724e]Goods transportation 解题报告
这题好神呀。首先这是一个网络流模型,考虑每个点都向编号比它大的点连一条容量为c的边,然后如果pi≥sip_i\ge s_i,就从source向i连一条容量为pi−sip_i-s_i的边,否则就从i向sink连一条容量为si−pis_i-p_i的边,这样的话最大流就是答案。 但是这个图太大了,不能直接跑最大流,也无法优化。 所以我们可以转而考虑最小割,我们发现如果我们知道了割中的点是哪些,其实是可原创 2016-10-10 19:35:34 · 1513 阅读 · 0 评论 -
[51nod]算法马拉松18 总结
第一次打马拉松。。 a 一看题。。什么鬼。。 n=4竟然是无解,第一个点给了一个n=5的,好像是构造的挺有规律的样子。。 那就偶数无解,奇数照着他的构造方法写一发吧。。 怎么a了?不管了。。既然结束了还是要回来好好想一下是什么情况的。 偶数肯定是无解的,因为一共有n(n−1)2n(n-1)\over 2条边,那么每种颜色的边出现次数相等的话,就意味着每条边应该出现n−12n-1\over原创 2016-09-24 15:20:51 · 1428 阅读 · 4 评论 -
[ZJOI2016]线段树 解题报告
。。很久以前看过题面然后没有仔细想,再做的时候忘了序列是随机的了。。然后怎么搞都是O(n4)O(n^4)的。 我们可以将状态设为f(x,i,l,r),表示在i次操作后,[l,r]<x,l-1和r+1大于等于x的方案数。(不妨认为a[0]=a[n+1]=∞a[0]=a[n+1]=\infty)这样的话假如说有跨越区间端点的操作,那么就一定会使操作中的数≥x。然后令g(x,j)表示让位置j最终<x的方原创 2016-09-20 10:48:38 · 1962 阅读 · 0 评论 -
[bzoj4621] Tc605 解题报告
。。感觉这题跟zj的那题好像。。然后就在想区间dp什么的。。然后突然发现顺着dp就可以了。。 f(i,j,k)表示位置i最终变成了位置j上的数操作了k次的方案数,那么转移就是f(i,j,k)−>f(i+1,j,k)[aj>ai+1]−>f(i+1,j′,k+1)[j′>j][aj′≥max{amin(j′,i+1) max(j′,i+1)}]f(i,j,k)\\->f(i+1,j,k)[a_j>a原创 2016-09-23 08:24:07 · 1375 阅读 · 0 评论 -
[bzoj4664] Count 解题报告
第一眼看就感觉这题好像bzoj4498魔法的碰撞,但想了很久感觉用我那个题的做法好像并不能做。。结果最后发现好像还是可以做哒!首先按h排序,然后设f(i,j,k,o)表示前i个数,在最后的排列中被分成了j段,当前的混乱度是k,目前已经有o个边界(o∈[0,2]o\in [0,2])。 那么f(i,j,k,o)−∗(2−o)−>f(i+1,j,k+(hi+1−hi)(2j−o),o+1),o<2−∗原创 2016-09-11 21:18:14 · 1193 阅读 · 0 评论 -
[CEOI1997]参观洞穴 解题报告
这道题挺有意思的,难点主要在建模。“对于每个房间来说,我们都能找到一条通往任意一个其他房间的只经过内通道的路线,但是如果我们规定每个内通道只能走一次的话,这样的路线是惟一的。” 也就是说,在删掉外通道以后,所有节点形成了一棵树。 但是我比较傻逼。。我只想到了内节点形成了一棵树(而且是二叉树,但是我不知道这有什么用),所以我以为就是用k条带权树上路径去不重不漏地覆盖整棵树,于是就写了一个O(n^2原创 2015-07-04 11:19:10 · 1300 阅读 · 0 评论 -
[CF335D]Rectangle And Square 解题报告
中文题面: 【描述】 你有N个矩形(编号从1到N)。所有矩形的四个角的坐标都是整数,并且两组对边分别平行于X和Y两坐标轴。不同的矩形可能接触,但是不会重叠。 现在你的任务是:选出一些矩形,使它们恰好拼成一个正方形。 【输入】 第一行,一个整数N,为矩形的数目。 以下N行,每行四个整数x1, y1, x2, y2,描述一个左下角为(x1, y1),右上角为(x2, y2)的矩形。这N行原创 2015-06-27 11:58:10 · 1294 阅读 · 0 评论 -
[COGS1862]种树 解题报告
【问题描述】A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树。园林部门得到指令后,初步规划出n个种树的位置,顺时针编号1到n。并且每个位置都有一个美观度Ai,如果在这里种树就可以得到这Ai的美观度。但由于A城市土壤肥力欠佳,两棵树决不能种在相邻的位置(i号位置和i+1号位置叫相邻位置。值得注意的是1号和n号也算相邻位置!)。最终市政府给园林部门提供了m棵原创 2015-01-03 14:34:31 · 1793 阅读 · 0 评论 -
[CODEVS1060]搞笑世界杯 解题报告
这道题其实真的挺简单的。。但一开始想复杂了,导致很久才做出来。我的思路是这样的:设f(i,j)为前i个人拿到j张票的概率,则有:#includeusing namespace std;#include#include#include#includedouble f[5000][5000];int main(){ int n; scanf("%d",&n);原创 2014-12-14 23:15:10 · 1380 阅读 · 0 评论 -
[NOI2010]超级钢琴 解题报告
超级钢琴【问题描述】小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R。我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和。两个超级和弦被认为是相同的原创 2015-01-17 14:09:16 · 1993 阅读 · 2 评论 -
[COGS193]最多因子数 解题报告
这真是一道很神的题,看起来似乎只能暴搜,但是暴搜的话又没法解决出现了大质数因子的问题,所以我蛋疼了一下午还是写了个骗分+暴力,但没想到竟然A了!后来我看了题解,感到很不满意,因为题解根本就没有处理存在大质数的问题。让我们先来看看所谓的正解: 本题的要求是,求出一个给定区间内的含因子数最多的整数。 首先,有必要明确一下如何求一个数的因子数。若一个数N满足N=P1N1·原创 2014-12-06 11:30:52 · 4709 阅读 · 1 评论 -
拔河比赛[CODEVS1959]解题报告
题面:将100个数分成两部分,使其个数之差不超过1,且原创 2014-11-06 15:00:50 · 1045 阅读 · 0 评论 -
POJ1417解题报告
题意:给出n对人之间的朋友和敌人关系,已知它们一共是两波人,人数分别为p1、p2,问是否存在合理方案?若存在,输出方案。多case问题,以n=0,p1=0,p2=0为结束。 分析:先并查集做出若干对集合,然后暴搜方案。。 解题过程:WA | ①n\p1\p2均为0应为!(n||p1||p2)而不原创 2014-11-05 16:32:56 · 1114 阅读 · 0 评论 -
最优贸易解题报告
----------------------------最优贸易是一个n=10^5级的稀疏图,求max{0,w[j]-w[i]}(g[1][i]&&g[i][j]&&g[j][n]).----------------------------一、SPFA的功能与理解,不能仅仅局限于求最短路,而可以是图中某点到图中所有点的某种关系。比如说本题中可以用来求某点到1的所有路径中的Wmax。二、DF原创 2014-11-05 16:18:03 · 2018 阅读 · 0 评论 -
关路灯(MM不哭)解题报告
关路灯 描述某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一 项工作就是每天早上天亮时一盏一盏地关掉这些路灯。为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知 道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去原创 2014-11-05 16:16:12 · 1622 阅读 · 0 评论 -
[BestCoder Round #25 1002]Harry And Magic Box 解题报告
Harry And Magic BoxTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 165 Accepted Submission(s): 64问题描述有一天,哈利得到了一个神奇的盒子。这个盒子由n*m个格子组成,有一些格子里会有闪闪发光的宝石。但是盒子的顶部和底部都被神奇的魔法封印着,所以哈利没办法从顶部和底部看到盒子的内部。原创 2015-01-03 21:55:08 · 1129 阅读 · 0 评论 -
[BestCoder Round #25 1003]Harry and Christmas tree
Harry and Christmas treeTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 70 Accepted Submission(s): 3问题描述圣诞节的夜晚,哈利得到一棵圣诞树。这棵原创 2015-01-05 19:22:54 · 1000 阅读 · 0 评论 -
[USACO 5.4.2 tour]解题报告
这道题一开始写的费用流,分析时间复杂度的话,差不多O(m)吧,觉得数据这么小很奇怪。后来看了题解,原来数据小是为DP准备的;想了想DP的话觉得没什么思路,但是看了题解以后却恍然大悟!像这种两个人走的DP,往往是要把两个状态集乘起来。最经典的莫过于传纸条,然后寒假里做了一道高斯消元的题亦然如此。可见这种思想是非常重要的,以后做题的时候一定要有这个意识。代码(费用流):#include#原创 2015-03-15 16:49:38 · 838 阅读 · 0 评论 -
匹配 解题报告
求一棵树的最大匹配以及最大匹配方案数模m。 n≤1.5∗106,m≤109n \le 1.5*10^6,m \le 10^9 时间限制:2s 空间限制:32MB = =这是一道卡内存傻题,一个显然的DP方程是设f(n,0/1)为这个点向其父亲的边选或不选这个子树能得到的最大匹配,然后g(n,0/1)是其方案数,然后随便转移一下就好了。 注意到状态有4*n个,而内存太小了,最多只能开5*n的原创 2015-07-09 15:00:00 · 807 阅读 · 0 评论 -
[Apio2007]Zoo解题报告
这个题我做的时候感觉非常蛋疼,主要是。。我担心那个小朋友喜欢或害怕的动物在他视域范围外,然后我就判断了一下,结果判断的时候一时脑抽,搞了个相当长的表达式,结果跪成狗了。现在一想,其实假如说它喜欢x,那么显然x合法当且仅当(x+N-E)%N<5啊!哪里有那么多事! 不过以后还是要注意,在写完很长的表达式的时候,务必要仔细检查一遍!还有就是以前不太会用打包位运算,所以写这个题的时候也感到很蛋疼,做完这原创 2015-06-27 11:23:52 · 1199 阅读 · 0 评论 -
[JSOI2008]魔兽地图DotR解题报告
时间限制:1 s 内存限制:162 MB【题目描述】DotR (Defense of the Robots) Allstars是一个风靡全球的魔兽地图,他的规则简单与同样流行的地图DotA (Defense of the Ancients) Allstars。DotR里面的英雄只有一个属性——力量。他们需要购买装备来提升自己的力量值,每件装备都可以使佩戴它的英雄的力量值提高原创 2015-04-28 22:10:42 · 1538 阅读 · 0 评论 -
[POJ1947]Rebuilding Roads解题报告
昨天做DotR的时候刚说以后泛化背包一定要写优化,然后今天又看见一个泛化背包,然后就扯犊子了。。(幸亏从讨论区里搞了一组数据。。)注意到泛化背包可以优化的条件是什么?这其实跟它状态有关,只有当它保存的状态是最多花费价值时,才可以优化。。如果是严格的花费价值,显然是不能优化的!结果我一不小心又思维定势了。。#include#include#includeusing namespace原创 2015-04-29 19:45:29 · 904 阅读 · 0 评论 -
[ZJOI2008]骑士解题报告
这道题题目本身挺简单的。。但是由于我对拍的时候暴力没有考虑周全导致暴力调了很久。①唯一需要注意的地方就是这是一个环套树森林。。由于我一开始没有想到,导致后来改的时候蛋疼了一下。②还有一个是DP的时候不要忘了对于环上的点不选也是有收益的。写2^n暴力的时候,要注意到一个点选的条件是父亲没有被选且没有儿子被选,这应该用两个布尔数组保存下来。。我一开始想着随便乱搞,结果蛋疼了好久。这是不应该原创 2015-04-29 22:02:03 · 1124 阅读 · 0 评论 -
[POJ2152]消防站解题报告
做这道题的时候,我一开始状态设计的太紧了,我设f(i)表示以i为根的子树自己搞定自己需要的最小代价,然后我枚举控制根的点。。然后发现转移是O(N^3)的。看了论文之后发现其实改变一下状态就可以了,其实显然的一件事就是我们现在是在枚举两个点之间的关系了,那么我们不妨设f(i,j)为j控制i,且以i为根的子树都被完全搞定的最小代价;那么状态转移方程就呼之欲出了。①这道题告诉我最大的一点就是当我原创 2015-04-29 17:50:13 · 1041 阅读 · 0 评论