ICPC
文章平均质量分 81
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
计蒜客 ICPC2019 上海网络赛 C Triple(FFT + 组合计数)
大致题意:给你三组边长,让你从三组边长里面各选出一条边,问组成非严格三角形的方案有多少种。这里非严格是指,可以退化为一条直线。这题其实算是半个原题,详见HDU 4609。那道题是一组边选三条构成严格三角形,这里是三组边。其实本质上类似。参照那道题目的做法,我们枚举一条最大边,于是我们就可以知道另外两条边的和就是这条边的长度到最大长度这个区间内。我们要做的就是看,从另...原创 2019-09-16 20:38:20 · 423 阅读 · 0 评论 -
HDU 5470 Typewriter(后缀自动机 + 单调队列优化dp)
大致题意:给你一串字符以及单独打印每一个字母的代价,对于一个字母,你可以选择直接打印,也可以选择利用复制粘贴的方法来完成。对于复制粘贴,每次选择长度为i的字符串的代价是i*A,复制的代价是B,粘贴的代价也是B。即复制并粘贴一个长度为x的字符串的代价是x*A+2*B。现在问把这一整个字符串打印出来的代价是多少。这道题目在今年三月的时候就开始做了,但是当时一直WrongAnswer没有找到原因,然后最近复习字符串重新做了一下,才终于过了。首先,我们考虑暴力的做法。我令dp[i]表示打印到第i个字符的最小代价,那原创 2018-08-17 16:37:23 · 566 阅读 · 2 评论 -
计蒜客 2017ICPC乌鲁木齐A Coins(概率期望dp)
大致题意:总共有n个硬币,初始的时候所有的都朝下。然后进行m次投币,每次投币要投p个硬币,这p个硬币相互独立,且最后朝向正反概率相同。为了使得最后朝上的硬币最多,采取最优的投币方式。现在问你按照这种方式,最后朝上的硬币个数的期望是多少。对于这种题目,如果不能够推出一个O(1)的通项公式,那么基本就是一个概率期望dp了。对于这题,我们首先考虑怎样才是最优的投币方式,概率我们不能决定,但是我们可以选择每次投哪p个硬币。显然,每次我们投的时候都只投那些朝下的硬币,不动那些已经朝上的硬币,只有当朝下的硬币不够k个的原创 2018-07-30 11:07:16 · 369 阅读 · 0 评论 -
计蒜客 Floppy Cube ACM/ICPC 2017 Qingdao(bfs+polya+Java大整数)
之前几篇文章也说了,这道题,与金牌就差一点…… 在赛后做了SGU 208,知道了polya定理的另外一种做法,然后在求证了 CSU Xushu Dalao 之后就知道了这题的具体做法。 昨天,无意中看到了计蒜客已经有重现的题目了,于是就按照之前所想的敲了敲。根据SGU 208的经验,我们需要对魔方的每一个小的面标号,然后手写出最基本的几个置换过程,然后搜索求出所有的置换。经过观察,我们可以发现,一个1*3*3的魔方的基础置换总共有三种,分别是整体旋转90°、某一条边旋转180原创 2017-11-13 18:24:45 · 941 阅读 · 0 评论 -
HDU 4787 GRE Words Revenge(在线AC自动机+思维)
大致题意,给你很多个字符串,每个字符串前面会有一个字符,'+'表示添加一个新的字符(模式串),'?'表示一个询问,询问这个串中有多少个模式串。然后所有的串经过加密,强制在线。 很明显的一个AC自动机,当时要求在线,我们考虑如果正常的AC自动机暴力去做,每添加一个单词就重新求一次fail指针,最坏的时候隔一个询问一次,复杂度能退化到O(N^2)显然会超时。 而事实上,AC自动机好像也没有一个很好的方法把它变成在线的数据结构。于是这个时候,我们就要想到一种巧妙的方法。我们设置两个AC原创 2018-03-12 15:49:18 · 443 阅读 · 0 评论 -
POJ 3693 Maximum repetition substring(后缀数组+RMQ)
此题也是一道非常之巧妙的后缀数组题目。 大致题意,就是求一个字符串的最多连续出现的子串,即一个子串,可以分成最多个相同的循环节的组合。 对于本题,我一开始有一个想法,根据之前做题累积的经验套路,我们可以枚举重复次数,然后再枚举一个开始节点,求区间rmq,如果大于0,那么就是一个可能的解。但是显然这样子有重大的问题。首先,忽视了这个“连续”,求区间rmq可以求出出现至少k次的最大长度,但是这个出现k次并不一定是连续的。举个例子说,ababac,有后缀ababac、abac、ac原创 2018-03-03 11:24:15 · 284 阅读 · 0 评论 -
HDU 6194 String ACM/ICPC 2017 Shenyang Online(后缀数组+容斥原理+线段树/ST)
据说这题是另一道SPOJ的一道后缀自动机的弱化版,好腻害的样子……这里用后缀数组解。 大致题意,给你一个字符串,然后问你在这个字符串中,恰好出现k次的不同子串有多少个(可以相互重叠)。 首先明确所有后缀数组题目都很重要的一点,即所有子串都是某个后缀的前缀,大部分都可以转化为lcp的问题。然后我之前在POJ上做了一道题,没有写博客,是求一个字符串中最长的出现至少k次的子串的长度(POJ 3261)。这两道题目类似,在求至少k次的时候用的是同样的方法。 对于这个出原创 2018-03-03 10:52:36 · 288 阅读 · 0 评论 -
hihoCode 1249 A Math Problem ACM/ICPC 2015 Beijing (数位dp+规律)
题目本身在UVa,但是据说数据有问题,请在hihoCoder上面提交…… 大致题意:告诉你一个整数函数满足的式子,然后f(1)~f(n)每个函数值对K取模,每一个统计取模之后每一个数字出现的次数,数尺所有数字出现次数的异或和。 本来以为是一道找规律题或者说是数论题,但是没想到居然是一道dp?!根据题目给出的表达式,我们容易求出f(n)递推公式:f(2*n+1)=3*f(n)+1,f(2*n)=3*f(n),f(1)=1。然后我们多写出几项f(1)=1,f(2)=3,f(3)=原创 2017-12-10 18:10:36 · 380 阅读 · 0 评论 -
BZOJ 1143 祭祀river(floyd传递闭包+最大独立集)
2017南宁ICPC M题的原题,果然是一模一样…… 都是我的错,没有一眼就看出来,导致两个队友一直在往歪的方向上思考这道题,然后与银牌失之交臂…… 当时也曾经想过求二分图的最大独立集,用网络流或者匹配。但是我始终无法说服自己,这个图怎么能够转化为二分图呢?但是实际上这个担心是多余的,我完全可以用惯用套路,把一个点拆成两个,强制转换为一个二分图。然后直接用总的点数n减去最大匹配数,即为最后的最大独立集。但是呢,这里的连边关系不是简单的就用题目给出来的边就行了,而是要先传递闭包原创 2017-11-29 11:04:32 · 375 阅读 · 0 评论 -
计蒜客 ICPC南京站网络赛 Skr(Manacher + 字符串哈希)
大致题意:给你一个数字串,让你找出这个串所有的回文子串转化成为的数字的和。用到回文子串,很自然而然想到用manacher算法。首先manacher算法求出每一个位置的最大回文串的半径,然后我们考虑把每一个回文串抠出来,首先判断它是否被计算过,如果没算过则直接加到结果中。这个过程直接用字符串哈希解决。那么问题就是,时间复杂度的问题了。可以证明,一个字符串的不重复的回文子串...原创 2018-09-05 20:30:51 · 317 阅读 · 0 评论 -
计蒜客 ICPC沈阳网络赛 Ka Chang(树上分块 + 树状数组)
大致题意:给你一棵有根树,有两种操作,一是把某一层的所有的节点增加一个val,二是输出一个节点所在的子树的和。普通的dfs序可以支持子树查询,但是不能支持按照深度的修改。对于一个深度,修改一次的复杂度是klogn,k为这个神的的节点个数,可以看出,如果是一个类似菊花图的东西,时间复杂度会爆炸。然后为了解决菊花图下的复杂度问题,我们考虑在修改的时候知识对某一个深度打上一个标记,然后在查询的时候,遍历对应子树的所有深度,用对应深度的点的个数乘以深度的改变量即可。但是这样在遇到链的情况下,同样复杂度退化。于是我们原创 2018-09-09 11:08:16 · 281 阅读 · 0 评论 -
计蒜客 ICPC南京网络赛 The Great Nim Game(线性基)
大致题意:Nim游戏,是指有n堆石子,每堆石子有ai个石子,两个人轮流取,每次可以取一堆的至少一个石子,最后取不的人输。现在告诉你总共有N堆石子,这个N很大,可以有10^10000000这么大,然后每一堆的石子数量有一个产生式。你的任务是在这N堆石子中,任意选取几堆石子,使得先手必胜,问方案数。首先,根据定理,Nim游戏要使得先手必胜,必须要所有堆的石子数量的...原创 2018-09-06 20:11:17 · 345 阅读 · 0 评论 -
计蒜客 2019ICPC 徐州网络赛 H function(Min25筛)
大致题意:定义f(n)表示n分解质因数后,各个质因子的幂次之和,现在让你计算。显然只需要考虑质数,计算质数的贡献。我们令 那么质数p的贡献就是: 对于小于的质数,我们可以直接暴力求解。对于大于,...原创 2019-09-14 10:15:39 · 446 阅读 · 0 评论 -
计蒜客 2019ICPC 南昌网络赛 F Megumi With String(后缀自动机)
大致题意:给你一个字符串S和一个多项式f(x),然后再告诉你一个长度。随机取这样一个长度的字符串T,如果T包含S的某个子串且这个子串的长度为len,那么T的权值就增加f(len),如果包含多个子串,那么权值为他们的和。现在问你这个T的期望权值是多少,且S不断变长,你需要求T在每个S情况下的期望。这题可以参照 HDU 6405 两题有类似之处。这里本质上相当于统计每个...原创 2019-09-14 09:39:48 · 290 阅读 · 1 评论 -
计蒜客 2018ICPC徐州站/gym 102012G Rikka with Intersection(组合计数 + 树链剖分 + 树状数组)
大致题意:给你一个包含n个点的树和m条路径。现在让你从这m条路径中选择k条路,使得这k条路径一定有至少一个公共交点,问选出这k条路径的方案数是多少。最朴素的想法就是,每次查看一个点的贡献,也就是枚举这个公共点,然后看有多少个路径经过这个点,组合数求一下即可。但是这个错误也是很明显的,因为有可能同样一批路径,会有超过一个的公共点,这样的话就会重复计算。显然,如果有多个公共点的话,...原创 2018-12-02 22:47:15 · 889 阅读 · 0 评论 -
计蒜客 ICPC徐州网络赛 Easy Math(Min25筛)
大致题意:让你求 。根据莫比乌斯函数的定义,对于mu(i)如果i可以分解为任意一个质数的平方分解,那么函数值为0。所以对于这个求和的式子来说,i有意义,当且仅当gcd(i,n)==1。而根据莫比乌斯函数的积性,当gcd(i,n)==1时,有。所以说这个mu(n)完全可以提取到外面,这样求和式子就是: ...原创 2018-09-11 08:09:53 · 545 阅读 · 0 评论 -
计蒜客 ICPC焦作网络赛 Modular Production Line(区间k覆盖 + 最小费用最大流)
大致题意:给你N个机器,可以生产M个物品,每个物品i生产出来需要区间[li,ri]内的机器一起工作。可以产生wi的利润。每个物品只能生产一次,每个机器最多只能工作k次,现在问你能够产生的最大利润。每个机器只能工作k次,每个物品只能够生产一次,求最大利润。这种问题一看显然就像是一个费用流相关的东西。经过观察分析,你可以发现,这个就是一个区间k覆盖的问题。即一个区间对...原创 2018-09-19 15:34:33 · 231 阅读 · 0 评论 -
计蒜客 ICPC沈阳网络赛 Convex Hull(容斥原理 + 莫比乌斯函数)
大致提议:求题目中所给式子的求和。真的是非常非常非常简单的一道题目,式子都推对了,我竟然去想杜教筛而没有想容斥……根据函数的定义,很容易发现这个函数其实是或者说。然后对于题目给的式子,我们可以交换一下求和次序,可以得到: 然后把它拆开成为两部分: ...原创 2018-09-18 22:03:41 · 397 阅读 · 0 评论 -
ZOJ 4053 ICPC2018青岛网络赛 Couleur(可持久化线段树 + 复杂度分析)
大致题意:给你一个序列,每次删掉序列中的一个数字,使得原本的一段变成两段。每次在删除之前,输出所有段中,逆序对数量最多的逆序对,强制在线。对于这道题,你需要有一定的胆量。对于逆序对,如果暴力求的话,其复杂度是O(NlogN)的,这个用很多中方式都可以求出来。现在考虑按顺序删掉数字,每次删掉数字之后,拆成两个新的区间,这样在所有区间中,逆序对最多是多少。考虑,删除之后,...原创 2018-09-18 21:06:47 · 432 阅读 · 0 评论 -
计蒜客 ICPC南京网络赛 Set(字典树 + 合并 + lazy更新)
大致题意:n个集合,你要进行m个操作。总共有3种操作。第一种,合并两个集合x和y。第二张,把特定的集合里面所有的数字加一。第三种,询问在某个集合里面,对于所有数字对2的k次方取模后,有多少个数字等于x。首先,合并的话实在是有太多的方式,大部分数据结构的启发式合并包括set都可以。但是主要是第三个,所有数字对2的k次方取模,然后看结果有多少个数字等于x。仔细想想这个取模,不难发现,其实就是询问,一个集合里面,在二进制下,后k位x的数字有多少个。询问与二进制和位数有关,很容易想到用字典树。字典树的合并比较容易写原创 2018-09-07 00:14:14 · 306 阅读 · 0 评论 -
UVALive 7263 Today Is a Rainy Day(BFS预处理)
非常聪明的搜索。 大致题意:给你很多1~6的数字组合表示的状态,一个起始状态一个终止状态。每一步你可以选择两种操作中的一种,一是选择其中一个位置的数字变成另一个,二是选择一类数字,把所有该数字变成另外一个数字。 首先,很显然的,最优答案一定是先做第二个操作,然后再做第一个操作,然后操作数肯定小于数字的长度。于是,根据这个,我们便是可以枚举所有的第二个操作的变换。注意到每个数字只会变成其他五个数字,而且不会往回变,所以总的变换个数就是6!个,但是实际为了方便不考虑那么多,认为有原创 2017-12-12 00:15:06 · 339 阅读 · 0 评论 -
HDU 5575 Discover Water Tank(并查集+左偏树/启发式合并)
非常巧妙的一道题。 大致题意就是,给你一个水池,有N-1个隔板分成N个格子,告诉你隔板的高度。给出你M个询问以及询问的结果,然后问你这M个询问中为真实的最多有几个。询问的格式是x、y、is,表示第x个格子,在高度为y的地方,是否有水。 首先,最基本的,你要想到,当没有水的时候,答案就是所有is==0的询问。然后当有水的时候,有可能满足条件的询问会更多。既然如此,我们显然可以对所有is==1的询问的水位按照从低到高的次序排序,然后枚举每一个水位高度,把对应格子的水位变成那个高度原创 2017-11-02 21:36:08 · 610 阅读 · 0 评论 -
HDU 5868 ACM/ICPC Regional Dalian Online(polya计数+矩阵快速幂+欧拉函数)
人生第一道polya计数的题目,纪念一下。 题目大意就是,给你一个n个点的还,然后你可以给每个点涂成黑色或者白色,但是要求任意两个相邻的点不能涂成黑色,问在旋转同构的要求下,本质不同的方案数有多少种。 看到这种题目,问本质不同的方案数,那么一般就是用polya计数原理了。首先,我们不考虑这个本质不同,我们假设有n个点时,很容易发现方案数f(n)=f(n-1)。分别表示第n个点颜色为黑色白色,和第n个点为黑色的方案数。那么就成了fibonacci数列了,只不过首项是1和3.。原创 2017-08-20 15:47:50 · 554 阅读 · 0 评论 -
HDU 5869 ACM-ICPC Regional Dalian Online(离线统计+树状数组)
本来想做数论的题目的,没想到是一道离线统计的题目。果然统计加离线大法的力量就是强…… 大致题意就是,给出一个数列,然后有很多询问,每次问一个区间内它的所有子区间的gcd的值有多少种。一开始的话认为可能会有一些区间的性质,即对于区间[l,r]可以用1到r的种类数减去1到l-1的种类数得到结果。但是发现这个正确性不能保证,因为前一段有gcd为x的,后一段可能也有gcd为x的,这样可能会使得方案数偏少。 于是想到用离线处理的方法,从最左边开始,按顺序把每一个数字的贡献加入。然后对于原创 2017-08-17 13:49:52 · 358 阅读 · 0 评论 -
HDU 5514 Frogs ACM/ICPC 2015 Shenyang(容斥原理)
有很多个青蛙在绕着一个圆圈跳,第i只青蛙每次能够跳ai步,然后起始点为0,问你把所有青蛙能够踩到的点的位置编号加起来结果是多少。 有了之前一道博弈题的经验,我们很快能够知道,如果一只青蛙每次跳的距离是ai,那么所有gcd(ai,m)的倍数的编号都能够被走到。于是就相当于求所有的gcd的倍数的和。问题很快就出现了,会出现重复。 计算倍数的和与计算倍数的个数很类似,于是很容易想到之前多校的TrickGCD那题,那题就是用莫比乌斯函数去容斥。但是这题m的范围很大,不可能求出莫比乌斯原创 2017-09-03 23:21:57 · 425 阅读 · 0 评论 -
HDU 5446 Unknown Treasure ACM/ICPC 2015 Changchun Online(Lucass+CRT)
可以说是一道裸题,求C(n,m)对p1*p2*……pn取模,这个n、m都可以到1e18级别,然后pi是1e5级别。 如果说只对一个质数p取模,而且质数不大,那么我们直接可以用Lucass定理拆分求组合数,这个我之前讲过了,我就不多说了。关键是,本题取模是对很多质数的乘积取模,故不能直接用Lucass定理。如果我们设最后答案为X,那么X=C(n,m)%(p1p2……pn)。根据同余的性质,我们可以有X%pi=C(n,m)%pi,这个很容易理解,于是我们X对于所有的pi的方程都写出来。则有:原创 2017-09-06 09:33:51 · 483 阅读 · 0 评论 -
HDU 5445 Food Problem ACM/ICPC 2015 Changchun Online(二进制优化多重背包)
当时读题的时候就感觉这题很明显的多重背包,但是感觉条件好多就不敢想…… 其实,这个只要把问题拆成两个部分就行了。题意就是,每个点心有一定的能量、空间和数量,然后你的要求是使得总的大于p,然后你可以租一些车来运送这些点心,不同的车有不同的价格、容量和数量,问你在满足能量总数大于p的情况下,最小要花费多少。 确实如果看成一个整体去考虑,确实不好dp。于是拆成两个独立的问题,首先,总能量大于p最少需要多少空间,然后对于这个最少的空间,我又需要花费最小多少代价能够把这些东西装完。原创 2017-09-06 20:53:14 · 462 阅读 · 0 评论 -
HDU 5449 Robot Dog ACM/ICPC 2015 Changchun Online(数学期望+LCA)
大致题意是,给你一棵n个节点的树,树上有k个宝石,编号0~k-1,现在从起点s放一条电子狗,电子狗在每个节点往各邻接点走的概率相同,问电子狗按编号顺序拿完所有宝石的期望步数。 这题的关键就是如何考虑这个期望步数,因为如果没有一个好的考虑方式,一直在乱走,情况很多无法求出期望。所以我们考虑,对于从一个点u到一个点v的期望步数,肯定与lca有关,大致可以分为,从u到lca的期望步数,再从lca到v的期望步数,两者之后即为答案。再进一步思考发现从父亲往儿子走和从儿子往父亲走是两种不同的情况。于是考原创 2017-09-07 08:42:00 · 724 阅读 · 0 评论 -
HDU 5536 Chip Factory ACM/ICPC 2015 Changchun(Trie)
人生第一道Trie…… 对于异或问题,用Trie求解最大最小值是一个常用套路。本来Trie不属于我的范畴的…… 本题求一个互不相同的i、j、k,使得最后结果(si+sj)^sk最大。暴力的方法枚举三个不同的i、j、k,据说现场赛这种O(N^3)的方法居然能过?!大力出奇迹啊…… 正解的话在模拟比赛中也想到了。一开始把所有的数字加入到Trie中,然后枚举i和j,把si和sj从Tire中删除,然后在Trie找与si+sj异或结果最大的数字,并返回结果,最后再把si原创 2017-09-08 09:19:31 · 368 阅读 · 0 评论 -
HDU 5534 Partial Tree ACM/ICPC 2015 Changchun(完全背包)
有n个节点的树,但是还没有连边,现在要你去连边。然后对于一棵树,它的权值的计算与每个点的度有关,如果某个点的度是i,那么这个点的权值贡献就是f(i),其中f(1)~f(n-1)已经给出,然后问最后权值最大的树权值是多少。 看到这题的时候,我就感觉,不管怎么建树,只要能够保证每个点的度至少为一,那么总是存在一棵树满足你的度数分配要求。换句话说,我们要做的只是把所有的度分配下去,而且分配与点无关,即把度分为n个部分,每个部分不能为0。n-1条边就对应2n-2个度。 知道了,度数可原创 2017-09-08 09:05:37 · 293 阅读 · 0 评论 -
UVa 7037 ACM/ICPC 2014 Xian(网络流+最大密度子图)
大致题意:给你一个1~n的排列,然后让你在这个排列中挑选任意个数字,使得这些数字组成的子串的逆序对数量除以总长最大。 首先,我们先来回顾一下逆序对怎么计算。正常来说,O(N^2),但是大大可以用一些数据结构来优化。无非就是,加入一个数字的时候统计在此之前比该数字大的数字有多少个,然后再把这个数字加入。这种单点修改,区间查询,用树状数组再好不过了。 但是对于这题来说,由于数字可以是任意取,即不一定是取连续的一段,所以在子串的选取上就不太好处理。如果说本题是要求子串必须是原排列的原创 2017-09-13 21:59:00 · 479 阅读 · 0 评论 -
HDU 5984 ACM-ICPC Regional QingDao(数学期望)
人生第一道数学期望程序,纪念一下…… 就是跟你一根棍子长度为L,你每次可以在任何一个点把它折断,同时拿走左边那段,对右边那段棍子继续重复刚刚的动作,知道剩下的棍子的长度小于d。然后问你在根除L和d的情况下,期望多少次能够使得不能继续把棍子截断。 本来好好的一道数学题,被大部分人做成了找规律的玄学题……鄙视(╬▔皿▔)凸找规律的人……原创 2017-08-03 09:54:17 · 1308 阅读 · 0 评论 -
HDU 5988 ACM-ICPC Regional QingDao(最小费用最大流)
去年青岛站regional原题,在两个人的情况下做了四道题,按照现场排名大概六十多…… 我记得小肥羊学长和我说过,regional很喜欢考网络流的题目。然后做了原题,果不其然。这道题就是一个网络流的题目,而且个人感觉比较裸。题目大致意思就是,在acm比赛中,选手要在比赛中吃饭,然后在某些供应点有一定数量的人还有一定数量的饭。当然了,可能出现供不应求的情况,此时的话选手就得走到别的供应点去拿饭吃。因此还给出了一些路径,对应路径还有容量,但是这路上会有其他选手的电脑,所以走的时候每一条路都会有一原创 2017-08-03 09:29:01 · 678 阅读 · 0 评论 -
HDU 5528 Count a*b ACM/ICPC 2015 Changchun(数论)
非常棒的一道数论题,而且还是一道金牌题,A了几乎就是金牌…… 至于具体推到姿势,由于符号难写,我就用某个大神的手迹来说明吧,大神写的真的很好。原文地址:http://blog.csdn.net/firstlucker/article/details/49336427 下面,我解释一下画横线那一步。之前已经是求到了sigma(gcd(a,x)),相当于1~x中所有数字与x的gcd之和。BTW,关于这个可以再说一篇文章,P原创 2017-09-08 21:22:56 · 519 阅读 · 0 评论 -
HDU 6228 Tree ACM/ICPC 2017 Shenyang(思维)
一道思维题。 大致题意是,给你一棵树,让你把这些树上的节点用M种颜色染,然后问你在最优的染色方案下,相同颜色点连接的最小边集的交集最大是多少。题目可能有点难理解,看懂样例就知道了。 初始想法就是,我至少要选择M个点对,这些点对的颜色相同,要求这些点对的路径交的数量最高。那么,如果是这样的话,我首先选取树的直径,直径两端的点即为第一个点对,然后依次往里面缩小,缩小一级之后,再往周围拓展。听不懂也不要担心,因为按照此贪心策略,会得到一个WA。因为我们的相同颜色连接不只是一条路径,原创 2017-11-12 10:31:19 · 1527 阅读 · 0 评论 -
HDU 5573 Binary Tree ACM/ICPC 2015 Shanghai(构造)
现在想来非常简单的一道构造题。 大致题意是给你一棵无穷大的满二叉树,其中任意节点i的两个儿子分别是2*i和2*i+1,然后每个节点的权值等于节点的编号。然后现在给你一个n和k,要你从根节点1开始,一直往下走选取k个节点,然后给每一个选取的点的点权加上正负,最后输出使得这k个节点的加权和为n的方案。只要求输出一种即可。 看到这题,首先要联想到二进制的原理。我们知道,用二进制1、2、4、8、16……这些数字可以表示所有的数字,而在这个无穷大的满二叉树中,这些节点又全部存在,所以我原创 2017-11-02 07:34:00 · 398 阅读 · 0 评论 -
HDU 4089 Activation(概率dp)
ActivationTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4222 Accepted Submission(s): 1411Problem DescriptionAfter 4 years' waiting...原创 2017-10-09 23:21:28 · 301 阅读 · 0 评论 -
HDU 4794 Arnold ACM/ICPC 2013 Changsha(二次剩余+数论)
看了这么久,居然不是找规律的题目…… 大致题意是给你一个N*N的矩阵,然后告诉你阿诺德变换,即原来坐标为(x,y)的点变换一次后变成((x+y)%N,(x+2y)%N)。然后告诉你阿诺德变换一定能够通过有限次变换之后变换回原本的矩阵,然后让你求这个周期。 我们用(x,y)的形式表示每一个坐标,写出经过阿诺德变换之后的坐标。我们发现,对于坐标(x,y),经过有阿诺德变换之后,在模n的剩余系下可以写成(fib(n)x+fib(n+1)y,fib(n+1)x+fib(n+2)y)的原创 2017-09-22 08:50:04 · 972 阅读 · 0 评论 -
HDU 4799 LIKE vs CANDLE ACM/ICPC 2013 Changsha(树形dp)
长沙居然也举办过regional…… 大致题意是,有一个原始的微博,然后大家都去转发它,转发的时候用LIKE和CANDLE分别表示支持和不支持。然后每个人都可以转发其他的微博(可以是原始的也可以是转发的),每个微博都有一定的价值,要计算支持的价值与不支持的价值差最大是多少。你可以选择花X价值去反转一些人的态度,每次反转之后,相应的所有转发过这个人微博的人的态度也会跟着反转。但是有一些微博已经被其他人反转过了,那么你要再次反转它得花价值Y。然后问最后价值差最大是多少。 转换过来原创 2017-09-21 18:35:27 · 396 阅读 · 0 评论 -
HDU 4035 Maze(数学期望)
大致题意:有一个n个房间的迷宫,一开始你在1号房间,然后有n-1条通道,走到每一个房间都有一定的概率被杀死,或者在这个房间找到出口。然后每次通向相邻的通道有是等概率的。而且每次被杀死之后就会重新回到1号房间,重新走。问你从1号房间开始,直到走出这个迷宫,期望要走多少个这样的通道。 看到这题的时候联想到15年长春regional的机器狗那题,同样也是一个在树上求期望的题目。与是仿照那题一样的分别求从根到任意点和从任意点到根的期望。但是在计算的过程中一环套一环实在比较难以实现。于是看了Kuang原创 2017-10-07 08:41:34 · 396 阅读 · 0 评论