动态规划
1
StrongerIrene
这个作者很懒,什么都没留下…
展开
-
我才不写标题/ lis最长上升子序列
万能头文件要用gcc clang不行!我的代码风格大为改观........然后 AtCoder 3959这个是要用最长连续上升子序列 我写了个最长上升子序列然后下面代码是错的 待我补充个对的上来(只过了样例hhhh)(然后其实不用加那个1的)#include<bits/stdc++.h>using namespace std;int a[200005];int b[200005]...原创 2018-05-24 19:36:50 · 157 阅读 · 0 评论 -
【多重背包】二进制转换/ 其实有区别的--不全懂,会不放心的
占坑。。。https://blog.csdn.net/qinzhenhua100/article/details/40350219啊首先二进制这个,比如7可以化成1 10 100 完美表示。。6可以是1 10 11(1 2 3 注意是从小到大加 完美表示。。)多重背包其实就是拆成一个一个去做,由于有些麻烦所有就用二进制代替了,反正组成起来都一样哇,看了霜雪千年大大的文章...原创 2018-09-17 15:04:28 · 231 阅读 · 1 评论 -
【树形dp】ccpc网络赛-Tree and Permutation (显得高大上一点)(史上最详细-。-)(我真无聊)
“哦,天哪,我不能接受,这太疯狂了。”她一面说着一面起身去关好门窗。---------------------困扰了好久好久今天才补 我也太业余了吧(摊手)(可是趁着假期可以好好学习理财/多看一些视频啊)Charpter 01.题意给出一棵树和权值,列出一个n的全排列。每个全排列计算一遍,比如1234就是1到2+2到3+3到4,得到sum,求所有全排列的sum(全排列...原创 2018-09-05 20:57:04 · 290 阅读 · 0 评论 -
【状压dp】南京icpc- AC chanllege 、POJ- 3254 Corn Fields (有关状压dp) 详解。。没写代码
首先我们来学习一下有关状压dp的内容。参考链接状压DP全称状态压缩DP,指的是根据题目情况和数据范围压缩数组的维度。对于本题(POJ 3254),常见的方法是将每一行的方格肥沃状态以及作物可能的种植状态用二进制表达,再压缩为十进制。题目的意思是种树,每行给你一堆0和1,要求不能种在相邻、十字花里面(上下左右)【常用状态!!】(1)(具体分析,此题中)i&(i<&l...原创 2018-09-07 21:53:43 · 397 阅读 · 0 评论 -
【树形dp入门】UVA-12186 + HDU - 1520(白白wa掉的同学看过来!!)
看着很玄幻,其实也就是dfs+dp。然后满足那么一个关系,在一个树上,有上级下级树形关系uva12186是紫书上的题目。需要注意题目:每层只要它的直接下属来就好了,不用考虑到所有底层员工,按照书上给的式子,c=(k*T-1)/100+1每次这样来就可以了之后贪心选取花费最少的。写的时候遇到一点小问题:if(d[dd]==0) d[dd]=dfs(dd);v.push...原创 2018-08-20 18:48:34 · 290 阅读 · 0 评论 -
【区间dp】uva10003+ uva 1626 括号匹配问题 【有空自己记忆化写一下!!!】
讲道理,其实我还不是太懂,这个题看到了两种写法之前大概想的差不多,要这样实现呀:常规写法,大概n……3递归写法,稍微好理解一点好了,接下来自从看了liuchuo的博客我要变身玛丽苏橙色了 题目链接 并不复杂,只是切木棍。。。 让我想到其实和以前的形式很像,这里给的是木棍最长1000,完全可以改到1000000000这种样子,但是我们存下来的是切点的位置,这种时候真的只要枚举一...原创 2018-08-22 15:00:29 · 351 阅读 · 6 评论 -
【动态规划】LIS LCS
参考网站(不)题目描述 一个数列ai如果满足条件a1 < a2 < ... < aN,那么它是一个有序的上升数列。我们取数列(a1, a2, ..., aN)的任一子序列(ai1, ai2, ..., aiK)使得1 <= i1 < i2 < ... < iK <= N。例如,数列(1, 7, 3, 5, 9, 4, 8)的有序上升子序...原创 2018-08-22 13:42:23 · 264 阅读 · 0 评论 -
【动态规划】Tri Tiling(画方块)+ P1472 奶牛家谱 Cow Pedigrees
题目描述: 首先,我们先假设一下是2*n的正方形,得到启发:2*2的组成情况,和2*3的组成情况。可以知道2*2要么全是竖着要么全是横着(有2种) 要么是把自己的上一个切了一半儿的每一次新增一排新的2*1,要么增加了一种(f[i-1]*1),要么增加的是半个,就是f[i-2]如果这半个当做两个横着来统计的话,实际上已经在前面就计算过了,包含,所以不用管,f[i-2...原创 2018-08-16 12:31:11 · 634 阅读 · 0 评论 -
【紫薯dp练习】从读题到放弃-uva 10934 Dropping water balloons
首先,题目的意思是让你去扔气球,砸小孩,非常玄幻。【要点】为什么2的时候是14呢?关键在于我们虚晃一枪,先扔了50,如果没爆,那赚了,只需要测50就可以了(转移到了50的状态,下面的50都没用了,是不是非常眼熟?)即使爆了,我们还可以继续扔,继续诓?但是,50爆了,我们只能从1开始1 2 3 4 。。 保不好要扔49次,因此我们要找一个最好的地方去扔,避免浪费,还有效。啊,...原创 2018-08-18 19:00:06 · 217 阅读 · 0 评论 -
背包_(:з」∠)_ 写的很乱
啊!!!!!!!!!!!!ABCD终于都过了,我这几天简直什么都没干!!!!!!!!啊!!!!我要开始跑步洗衣服弹吉他了!!!! 是这样的背包的知识我先不写了这个C有什么坑呢【一定要知道你在干什么】【而不是盲目的这里改改,那里改改,哎……】所以说了嘛,要冷静。要冷静。要冷静。出去溜达一圈,最好的是去洗个澡。 地址 https://vjudge.net...原创 2018-07-22 16:07:12 · 187 阅读 · 0 评论 -
动态规划初步-结合牛客网第二场 D 以及 洛谷 P1020 (待补充)
牛客网的:比赛的时候好不容易写出了转移方程,可能是因为一点步数的原因卡了很久,也把题目读了很多遍。其实就是每个点都达到最优,然后我们的策略有,买或者不买。emmm... 动态规划 在每个地方停下来都是最优的。但是步数有点小问题,这个要想明白,我的代码:#include<iostream>#include<algorithm>#include...原创 2018-07-24 20:36:39 · 246 阅读 · 1 评论 -
背包问题/HDU串1248
http://www.cnblogs.com/William-xh/p/7305877.html真的是非常非常非常非常好的教程!(一)小测试https://blog.csdn.net/hpugym/article/details/43882781这个题有点小别扭,就是把value和price反过来了【代码片】for (int i = 0; i < k; i++) {//对于背包里的每个包,...原创 2018-03-24 10:34:52 · 193 阅读 · 3 评论 -
HDU6024简单递推-糖果屋
DP初步-女生赛的糖果屋-啊-简单递推-这第一步还是要自己迈出去的吧= =(上代码)#include<iostream>#include<algorithm>using namespace std;const int maxn = 3010;typedef long long ll;struct node { ll x; ll c;}p[maxn];...原创 2018-04-20 15:19:20 · 226 阅读 · 0 评论 -
【区间dp*2】洛谷 P1880 [NOI1995]石子合并 (推导过程) +尼克的任务(还没写)
emmmmm给自己设置了一个习惯界限。其实每次看到他们在做啥啥啥而我都大三都现在了 就会感觉很内伤-、-不过算法还是要写的吧 别写太多而已...为了防止脑袋空空 也为了防止一天不知道干什么================================== 石子合并:经典 的区间dp题目===============然后呢,基本其实也就两种模型-----括号一种,...原创 2018-12-02 19:33:52 · 193 阅读 · 1 评论