
dp
追逐星辰的光
脚踏实地,虚心前行
展开
-
HDU 4734 F(x) 数位dp
For a decimal number x with n digits (A nA n-1A n-2 ... A 2A 1), we define its weight as F(x) = A n * 2 n-1 + A n-1 * 2 n-2 + ... + A 2 * 2 + A 1 * 1. Now you are given two numbers A and B, please c原创 2017-07-20 11:28:07 · 330 阅读 · 0 评论 -
01大背包问题
题意不变,只不过数据范围变大的01背包问题:1111具体代码如下:#include #include #include #define inf 0x3f3f3f3f#define min(x,y) ((x)<(y)?(x):(y))int n, W;int v[101];int w[10000001]; int dp[101][10001];void原创 2018-01-08 18:25:53 · 284 阅读 · 0 评论 -
01背包问题
01背包问题:有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。1记忆化搜索:#include #include #define max(x,y) ((x)>(y)?(x):(y))int n, W;int w[101];int v[101];int dp[101][101];int rec(int原创 2018-01-08 15:04:32 · 524 阅读 · 0 评论 -
最长公共子序列问题(LCS)
最长公共子序列问题(LCS)给两个字符串,求最长公共子序列。这算是最简单的dp了吧,直接上代码吧,看一遍就懂。#include #include #define max(x,y) ((x)>(y)?(x):(y))int dp[1005][1005];int main() { char s[1005], t[1005]; memset(dp, 0, sizeof(dp)原创 2018-01-08 15:19:15 · 269 阅读 · 0 评论 -
多重集组合数
题目描述:有n种物品,第i种物品有ai个。不同种类的物品可以互相区分,但相同种类的无法区分。从这些物品中取出m个的话,有多少种取法,对M取摸。数据范围: 111为了不重复计数,同一种类的物品最好一次性处理。dp[i+1][j] 表示从前i种物品中取出j个的组合总数递推式为:dp[i+1][j] = dp[i+1][j-1] + dp[i][j] - dp原创 2018-01-08 18:13:25 · 538 阅读 · 0 评论 -
化分数
划分数与n个无区别的物品,将它们划分成不超过m组,求出划分方法的个数并对M取模。1inputn = 4m = 3output4 (1+1+2 = 1+3 = 2+2 = 4)递推式:dp[i][j] = dp[i][j-i] + dp[i-1][j]#include #define M 100000007int dp[1001][1001];i原创 2018-01-08 17:36:59 · 348 阅读 · 0 评论 -
最长上升子序列问题(LIS)
题意:有一个长度为n的数列ai。求出这个序列中最长的上升子序列的长度。要求:10#include #include #define max(a,b) ((a)>(b)?(a):(b))int n;int a[10005];int dp[10005];void solve() { for(int i = 0; i < n; i++) { dp[i] =原创 2018-01-08 16:58:20 · 248 阅读 · 0 评论 -
完全背包问题
完全背包问题有n种重量和价值分别为wi,vi的物品。从这些物品中挑选总重量不超过W的物品,求挑选物品的价值总和的最大值。在这里,每种物品可以挑选任意多件。限制条件:111dp[][]解法:#include #include #define max(x,y) ((x)>(y)?(x):(y))int n, W;int w[101];int v[101];i原创 2018-01-08 16:21:23 · 289 阅读 · 0 评论 -
不是部分和问题
题目描述 一天riba给学弟们讲部分和问题,讲着讲着想到一个新的问题。riba很快的解了出来。然后就问学弟会不会? 问题是这样的,给你n个整数,a1,a2 ... an。每个整数都有无限多个,问最少选择多少个数字可以使得这些数的和等于k。输入 多组测试数据: 每一组测试数据,输入n,k; 接下来一行输入n个整数ai。 所有数据都属于[1,1原创 2018-01-13 20:12:56 · 169 阅读 · 0 评论 -
HDU 3001 Travelling
转载注明出处:http://blog.youkuaiyun.com/u013480600/article/details/19832395 感谢大佬After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n转载 2018-01-02 20:24:32 · 241 阅读 · 0 评论 -
寻找zcmu-2017浙江中医药大学程序设计
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述一年一度的浙江中医药大学程序设计校赛正在火热进行,举办至今这是第十一届校赛了。那么今年就来寻找一下zcmu。这里有一串只包含小写字母的字符串,里面有若干个zcmu,你为了省力,需要知道最少需要删除几个字符是的有原创 2017-12-22 11:28:34 · 519 阅读 · 0 评论 -
HDU 5965扫雷
Problem Description扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔。该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷。 游戏中,格子可能处于己知和未知的状态。如果一个己知的格子中没有地雷,那么该 格子上会写有一个一位数,表示与这个格子八连通相邻的格子中地雷总的数量。现在,晨晨和小璐在一个3行N列(均从1开始用连续正整数编号)原创 2017-10-11 12:29:40 · 451 阅读 · 0 评论 -
HDU 3652 B-number 数位dp+记忆化搜索
A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string "13" and can be divided by 13. For example, 130 and 2613 are wqb-numbers, but 143 and 2639 ar原创 2017-07-19 20:25:12 · 469 阅读 · 0 评论 -
HDU2089:不要62 数位dp
Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有转载 2017-07-19 16:38:14 · 363 阅读 · 0 评论 -
2018 蓝桥杯省赛 B 组模拟赛(一)I. 天上的星星
在一个星光摧残的夜晚,蒜头君一颗一颗的数这天上的星星。蒜头君给在天上巧妙的画了一个直角坐标系,让所有的星星都分布在第一象。天上有 nn 颗星星,他能知道每一颗星星的坐标和亮度。现在,蒜头君问自己 qq 次,每次他问自己每个矩形区域的星星的亮度和是多少(包含边界上的星星)。输入格式第一行输入一个整数 n(1 \le n \le 50000)n(1≤n≤50000) 表示星星的数量。接下里 nn 行,...原创 2018-03-10 18:17:41 · 788 阅读 · 1 评论