dp
_ 泛白
QQ1204731545
展开
-
1327G - Letters and Question Marks(AC自动机+状压DP)
题目链接题目大意:给kkk个字符串t1,t2,...tkt_1,t_2,...t_kt1,t2,...tk,tit_iti有权值cic_ici.令F(T,t)F(T,t)F(T,t)表示字符串TTT中包含多少个ttt,G(T)=∑i=1kF(T,ti)∗ciG(T)=\sum_{i=1}^kF(T,t_i)*c_iG(T)=∑i=1kF(T,ti)∗ci。现在给出一个字符串S...原创 2020-03-30 11:23:31 · 322 阅读 · 0 评论 -
1327F - AND Segments (区间限制下的DP计数)
题目链接题目大意:有nnn个数字a1,a2,..ana_1,a_2,..a_na1,a2,..an组成数组aaa,mmm个限制条件,第iii个限制条件[li,ri,xi][l_i,r_i,x_i][li,ri,xi]表示需要满足ali&ali...&ari=xia_{l_i}\&a_{l_i}...\&a_{r_i}=x_iali&ali...原创 2020-03-29 19:30:38 · 346 阅读 · 0 评论 -
2019 CCPC-Final G.Game on the Tree(长链剖分+DP)
题目大意两个人在一个以1为根的树上玩游戏,一开始硬币在1。然后每一轮,如果当前硬币在u,当前的人可以选择一个v把硬币移动到v,条件是移动的距离要大于上一轮的人移动的距离。第一个人可以随便移动。问给出的树有多少个以1为根的子图可以让后手必胜。n≤2e5n\le2e5n≤2e5解题思路这题很容易推出来当1是树直径的中点的时候后手必胜。然后想要得到1是树直径中点的方案数,可以先得到1的每个儿...原创 2020-02-05 22:29:56 · 932 阅读 · 0 评论 -
2019 ICPC Asia 南昌 Regional J. Summon(矩阵快速幂优化DP+polya定理)
题意:长度为n(n<1e5)n(n<1e5)n(n<1e5)的环,填四种颜色,有mmm个要求(m<256)(m<256)(m<256),每个要求限制一个长度为444的序列XXXXXXXXXXXX不许在环中出现,问有多少合法方案。(通过旋转可以变相同的算同一种方案)解题思路:前置知识点:polay定理在粗略的学习polay定理之后,我只记住了对于没有限制的...原创 2020-02-02 21:22:06 · 655 阅读 · 0 评论 -
2019 ICPC 南昌 Regional B. A Funny Bipartite Graph(状压DP)
题意一个二分图,左右各有nnn个点,左边第iii个点有一个属性mim_imi,它在一个图中的价值为midim_i^{d_i}midi,其中did_idi为它在图中的度数(特殊的,如果度数为000,则价值为000),求一个该二分图的子图使得右边的每个点度数都不为000且总价值最小,输出最小价值。如果无解输出−1-1−1有若干个限制条件(i,j)(i,j)(i,j)表示子图中左边的点iii...原创 2020-01-28 17:02:03 · 772 阅读 · 0 评论 -
2019 ICPC 南京 Regional I. Space Station(DP && 哈希)
题意:有nnn个数字a1,2,..na_{1,2,..n}a1,2,..n,你的初始能量为a0a_0a0,每次只能选取小于等于当前能量的数字,选完数字aia_iai后当前能量会加上aia_iai,求选完所有数字的方案数 mod 1e9+7mod\ 1e9+7mod 1e9+7n≤1e5,0≤ai≤50n\le1e5,0\le a_i\le 50n≤1e5,0≤ai...原创 2020-01-28 14:00:23 · 958 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day3 F. 社团管理 (DP && 分治)
题意:有nnn个数字a1,2...na_{1,2...n}a1,2...n,要分成k段,每段的价值为段内满足[ai==aj]and[i==j][a_i==a_j] and[i==j][ai==aj]and[i==j]的(i,j)(i,j)(i,j)对数。(n,ai≤1e5,k≤min(n,20))(n,a_i\le 1e5,k\le min(n,20))(n,ai≤1e5,k≤min(...原创 2020-01-26 13:11:43 · 268 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day6 D. 递增递增(DP)
题意:nnn个范围[li,ri],ai∈[li,ri][l_i,r_i],a_i\in[l_i,r_i][li,ri],ai∈[li,ri],求所有符合限制的单调不增序列的元素和的总和。解题思路:因为是a是单调不降的,所以他们区间的左端点应该是单调不降的,右端点是单调不增的。可以分区间讨论。2n个点划分出2n个区间,然后用dp(i,j)dp(i,j)dp(i,j)表示考虑了前i个...原创 2020-01-22 13:23:20 · 413 阅读 · 0 评论 -
Codeforces Round #599 (Div. 1) C. Sum Balance
题目链接题目大意:有kkk个箱子,箱子iii有nin_ini个数字,能否满足:在每个箱子取一个数字,一共取出k个数字。再把这k个数字重新分配给每个箱子,使得每个箱子的数字总和相等。如果不能满足,输出no,如果可以满足,输出yes并打印方案(每个箱子取出哪个数字,放到哪个箱子)。(k≤15,n≤5000,∣ai∣≤1e9)(k\le 15,n \le 5000, |a_i| \le 1...原创 2019-11-07 18:46:04 · 168 阅读 · 0 评论 -
Codeforces Round #594 (Div. 1) E - Turtle (思维+记录路径01背包)
题目链接题目大意:给你2*n的格子,每个格子上有一个权值。起点在左上角,终点在右下角,只能向右或者向下走。让你重新排列这些权值,使得从起点到终点的路径权值的最大值最小。(路径权值为路径经过的格子权值的累加)权值a≤5e4,n≤25a\le 5e4, n\le 25a≤5e4,n≤25解题思路:首先如果假设第一排已经排列好,其中一对相邻的格子权值为a和b,a > b且a在b左边。那么...原创 2019-10-22 14:12:47 · 282 阅读 · 0 评论 -
Educational Codeforces Round 74 F. The Maximum Subtree (换根dp)
题目链接题目大意:给点分配区间,如果两个点的区间相交,则两个点之间有边相连,否则没有。给你一棵树,求一棵最大的子树使得可以通过给点分配区间来得到这颗树。(n<=3e5)解题思路:画一画可以发现,一棵树合法,它的根结点可以有两个儿子向下生长,而每个非根结点只能有一个儿子向下生长:这样就可以dp了,dp[u][0/1]表示u选一个儿子生长能得到的最多/次多结点,这样可以得到根节点的答...原创 2019-10-12 12:44:53 · 214 阅读 · 0 评论 -
Codeforces Round #592 (Div. 2) F. Stack Exterminable Arrays (dp/分治)
题目链接题目大意:定义一个序列是好的:维护一个栈,一开始为空,遍历序列,如果当前元素值与栈顶元素相同,弹出栈顶元素,否则把这个元素入栈。当遍历完后栈为空,则它是好的。给你一个n个元素的序列,求它有多少个非空子序列是好的。解题思路:DP版本:设dp[i]dp[i]dp[i]为以i为左端点满足条件的子序列个数。对于每个位置iii,设以这个位置为起点往后遍历,第一次使得栈为空的位置为nxt...原创 2019-10-09 22:19:06 · 260 阅读 · 0 评论 -
2019杭电多校第一场C Milk (难写的DP)
题意:一个n*m的网格上有k个牛奶,饮用牛奶iii要花费tit_iti的时间,移动到相邻的各种需要花费1,只有在每一行的中点才可以往下移动一格,求饮用iii个牛奶需要花费的最小时间(i=1,2,..,k)i=1,2,..,k)i=1,2,..,k).n,m<=1e9,k<=1e4n,m<=1e9,k<=1e4n,m<=1e9,k&...原创 2019-07-24 09:39:05 · 145 阅读 · 0 评论 -
牛客暑假多校训练第一场 E ABBA
题目描述:Bobo has a string of length 2(n + m) which consists of characters A and B. The string also has a fascinating property: it can be decomposed into (n + m) subsequences of length 2, and among the (...原创 2019-07-18 20:47:10 · 707 阅读 · 4 评论 -
hdu6710 Kaguya(2019CCPC网络赛1009)概率DP
题目链接设左边为白点,右边是黑点。假设我们求的是1号和2号之间的路径期望长度(1号是白的2号是黑的)我们可以从1号结点出发跑一个BFS,如果第i层黑色结点个数为l,那么2号就有l/m的几率是这一层的结点。设dp(i,j,k,l)dp(i,j,k,l)dp(i,j,k,l)为BFS到第i层的时候,已经用掉了j个白色结点,k个黑色结点,并且第i层的结点个数为l的概率。我们可以枚举下一层的结点个...原创 2019-08-25 00:44:05 · 775 阅读 · 0 评论 -
2019徐州网络赛 L. Dice(找规律+状压DP)
题目链接题目大意有一颗骰子,一开始在(0,0)位置,点数1朝上。骰子访问了点(x,y),当且仅当骰子处于点(x,y)且点数1朝上。给你n个点,求骰子经过这n个点需要的最小翻滚次数。1≤n≤161\le n\le161≤n≤16解题思路:看到n这么小,第一时间想到状压DP,dp[mask][u]dp[mask][u]dp[mask][u]表示经过了点集mask且最后一个点为u所需要的最小花费...原创 2019-09-07 21:03:46 · 514 阅读 · 0 评论 -
牛客挑战赛32 D.放物品
题意:n个物品编号为1~n,每个物品i有一个不能放的位置pi,保证p是一个排列。对于合法排列的每一对逆序<j,i>(j>i),它的贡献是(posi−posj)∗(j−i)(pos_i-pos_j)*(j-i)(posi−posj)∗(j−i),问所有合法排列中的所有逆序的贡献的总和。(n<=1000)题解:首先我们注意到每一对物品的贡献可以单独求解,所以我们求每一...原创 2019-09-21 10:26:56 · 155 阅读 · 0 评论 -
Codeforces Round #587 (Div. 3) F. Wi-Fi(DP)
题意:给你n个点,一个覆盖范围k,编号[1,n],点i与网络直接连接的代价是i,如果这个点是关键点,那么让它与网络直接连接后它可以让编号在[i-k,i+k]的点与网络间接连接,求让全部点和网络连接的最小代价。题解:这题感觉蛮难想,一开始往贪心想,不太好贪,再想DP,又觉得前后都会影响,想不清楚。这里其实还是DP。用dp[i]表示把[1,i]的点全部连接需要的最小花费,那么对于dp[i],有...原创 2019-09-22 11:43:16 · 196 阅读 · 0 评论 -
hdu 2829 Lawrence(初探斜率优化DP)
斜率DP以前就听说过但是一直都搁着没学,趁着还有时间赶紧补了吧。这东西乍看上去公式一堆推来推去很是可怕,但是其实没有那么难学,核心思想就是把DP的式子转换成斜率的形式之后利用凸壳去维护 更新当前DP值的最优点。这篇博客写的比较简洁,没有那么多公式可能会比较好理解然后就开始刷题巩固知识点吧。题目链接题目大意:一共n个点,每个点有权值ai,画m个分界线把他们分成m+1段,每一段[l,r]的价...原创 2019-09-25 21:25:45 · 126 阅读 · 0 评论 -
牛客 小A与最大子段和(斜率优化DP+二分)
题目链接题目描述你需要在一个序列 a 里找到一个非空子段(子段是连续的) b, 满足∑i=1mb[i]×i\sum_{i=1}^m b[i]\times i∑i=1mb[i]×i最大(m是b的长度)解题思路:我们设dp[i]为以aia_iai为结尾能得到的最大价值(其实它并没有子状态,不过推式子的过程很像斜率优化dp,所以就把他当成dp吧),那么显然我们可以枚举起点,O(n)的得到...原创 2019-09-27 00:05:53 · 171 阅读 · 0 评论 -
2019湖南省赛J Parity of Tuples (Easy)(状压DP+贡献)
题目链接题目大意:给你n个含m个元素的向量a1,a2,..,ana_1,a_2,..,a_na1,a2,..,an,对于一个给定的k,求∑x=02k−1count(x)⋅3x\sum_{x = 0}^{2^k - 1} \mathrm{count}(x) \cdot 3^x∑x=02k−1count(x)⋅3x modulo (109+7)(10^9+7)(109+7),其中count...原创 2019-10-07 23:19:02 · 197 阅读 · 2 评论 -
牛牛的回文串(预处理 + 区间DP)
题目链接题意:牛牛喜欢回文串,牛妹给了牛牛一个字符串S,牛牛想把S变成回文串牛牛可以做如下三种操作1:在任意位置增加一个字符2:删除一个字符3:改变一个字符每种操作都有限定的字符,比如,只能删除’a’,增加’b’,把’c’变成’d’等等每种操作都有相应的代价用M条语句来描述能进行的操作add c x 表示增加c字符需要x的代价erase c x表示删除c字符需要x的代价ch...原创 2019-05-25 10:25:14 · 462 阅读 · 0 评论