随笔分类 - dp
摘要:我们不难发现,假设抽了x张攻击牌,y张强化牌,那么肯定是打出尽可能多张的强化牌后,再开始出攻击牌(当然最少要一张攻击牌) 我们设G(i,j)表示:所有(抽到的攻击牌牌数为i,打出的攻击牌牌数为j)的方案,所产生的攻击值的总和 形式化地说:$G(i,j)=\sum\limits_{S∈攻击牌\and
阅读全文
摘要:我们考虑用状压dp来解决这一道题 设f[i][S]表示当前排列的前i位所构成的最大独立集恰好为S的方案数 我们考虑用f[i][S]推出f[i+1][S′]的值 那么我们有两种扩展的方法,一种是在第i+1位,加入一个数j,满足S∩j=∅,且S∪j为最大独立集。 这种情况,相
阅读全文
摘要:题目大意:有n座城堡,s轮游戏。 对于第x轮,第i座城堡的士兵数量为a[x][i]。 如果你需要攻下第i座城堡,你在第i座城堡部署的士兵必须严格大于2a[x][i],如果攻下了你会获得i的收益。 对于这s轮游戏,你只能采用一种部署方式。 下面问你应该如何部署,使得你在这$
阅读全文
摘要:题目大意:你需要构造一个长度为n的排列A,使得里面包含有子序列B(子序列B为一个给定的1到m的排列),且对于每个i,有A[A[i]]=i,问有多少种方案方案。 数据范围:n≤107,m≤500,答案对109+7取模 我们首先不考虑有m的存在,考虑如何构
阅读全文
摘要:题目大意:给你一个[0,1]之间等概率随机序列,你需要把这个序列插入到一棵treap中,问这棵treap的期望深度,请对于[1,n]中的每个深度分别输出它的概率(实数,保留五位小数)。 treap的优先级之也是在[0,1]中等概率随机出来的。 ps:这个[0,1]的随机非
阅读全文
摘要:此题niubi! 题目大意:给你一颗n个点的点带权无根树,现在请您进行以下两步操作: 1,选择一个[0,T]之间的整数C,并令所有的点权wi变为(wi+C) 2,选择若干条点不相交的路径;设选择的条数为k,覆盖的点的点权和为S,则收益为Sk+1
阅读全文
摘要:题目大意:给你D个格子,有n个喷水器,每个喷水器有一个喷水距离ri。 现在你需要在这D个格子中选择n个位置按照任意顺序安装这n个喷水器,需要满足n个喷水器互相喷不到对方。 问方案数,对109+7取模 数据范围:n,ri≤40,D≤105 我们不妨考
阅读全文
摘要:题目大意:有n个人,区间大小为m,每个人必须覆盖一段区间[li,ri],问你存在多少种不同的覆盖方案,使得区间上每个位置被覆盖的次数不超过t。 两种方案被定义为不同当且仅当存在第i个人覆盖的区间不同。 求方案数,对一个质数取模。 数据范围:n,m,t≤40 我们考虑dp。 设
阅读全文
摘要:题目写得不清不楚的。。。 题目大意:给你一棵n个节点的树,你会随机选择其中一个点作为根,随后随机每个点深度遍历其孩子的顺序。 下面给你一个点集S,问你遍历完S中所有点的期望时间,点集S中的点可能会重复。 数据范围:n≤105 我们考虑钦定根,然后暴力dp。 设s[u]表示遍
阅读全文
摘要:题目大意:给你一个长度为n的序列a,我们定义fi表示序列a前i项一次进行按位与运算后的值。 我们认为一个序列的价值为∑ni=1fi,现在你要重新排列序列a,使得序列的价值最大。 数据范围,1≤ai,n≤106 我们考虑dp。 不难发现,若序列
阅读全文
摘要:题目大意:给你一棵 n个点 以 1为根 的树,每个点有0,1,2三种颜色之一,初始时整棵树的颜色均为 0。 m 次操作, 每次操作形如: 1 x y c : 将 x到y的路径上的点全部改为颜色C 2 x : 询问 x 所在的同色连通块大小 数据范围:$n,m≤
阅读全文
摘要:题目大意:给你n个串pi,最后再给一个串s(字符集均为A,C,G,T四个字符中的一个)。问你串s最少要更改多少个字符(更改后的字符也只能是ACGT),才能满足s中不包含pi(1≤i≤n) 数据范围:n≤50,|p|≤20,|s|≤100。不超过100组数据。
阅读全文
摘要:不难发现此题是一道动态dp题 考虑此题没有修改怎么做,令f[i]表示让以i为根的子树被覆盖的最小花费,不难推出f[i]=min(∑j∈son[i]f[j],val[i])。 依然采用树链剖分+线段树维护每一条链。线段树上每个节点维护val1和val2两个值。 其
阅读全文
摘要:动态dp好题 考虑用树链剖分将整棵树剖成若干条链。 设x的重儿子为son[x],设x所在链链头为top[x] 对于重链上的每个节点(不妨设该节点编号为x)令f[x]表示以x为根的子树内(除以son[x]为根的子树),包含节点x的联通块的最大权值和。 我们求出一条重
阅读全文
摘要:此题场上打了一个正确的44pts,接着看错题疯狂rush“正确”的44pts,后来没rush完没将之前的代码copy回去,直接变零分了。。。。。 这一题我们显然有一种O(nm)的做法 令f[u][0]表示在以u为根的子树内部署军队,且u不部署军队的最小代价。 令$
阅读全文
摘要:题目大意:给你一颗n个点的树,点有点权,有m次操作,每次操作给定x,y,表示修改点x的权值为y。 你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 数据范围:n,m≤1e5 我们显然可以得出一个O(nm)的暴力做法,每次修改完后dp一次,然而这个显然会超时
阅读全文
摘要:这题是显然的数位dp,然而我居然写了一个下午!!! 我们不难想到差分,令solve(x,y)表示从第一个数字在区间[0,x],第二个数字在区间[0,y]的答案。 不难发现题目中给了你一对A,B,答案显然为$solve(B,B)-2solve(A-1,B)+solve(A-1,
阅读全文
摘要:妙啊算错时间复杂度了 题目大意:给你一棵n个节点的二叉树,每个节点要么是叶子节点,要么拥有恰好两个儿子。 令m为叶子节点个数,你需要在这棵二叉树中选择i个叶子节点染色,叶节点染色需要一定的代价,非叶子节点代价为两孩子的染色节点数量的异或和乘上一常数。请最小化代价。 数据范围:$n≤400
阅读全文
摘要:题目大意:一排点,两点间有距离。 初始你有一个行走值v,如果相邻两点距离不超过v你可以自由在这两点行走。 当v大于0时,你可以选择某一时刻突然飞到任意点,这样做后v会减半(下取整)。 问从每个位置初始出发能否到达所有位置。 点的数量≤2∗105,v≤2∗105,$|两
阅读全文