码迷,mamicode.com
首页 >  
搜索关键字:dp    ( 23229个结果
1238E
状压dp 看起来不是很好状压 反过来考虑计算贡献 $dp[S]$表示当前已经放置了集合$S$的字母 $S$内部距离之和以及$S$内部摆放方法距离对于外部还未选的字母的贡献和 这样外面怎么放不会影响当前状态的最优 因为当添加一个字母在末尾 它和$S$的未计算的贡献只有一个间隔 之前的间隔已经计算了 其 ...
分类:其他好文   时间:2020-01-27 23:32:48    阅读次数:6
树的直径方法总结
定义: 直径 : 在圆上两点(不相交)之间最远的距离就是我们通常所说的直径。 树的直径 : 树上最远的两个节点之间的距离就被称为树的直径,连接这两点的路径被称为树的最长链。 求法: 1、树形 DP 2、两次 BFS 或者 两次 DFS 算法 1 : 树形 DP 优点 : 可以有效处理 负边权 缺点 ...
分类:其他好文   时间:2020-01-27 19:32:04    阅读次数:15
LeetCode 174. Dungeon Game(DP)
"题目" 题意:每个格子里都有数字,负数代表你会少血,正数代表你会加血,当你的血量为0的时候就死了,从左上角出发,到右下角,问你一开始最少的血量是多少。整个过程中不能有血量为0的情况。 题解:只能走下或者走右。这种有向无环图,八成都是动态规划。但是如果从左上角开始规划,有很多情况要考虑。从右下角开始 ...
分类:其他好文   时间:2020-01-27 17:32:36    阅读次数:9
P1387 最大正方形+P1736 创意吃鱼法(矩形上的dp+预处理)
最大正方形 1 //找出一个01矩阵中最大的全为一的正方形,并输出边长 2 #include <iostream> 3 #include<cstdio> 4 #include<cstdlib> 5 #include<cmath> 6 #include<cstring> 7 #include<algo ...
分类:其他好文   时间:2020-01-27 17:26:33    阅读次数:11
[AHOI2009]中国象棋
[AHOI2009]中国象棋 题意: 在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。 这题很久以前就见过了, 但当时dp太菜, 一看计数就不敢做了. 现在一看, ~~不是水题吗~~ 显然的思路应该是记录一下每行放了几个炮, 但行太多肯定 ...
分类:其他好文   时间:2020-01-27 14:03:57    阅读次数:12
VJ - dp - Monkey and Banana - 最长单调序列
https://vjudge.net/contest/353156#problem/A 一开始想着按背包做 = = 我的dp还是太菜了 应该按照单调序列做 1 #include <iostream> 2 #include <algorithm> 3 #include <vector> 4 using ...
分类:其他好文   时间:2020-01-27 13:48:24    阅读次数:10
Luogu P1854 花店橱窗布置
裸的DP,难度标签要改 用$f[i][j]$ 表示前$i$种花且第$i$种花选第$j$个花盆的最优解 用$a[i][j]$ 表示第$i$种花选第$j$个花盆的美学值的话 状态转移方程: $f[i][j] = max(f[i 1][k](k using namespace std; char ch; ...
分类:其他好文   时间:2020-01-27 13:45:21    阅读次数:10
状压DP
状态压缩(状压)DP的难点在于状态的表示,状态的表示是否满足无后效性、最优子结构且很容易地通过位运算的特性去用一个状态得到一个新状态。一般都是通过二进制来表示状态,所以我们需要一些位运算的知识。<< 左移>> 右移& 按位与(用于判断一位是不是1,用于清空一位的状态,求两个状态的交集)| 按位或(将 ...
分类:其他好文   时间:2020-01-26 22:25:16    阅读次数:8
G - Most Dangerous Shark dp 单调栈 单调队列
题意: 一条线段上有n张骨牌(n=1e7), 相邻骨牌距离为1,每张骨牌有其高度和推倒的花费,问最少的花费推倒所有的骨牌。 题解: 首先用单调栈维护每个位置往左(右)推能推倒的最远的骨牌 dp[i]表示1-i倒下的最小花费 转移显然只有两种 一种是第i张往左推动 另一种是找到往右推动能推倒i的最小花 ...
分类:其他好文   时间:2020-01-26 16:02:35    阅读次数:20
E. String Multiplication dp
地址 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+1000; ll dp[N][30]; char s[N]; int main() { int n;cin>>n; for(in ...
分类:其他好文   时间:2020-01-26 14:28:43    阅读次数:8
23229条   1 2 3 4 ... 2323 下一页
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!