![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
---动态规划---
文章平均质量分 64
ThreeWater-
这个作者很懒,什么都没留下…
展开
-
Codeforces#2B The least round way
题意:给你一个方阵,求左上角到右下角,求路经的数的乘积尾0最少是多少个,并输出路径。 dp求出2最少的路径和5最少的路径,再特殊处理一下0的情况。 #include #include #include #include #include #include #include #include #define ll __int64 using n原创 2016-08-02 01:36:41 · 298 阅读 · 0 评论 -
Codeforces5E - Bindian Signalizing
题意:有N座山组成一个环,两座山互相能看到的要求是相连的圆弧上没有任何其他的山高度比它们高。求能看到的山的组数。 先把这个环变成一个链,即把最高的山作为第一个山,然后求出每一座山左边和右边第一个高于本身的位置,并且求出本位置到右边第一个高于本身的位置中一样高度的山。 用一种动态规划的想法大约线性多一点的时间求出left和right还有c数组。然后每一个座山只要左,右边有比他高的,那么就是两种,原创 2016-08-02 02:19:06 · 914 阅读 · 0 评论 -
公共子序列的个数
http://acm.hdu.edu.cn/showproblem.php?pid=5791 给你两个数组,求公共子序列的个数。 比赛比了一会,就都有事撤了...现在开始补题,转移方程有点难想,千辛万苦想到了我还是WA了. 最后看了一下卿学姐@qscqesze的博客 ,才发现忘记处理如果dp[i][j]出现负的情况.. #include #include #include usin原创 2016-08-02 19:28:26 · 3083 阅读 · 0 评论 -
CF18E dp
dp[i][j][k]代表第i行为jkjkjkj…. 直接转移就好#include <cstdio> #include <cstring> #include <vector> using namespace std; char s[505]; int dp[505][26][26],n,m,pre[505][26][26][2]; void dfs(int i, int j, int k) {原创 2016-08-26 22:17:00 · 406 阅读 · 0 评论 -
hdu1520 树形dp
子节点和父节点只能选一个,价值最大是多少#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N=6005; int n,a[N]; struct node { int nxt,to; }edge[N<<1]; int head[N],cnt; int dp[N][2]原创 2016-10-21 15:30:51 · 226 阅读 · 0 评论 -
LCS - 输出字符串
先dp出最长长度,然后往前找,找到变化点。#include <cstdio> #include <cstring> #include <algorithm> #include <string> using namespace std; const int N=1005; int dp[N][N]; char ans[N];int pos; int main() { char a[N],b[N原创 2016-11-19 10:36:07 · 549 阅读 · 0 评论 -
Codeforces 396 div.2 C dp
题意:一个长为n的字符串,字符的组成全是小写英文字母,给出26个英文字母的所在分割字符串的长度范围,将字符串分割,问有多少种分割方法,分割后最长字符串的长度,最少的分割个数。 分析:dp[i]代表到i位置的分割方法数,那么 当第i个位置到第j个位置能形成一个分割字符串时,dp[i]+=dp[j]. 类似的分割方法数的题目都能这样去做。#include <iostream> #include原创 2017-02-11 21:07:39 · 191 阅读 · 0 评论 -
codeforces 754C dp
题意:给你n个名字,m个对话,格式有:和?: 将?填上名字,且保证相邻的名字不同,话里不出现自己的名字,可以就输出任一一种方案(题意看漏了一句,话里名字单词的前后一定不能是字母和数字,否则不算为名字)#include <bits/stdc++.h> typedef long long ll; using namespace std; char s[105][15]; int dp[105][105原创 2017-02-25 08:35:14 · 212 阅读 · 0 评论