随笔分类 -  动态规划

摘要:题目 https://pintia.cn/problem-sets/994805342720868352/problems/994805402305150976 题意 N个硬币,选出一些,刚好凑成M元 按01背包求解,背包容量M,若能装满,说明有解 若有多解,输出序列最小的(难点) Sample I 阅读全文
posted @ 2020-08-26 14:55 liuyongliu 阅读(150) 评论(0) 推荐(0) 编辑
摘要:题目 https://pintia.cn/problem-sets/994805342720868352/problems/994805437411475456 题意 给予子序列(指示数的先后关系)和目标序列 求最长不上升子序列(每个数的先后顺序和子序列中的一致)的长度 Sample Input: 阅读全文
posted @ 2020-08-22 18:47 liuyongliu 阅读(122) 评论(0) 推荐(0) 编辑
摘要:题目:Fliptile 题意: 给定一个M*N矩阵,有些是黑色(1表示)否则白色(0表示),每翻转一个(i,j),会使得它和它周围4个格变为另一个颜色,要求翻转最少的点,使得变为全白色的矩阵,输出这个标记了翻转点的矩阵,如果有多个最优解,输出逆字典序最小的那个矩阵,若没有解,输出IMPOSSIBLE 阅读全文
posted @ 2019-02-27 23:04 liuyongliu 阅读(178) 评论(0) 推荐(0) 编辑
摘要:D - windy数 windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 题解:用dp[i][j]表示对前i位,在第i+1位为j时的windy数 代码解释: /********** 阅读全文
posted @ 2019-01-31 10:59 liuyongliu 阅读(402) 评论(0) 推荐(0) 编辑
摘要:传送门:处女座和小姐姐(三) 题意:给个区间,求区间中包含六的数的个数(long long 型) 思路:数位DP,还是dalao的模板好,先求出0~n中不包含六的数,再减一下。 WA:记忆化搜索(dfs),否则TLE... /************************************* 阅读全文
posted @ 2019-01-30 22:35 liuyongliu 阅读(227) 评论(0) 推荐(0) 编辑
摘要:题目:不要62 参考dalao: 数位dp总结 之 从入门到模板 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 62324 Accepted S 阅读全文
posted @ 2019-01-28 13:27 liuyongliu 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:P1896 [SCOI2005]互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 注:数据有加强(2018/4/25) 输入输出格式 输入格式: 只有一行,包含两个数N,K ( 阅读全文
posted @ 2019-01-28 09:57 liuyongliu 阅读(389) 评论(0) 推荐(0) 编辑
摘要:题目:P1879 [USACO06NOV]玉米田Corn Fields 参考:状态压缩动态规划 状压DP 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶 阅读全文
posted @ 2019-01-27 20:49 liuyongliu 阅读(317) 评论(0) 推荐(0) 编辑
摘要:P2622 关灯问题II 参考:状态压缩动态规划 状压DP 位运算例题(结合BFS):P2622 关灯问题II 题目描述 现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这 阅读全文
posted @ 2019-01-27 15:13 liuyongliu 阅读(409) 评论(0) 推荐(0) 编辑
摘要:P1164 小A点菜 d[i][j] : 前i个菜刚好花费j元的方案数 int d[200][10008]; int main() { int n,m; cin>>n>>m; int v[200]; for(int i=1;i<=n;i++) cin>>v[i]; d[1][0]=1; d[1][v 阅读全文
posted @ 2019-01-21 10:30 liuyongliu 阅读(170) 评论(0) 推荐(0) 编辑
摘要:LZDFDSMLL吃批萨 题解:(参考)在矩阵中寻找最大正方形连续区域 M中的每一个元素MijMij都有一个与之对应的数值maxijmaxij记录着以这个元素为左上角顶点的最大的一个正方形连续区域的大小(行/列 数)。 对元素MijMij有两种状态 Mij≠kMij≠k , 此时可以得出maxij= 阅读全文
posted @ 2019-01-20 18:14 liuyongliu 阅读(283) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示