
DP
zzuli-dk
这个作者很懒,什么都没留下…
展开
-
51nod 石子归并
题目链接题意:给你n个石子 每次可以合并相邻的两个石子 消耗为两个石子的和 求最小的消耗思路 :dp[i][j] 表示重i到j的合并的最小权值和sum[i][j] 表示 i到j的和pre[i]表示1到i的前缀和每次先将所有的2个石子合并 然后是3个石子合并(等价于2个石子加上1个石子的合并)依次类推4个,5个到n个转移方程 dp[i][j] = min(dp[i][j], dp[i][k]+dp[k+1][j]+sum[i][j])#include <iostream>#inc原创 2020-09-22 21:38:03 · 130 阅读 · 0 评论 -
Wannafly挑战赛12 C删除子串
链接思路:a,b数组存放到达变化数j所需要的最大长度,对于每次能够到达的变化数j,一定是由b[j-1]或a[j]的状态到达,加上当前字符的长度1,同理b数组也有相应的达到过程。{ a[j]=max(a[j]+1, b[j-1]+1); b[j]=max(b[j]+1,a[j-1]+1);}但是如何确实首字母一定是a的情况,这里我是这样处理的,首先我跳过了所有开头的b并重第...原创 2018-03-24 11:20:04 · 278 阅读 · 0 评论 -
hdu 1565 状压dp
给你一个n*n的格子的棋盘,每个格子里面有一个非负数。从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。 Input包括多个测试实例,每个测试实例包括一个整数n 和n*n个非负数(n<=20) Output对于每个测试实例,输出可能取得的最大的和 Sample Input375 15 21 75 15 28 34 7...原创 2018-02-05 12:11:53 · 231 阅读 · 0 评论 -
牛客网 wannfly练习赛7 B 购物 dp
思路:dp[i][j]表示第i天有j个糖果的最小花费。过%60数据的可能是MLE,需要优化对于每一天买的糖果不需要超过n个糖果。记录前缀和,然后用类似背包方法从第i-1天递推。#include<iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int MAXN原创 2017-12-02 09:01:44 · 445 阅读 · 0 评论 -
51nod 1043 幸运号码 数位dp
思路:首先可以把一个2*n位的数看成两个由n位组成的数,dp[i][j]表示位数为i的数的和为j的方案数。 需要用由于n*n肯定存不下,要用滚动数组(因为这里有个递推的关系)。 dp[i][j]=∑n∗9j=0∑9k=0dp[i−1][j−k]\sum_{j=0}^{n*9}\sum_{k=0}^9 dp[i-1][j-k] 开头为零,也就是前一位和与当前和一样的情况.dp[i][j]-dp[原创 2017-11-03 15:24:36 · 282 阅读 · 0 评论 -
Atcoder CODE FESTIVAL 2017 qual C D - Yet Another Palindrome Partitioning
传送门 D - Yet Another Palindrome Partitioning Time limit : 3sec / Memory limit : 512MBScore : 700 pointsProblem Statement We have a string s consisting of lowercase English letters. Snuke is partition原创 2017-10-22 22:34:41 · 259 阅读 · 0 评论 -
hdu 1559 最大子矩阵和
题目链接 思路:dp[i][j] 表示前i行 前j列的 矩阵和 ∑ix=1∑jy=1dp[x][y]\sum_{x=1}^i\sum_{y=1}^j dp[x][y] 那么任意一个矩阵都可以用这种类似前缀和形式的dp数组来表示,维护一个最大的子矩阵即可。#include <iostream>#include <cstdio>#include <algorithm>#include <cst原创 2017-09-25 08:08:29 · 299 阅读 · 0 评论 -
hdu 6170 Two strings dp模拟
Problem Description Giving two strings and you should judge if they are matched. The first string contains lowercase letters and uppercase letters. The second string contains lowercase letters, uppe原创 2017-08-22 17:57:06 · 437 阅读 · 0 评论 -
求环中的最长连续子序列的和
1282: ykc想吃好吃的 这里写链接内容题目描述一天,ykc在学校闲的无聊,于是决定上街买点吃的,ykc很懒,本来就不是很像逛街,于是找来了czl帮他买,这里应该有滑稽,而czl也不愿为ykc买东西吃,但是ykc很强势,非让他去买,呢没办法了,然而czl还有很多事要做,没呢么多时间帮ykc,而这条小吃街又很长,有n家店,n有50000这么大,并且这n家店的商品价值有所不同(要知道,商品的价值可原创 2017-08-06 12:42:20 · 596 阅读 · 0 评论 -
hdu 6103 Kirinriki dp+二分 或 尺取法
题目连接:hdu 6103 题意:找出整个字符串中两个相同长度,但不重叠的连续字串,求满足他们的距离小于等于m的最长长度。 二分+dp应该也是能写的,但是我错了,应该是dp没写好, 队友写的dp过了。#include<bits/stdc++.h>using namespace std;const int MAXN = 5005;char str[20005];short int dp[M原创 2017-08-12 08:58:59 · 217 阅读 · 0 评论 -
zzuli 2134 维克兹的进制转换
Description我进入了突如其来的强光。闪烁。闪烁,闪烁,闪烁。我调整好眼睛,评估我前方的景观。 有东西在乱窜。我往下看,发现了一只小个的白色生物,用后腿站立着,嗅闻着我的躯体。它吸引了我的注意。 你有什么用途? 我分析这个生物。品红色热能光束一闪而过,它曾颤动的地方扬起尘埃。 哺乳动物…夜行习性…无可挑剔的听觉。难以置信的弱小。但它们的繁殖能力如此强大。 “唔,”我喃喃自语。希望能原创 2017-07-09 18:16:04 · 309 阅读 · 0 评论 -
河工大校赛 最大子段和
1266: 最大子段和 时间限制: 1 秒 内存限制: 64 MB 提交: 395 解决: 99 提交 状态 题目描述一个大小为n的数组a1到an(−10^4≤ai≤10^4)。请你找出一个连续子段,使子段长度为奇数,且子段和最大。输入第一行为T(1≤T≤5),代表数据组数。 之后每组数据,第一行为n(1≤n≤10^5),代表数组长度。 之后一行n个数,代表a1到an。输出每组数据原创 2017-04-24 21:37:53 · 423 阅读 · 0 评论 -
hdu 2089 数位DP
不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 41166 Accepted Submission(s): 15001Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交原创 2017-04-15 10:57:17 · 244 阅读 · 0 评论