随笔分类 -  动态规划 DP

摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1084 m=1: dp[i][j] 前i个数,选了j个矩阵的最大和 第i个不选:由dp[i-1][j]转移 第i个选:枚举i所在矩阵的左端点k,由dp[k][j-1]转移 m=2: dp[i][j][k 阅读全文
posted @ 2018-01-06 09:09 TRTTG 阅读(210) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4247 先把挂饰按挂钩数量从大到小排序 dp[i][j]前i个挂饰,剩下j个挂钩的最大喜悦值 分挂和不挂转移 #include<cstdio> #include<cstring> #include<io 阅读全文
posted @ 2018-01-06 08:21 TRTTG 阅读(204) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1569 dp[i][j][a][b] 表示i个职员,发广告状态为j,已有金钱a,声誉b的最少天数 j=0 表示没有发广告,否则j表示距离发广告j天 枚举有t个人增加金钱,那就有i-t个人增加声誉 当j= 阅读全文
posted @ 2018-01-05 09:31 TRTTG 阅读(313) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4300 f[i] 表示第i位&为1的最长长度 4300: 绝世好题 Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。 给 阅读全文
posted @ 2018-01-04 10:49 TRTTG 阅读(245) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1048 1048: [HAOI2007]分割矩阵 Description 将一个a*b的数字矩阵进行如下分割:将原矩阵沿某一条直线分割成两个矩阵,再将生成的两个矩阵继续如此分割(当然也可以只分割其中的一 阅读全文
posted @ 2018-01-03 10:15 TRTTG 阅读(242) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1197 题意转化:在n维空间中放m个n维球,问最多将空间分成几部分 f[i][j] 表示在i维空间中放j个i维球 假设现在是放第j个,它首先包含有j-1个情况,即f[i][j-1] 再加上第j个与前j- 阅读全文
posted @ 2018-01-03 08:13 TRTTG 阅读(179) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3513 组成三角形的条件:a+b>c 其中,a<c,b<c 若已知 两条线段之和=i 的方案数g[i] 线段长度>i的 线段数量 t[i] 答案是否可以表示为 Σ g[i]*t[i] ? 不能,因为 有 阅读全文
posted @ 2017-12-31 08:04 TRTTG 阅读(386) 评论(0) 推荐(1) 编辑
摘要:https://daniu.luogu.org/problemnew/show/P2744 滚动数组压去第一维:前i种木桶 f[j] 量取体积j最少需要几种木桶 g[j] 体积j的最优解是否使用了第i种木桶 f[j]= f[j-a[i]] + g[j-a[i]]^1 输出方案时用搜索,DP检验 g[ 阅读全文
posted @ 2017-12-29 10:05 TRTTG 阅读(257) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1589 tarjan缩环后拓扑排序上DP 阅读全文
posted @ 2017-12-29 08:33 TRTTG 阅读(245) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1571 DP不一定全部全状态转移 贪心的舍去一些不合法的反而更容易转移 在一定能力范围内,肯定滑雪所需时间越少越好 当课程的结束时间和能力值改变相同时,肯定课程越晚开始越好 预处理 late[i][j] 阅读全文
posted @ 2017-12-21 08:55 TRTTG 阅读(240) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j] 表示i的排列,有j个逆序对的方案数 加入i+1,此时i+1是排列中最大的数, 所以放在i+1后面的所有数都会与i+1形成逆序对 转移方程:dp[i][j]=Σ dp[i-1][ 阅读全文
posted @ 2017-12-20 09:50 TRTTG 阅读(199) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3405 n个牛棚,n-1段 因为要求距离尽量大,而且尽可能多的为d 所以: 第1个牛棚一定在位置1 最后一个牛棚一定在位置s 每段距离不是d就是d+1 有s-(n-1)*d-1段 d+1,其余段距离为d 阅读全文
posted @ 2017-12-20 08:38 TRTTG 阅读(172) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1131 dp[i]=dp[fa[i]]-son[i]+n-son[i] #include<cstdio> #include<iostream> using namespace std; #define 阅读全文
posted @ 2017-12-20 07:39 TRTTG 阅读(255) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/problemset/problem/351/D 题意: n个数的一个序列,m个操作 给出操作区间[l,r], 首先可以删除下标为等差数列且数值相等的一些数 然后可以对区间剩余数重排 继续删除下标为等差数列且数值相等的一些数 继续对区间进行重排 直至区间内 阅读全文
posted @ 2017-12-19 20:31 TRTTG 阅读(275) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1537 朴素的转移:dp[i][j]=max(dp[i][j-1],dp[i-1][j])+p[i][j] 树状数组优化 按x排序,离散化y 枚举,排序保证x,树状数组查询y #include<cstd 阅读全文
posted @ 2017-12-19 09:52 TRTTG 阅读(300) 评论(0) 推荐(0) 编辑
摘要:https://www.codechef.com/DEC17/problems/VK18 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #define N 1000001 long long 阅读全文
posted @ 2017-12-18 22:14 TRTTG 阅读(262) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1037 一个区间是否满足 任意连续的一段,男孩与女孩的数目之差不超过k, 取决于男孩与女孩数目之差的最大值是否满足条件 而且若在一个位置 上坐一个男孩, 所有包含这个位置的区间 男孩与女孩数目之差+1, 阅读全文
posted @ 2017-11-29 20:45 TRTTG 阅读(317) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1025 题目转化: 将n分为任意段,设每段的长度分别为x1,x2,…… 求lcm(xi)的个数 有一个定理: 若Z可以作为几个数最小公倍数, 令 Z=p1^a1 * p2^a2 * …… pi为质数 那 阅读全文
posted @ 2017-11-25 22:17 TRTTG 阅读(213) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1019 题目中问步骤数,没说最少 可以大胆猜测移动方案唯一 (真的是唯一但不会证) 设f[i][j] 表示 从i号柱子 上把j个盘子移到 g[i][j] 柱子上的步数 初始化:f[0][1]=1,g[0 阅读全文
posted @ 2017-11-21 20:06 TRTTG 阅读(303) 评论(0) 推荐(0) 编辑
摘要:期望得分:100+100+30=230 实际得分: 正解: 枚举最高的位,这一位m是1但实际用了0 然后剩余的低位肯定是 正数就用1,负数用0 考场思路:数位DP #include<cstdio> #include<cstring> #include<iostream> #include<algor 阅读全文
posted @ 2017-11-07 21:36 TRTTG 阅读(302) 评论(0) 推荐(0) 编辑