![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
tkj666
这个作者很懒,什么都没留下…
展开
-
bzoj 2286: [Sdoi2011]消耗战 虚树 DP
失踪人口回归 题目大意:一棵树,切断若干条边使得有资源的点与1(根)不联通,做m次。 题解: 裸dp挺好想,但O(nm)O(nm)的复杂度承受不起。但是可以发现Σki<500000\Sigma k_i<500000,而且每次操作中的许多节点都是没用的,有用的只有hih_i和他们的lca。所以我们就可以通过每次把有用的点建成一棵虚树来跑,这样的话复杂度就小得多了。 关于虚树的构建,参考http原创 2017-07-06 08:28:59 · 391 阅读 · 0 评论 -
bzoj 1808: [Ioi2007]training 训练路径
LCA+DP原创 2017-12-11 13:49:50 · 593 阅读 · 0 评论 -
bzoj 1799: [Ahoi2009]self 同类分布
数位DP原创 2017-10-17 15:51:14 · 178 阅读 · 0 评论 -
bzoj 4521: [Cqoi2016]手机号码
数位DP原创 2017-10-17 09:19:29 · 179 阅读 · 0 评论 -
bzoj 1226: [SDOI2009]学校食堂Dining
状压DP原创 2017-10-11 09:48:36 · 200 阅读 · 0 评论 -
bzoj 1222: [HNOI2001]产品加工
题解:DP原创 2017-10-09 21:42:54 · 152 阅读 · 0 评论 -
bzoj 1212: [HNOI2004]L语言
trie+暴力dp原创 2017-10-09 20:21:13 · 186 阅读 · 0 评论 -
bzoj 1933: [Shoi2007]Bookcase 书柜的尺寸
dp原创 2017-10-07 09:32:43 · 243 阅读 · 0 评论 -
bzoj 1966: [Ahoi2005]VIRUS 病毒检测
dp原创 2017-09-29 21:58:44 · 620 阅读 · 0 评论 -
bzoj 3111: [Zjoi2013]蚂蚁寻路
题面: 题解: DP。很明显蚂蚁爬的路径就是类似城墙一样的锯齿型,上面一上一下,下面一条直线。整个图形可以分成2k+1个矩形,DP就好了。具体式子看zigzag大佬的博客#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,m,K,ans,a[110][110],s[110][110]原创 2017-09-21 09:54:28 · 255 阅读 · 0 评论 -
bzoj 4417: [Shoi2013]超级跳马
DP+矩阵乘法+快速幂原创 2017-10-07 15:13:39 · 224 阅读 · 0 评论 -
bzoj 4976: 宝石镶嵌
题意:n个数,去掉k个,使剩下的数的or和最大。 题解: 设a是w的最大值。分两种情况:1:n-k>=log a,每一位就一定可以选一个数来补上(除非所有都没有这一位)。2:n-k< log a,dp,f[i][j]表示前i个数or和为j最多去掉几个数。 代码:#include<bits/stdc++.h>using namespace std;int n,k,w[100010],f[120原创 2017-09-19 22:19:44 · 278 阅读 · 0 评论 -
bzoj 4518: [Sdoi2016]征途
题意:把n段路分成m天走,求每天走的路程的方差的最小值。输出方差*m^2。 题解:斜率优化 我们先推一推公式。v×m2=∑mi=1(xi−x¯)2m×m2=∑i=1m(x2i−2xix¯+x¯2)×m=∑i=1m(mx2i−2xis)+sum2v\times m^2\\=\frac{\sum_{i=1}^m(x_i-\overline x)^2}m\times m^2\\=\sum_{i=1}原创 2017-09-17 16:42:13 · 254 阅读 · 0 评论 -
bzoj 1042: [HAOI2008]硬币购物
题意:一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法。 题解:DP+容斥 先暴力求出无限硬币时每种价钱的方案数,然后每个询问的答案=无限硬币的方案-超1种硬币的方案+超2种硬币的方案-超3种硬币的方案+超4种硬币的方案。每一种硬币超过限制的方案=f[s-(d[x]+1)*c[i]],相当于固定d原创 2017-09-07 21:41:46 · 223 阅读 · 0 评论 -
bzoj 5018: [Snoi2017]英雄联盟
DP原创 2017-09-02 23:15:51 · 305 阅读 · 0 评论 -
bzoj 1802: [Ahoi2009]checker
dp原创 2017-12-05 17:09:27 · 250 阅读 · 0 评论