05 2018 档案

摘要:传送门 题解:由唯一分解可以知道每个数都能表示成素数的乘积,因此我们只要判断[l,r]区间内是否出现过d分解成素数后各个素数的次数。用主席树维护之前l-1版本的数,和r版本的树,前后做差就能判断是否满足要求。 阅读全文
posted @ 2018-05-28 17:31 采蘑菇的小西佬 阅读(401) 评论(0) 推荐(0)
摘要:传送门 题意:给你n个门的状态1表示开,每个门被两个开关控制然后给你每个开关控制哪些门的信息,问你能不能将这些门全部打开 题解:2-sat。对于已经开了的门,要么控制它的两个开关都开,要么都关,对于没有开的门只能一个开关开,一个关。 开和关是两种状态,我们将属于同一种状态的开关并查集合到一起,然后c 阅读全文
posted @ 2018-05-28 10:55 采蘑菇的小西佬 阅读(191) 评论(0) 推荐(0)
摘要:传送门 题意:给你一棵树,如果有两条完全相同的链存在则可以关于中间进行折叠,即合成一条链,问你最后剩下的最少的边有多少。不能合并则输出-1 题解:dfs处理,对每一个节点开一个set记录儿子链的长度,如果只有一种长度(可能出现两种情况,一种就是有多条链,但是长度都相同,或者只有一条链但是他们不管是合 阅读全文
posted @ 2018-05-28 10:47 采蘑菇的小西佬 阅读(276) 评论(0) 推荐(0)
摘要:传送门 题意:给你一个函数f[x],问你是否存在满足 g(h(x)) = x for all , and h(g(x)) = f(x) for all , 的两个函数 题解:先化简公式得到一个构造g(x)的公式,g(x)=g(f(x)),并查集将x和f(x)捆绑起来,然后for一遍g(x)这个函数, 阅读全文
posted @ 2018-05-28 10:34 采蘑菇的小西佬 阅读(171) 评论(0) 推荐(0)
摘要:传送门 题解:最小路径覆盖等于点数-匹配数。网络流或者km跑一下二分图记录路径就可以解决 阅读全文
posted @ 2018-05-28 10:26 采蘑菇的小西佬 阅读(226) 评论(0) 推荐(0)
摘要:传送门 题意:给你一棵树,询问u到v路径上的第k大 题解:从u到v的路径能想到,u到根+v到根-lca(u,v)到根-fa[lca(u,v)]到根剩下的就是u到v之间的路径。因此只要离散化一下,每次dfs的时候处理倍增lca和主席树更新操作就可以 阅读全文
posted @ 2018-05-27 22:38 采蘑菇的小西佬 阅读(129) 评论(0) 推荐(0)
摘要:传送门 题解:这题就是HDU2732的中文题面。。。蜥蜴跳的距离是曼哈顿距离。建一个源点对每一个L所在的地方建一个容量为1的边,对柱子如果能跳出去就与汇点建一个容量为柱子容量的边,柱子的出点与入点建一个容量INF的边,柱子与柱子之间只要满足条件就将一个柱子的出点,与另一个柱子的入点建一条为柱子容量的 阅读全文
posted @ 2018-05-27 22:27 采蘑菇的小西佬 阅读(245) 评论(0) 推荐(0)
摘要:传送门 题解:设p为素数 ,则gcd(x/p,y/p)=1也就是说求 x/p以及 y/p的欧拉函数。欧拉筛+前缀和就可以解决 阅读全文
posted @ 2018-05-27 22:17 采蘑菇的小西佬 阅读(135) 评论(0) 推荐(0)
摘要:传送门 题解:枚举每一对天数 跑n*n/2次最短路,每次跑最短路之前都要传递闭包处理出能不能经过这个码头。 状态转移方程ans[i]=min(ans[i],ans[j]+dp[j+1][i]+k); 第i天的最小成本是由第j天加上j+1天到i天的成本+转移路线的花费 阅读全文
posted @ 2018-05-27 22:13 采蘑菇的小西佬 阅读(200) 评论(0) 推荐(0)
摘要:传送门 题解:二维dp,第一维记录位置,第二维记录前一个。 阅读全文
posted @ 2018-05-27 21:59 采蘑菇的小西佬 阅读(178) 评论(0) 推荐(0)
摘要:传送门 题解:开个6维的dp函数,第一维记录位置,第二维记录当前位置的前两个,第三维记录当前位置的前一个,第四维记录是否出现4,第五位记录是否出现8,第六维记录是否满足出现三个连续的数字。特判1e10 阅读全文
posted @ 2018-05-27 21:56 采蘑菇的小西佬 阅读(172) 评论(0) 推荐(0)
摘要:题意:离线询问[l,r]区间第k大 题解:模版题,入门题 阅读全文
posted @ 2018-05-27 21:49 采蘑菇的小西佬 阅读(145) 评论(0) 推荐(0)
摘要:题意:多次询问区间内 两数差的绝对值的最小值 题解:离线询问则可以按照询问的l排序,倒着询问,倒着从r更新到l 每次更新i+1到n这个区间,保证这次的更新不会影响到下一次以及以后的更新。因为当两个区间出现覆盖时,l更小的那个区间的值一定小于等于另一个,画个图就可以明白。 阅读全文
posted @ 2018-05-27 21:46 采蘑菇的小西佬 阅读(170) 评论(0) 推荐(0)
摘要:题意:给你n堆石头,在同一堆石头下不能取两次相同的数目,问能否后手胜 题解:设一堆石头最多能取k次不同的石头数目,有nim博弈可以知道只要每一堆石头能取的次数异或起来为0则为必败局,则YES 阅读全文
posted @ 2018-05-27 21:41 采蘑菇的小西佬 阅读(231) 评论(0) 推荐(0)
摘要:题解:这个建图很简单,只要把(1,1)这个点作为超级源,(n,m)作为超级源就可以xjbp。空间要算好。dinic当前弧优化一下就可以跑1500ms 阅读全文
posted @ 2018-05-17 19:34 采蘑菇的小西佬 阅读(185) 评论(0) 推荐(0)
摘要:题解:分块,然后暴力维护每一块上升序列,注意是不是最长上升序列,二分查找第二块中大于第一块的最后一个上升序列中的数。 注意:每一块的大小不要用√n会T掉的,把块的大小设为500-600都可以(T了一页了)。或者你用线段树去写。 阅读全文
posted @ 2018-05-17 16:27 采蘑菇的小西佬 阅读(196) 评论(0) 推荐(0)