随笔分类 -  dp

摘要:https://nanti.jisuanke.com/t/A1616 思路:dp[i][j]表示前i列里面选了情况j有多少种组合方案 #include<bits/stdc++.h> using namespace std; const int N = 2e5+5; typedef long long 阅读全文
posted @ 2019-10-17 20:49 WAKBGAN 阅读(279) 评论(0) 推荐(0)
摘要:题意:问有多少种组合方法让每一行每一列最小值都是1 思路:我们可以以行为转移的状态 附加一维限制还有多少列最小值大于1 这样我们就可以不重不漏的按照状态转移 但是复杂度确实不大行(减了两个常数卡过去的...) #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2019-09-30 21:05 WAKBGAN 阅读(186) 评论(0) 推荐(0)
摘要:题意:求一棵树上所有路径和模3分别为0 1 2 的权值的和 思路:树形dp 增加一个记录儿子节点满足条件的个数的数组 不要放在一起dp不然答案跟新会有问题 #include <bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f 阅读全文
posted @ 2019-09-25 20:34 WAKBGAN 阅读(196) 评论(0) 推荐(0)
摘要:题意:给定一个字符串s 现在让你用最小的花费 覆盖所有区间 思路:dp[i]表示前i个全覆盖以后的花费 如果是0 我们只能直接加上当前位置的权值 否则 我们可以区间询问一下最小值 然后更新 #include <bits/stdc++.h> using namespace std; const int 阅读全文
posted @ 2019-09-22 18:32 WAKBGAN 阅读(202) 评论(0) 推荐(0)
摘要:题意:给你一个n和k 要你找到长度为n 字典序第k小的字符串 定义一个字符串合法:第i的字符的范围只能是前i-1个字符中的最大值+1 思路:我们dp[n][i][j]表示长度为n 在第i位 最大值为j的序列有多少个 随后我们可以直接模仿找第k大一样找到第k个字符串 #include <bits/st 阅读全文
posted @ 2019-09-21 19:23 WAKBGAN 阅读(280) 评论(0) 推荐(0)
摘要:题意:给你一个长度为n的序列 问你需要多少次两两交换 可以让相同的数字在一个区间段 思路:我们可以预处理一个数组cnt[i][j]表示把i放到j前面需要交换多少次 然后二进制枚举后 每次选择一个为1的位置 考虑这个位置最后加进来的花费取最小 #include <bits/stdc++.h> usin 阅读全文
posted @ 2019-09-17 16:10 WAKBGAN 阅读(164) 评论(0) 推荐(0)
摘要:https://codeforces.com/problemset/problem/553/A dp+组合数学 dp[i] 放前i种颜色的方法数 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int 阅读全文
posted @ 2019-09-10 21:48 WAKBGAN 阅读(178) 评论(0) 推荐(0)
摘要:题意:要找到一个字符串里面存在子序列9102 而不存在8102 输出最小修改次数 思路:对于单次询问 我们可以直接区间dpOn求出最小修改次数 但是对于多次询问 我在大部分题解看到的解释一般是用线段树维护每一个区间段 每一个区间上挂一个dp[5][5]的矩阵 表示从i状态转移到j状态索要的最小修改次 阅读全文
posted @ 2019-09-10 09:03 WAKBGAN 阅读(282) 评论(0) 推荐(0)
摘要:题意:给你三个数A,B,C 现在要你找到满足 A and B >C 或者 A 异或 B < C 的对数。 思路:我们可以走对立面 把既满足 A and B <= C 也满足 A 异或 B >= C的个数用数位dp统计出来 最后用A*B减去即可 阅读全文
posted @ 2019-08-22 14:40 WAKBGAN 阅读(183) 评论(0) 推荐(0)
摘要:题意:给定在当前等级升级所需要的花费 每次升级可能会失败并且掉级 然后q次询问从l到r级花费的期望 思路:对于单次升级的期望 我们可以列出方程: 所以我们可以统计一下前缀和 每次询问O1回答 阅读全文
posted @ 2019-08-13 13:30 WAKBGAN 阅读(133) 评论(0) 推荐(0)
摘要:题意:又是最大01矩阵的模型了 这次要找的是极大0/1矩阵的个数 思路:我们像处理最大01矩阵那样处理一下边界 由于我们上左右已经无法再继续扩展 我们只需要用前缀和记录一下是否可以向下扩展(即判断当前的左右边界的下面是否都有1), 还要用一个标记数组记录一下同一矩阵 阅读全文
posted @ 2019-08-11 14:25 WAKBGAN 阅读(177) 评论(0) 推荐(0)
摘要:题意:现在要你构造一个只有{0,1,2,3} 长度为n且有m个限制条件的序列 问你方案数 思路:dp[i][j][k][now]分别表示四个数最后出现的位置 最后可以滚动数组 优化一下空间 ps:我的代码常数很大 其实有很多可以优化的地方 阅读全文
posted @ 2019-08-09 17:32 WAKBGAN 阅读(185) 评论(0) 推荐(0)
摘要:题意:给你n个点 m条边 问你所有子图的最大独立集的和 思路:我们可以设f state 为当前点集下的最大独立集的大小 所以我们可以把集合分为两个部分 绝对包含了这个一个点 绝对不包含这个点 两种情况 然后去去一个最大值 由于空间开的比较紧 我们要用char类型的数组 阅读全文
posted @ 2019-08-07 20:22 WAKBGAN 阅读(202) 评论(0) 推荐(0)
摘要:题意:给你一个n*m的矩阵 你只能向左向右相下走 有两种操作 q次询问 一种是把一个单位翻转(即可走变为不可走 不可走变为可走) 另一种是询问从(1,x) 走到 (n,y)有多少种方案 思路:题目n为1e5 而m只有10 我们可以考虑在线段树上维护一个m*m的矩阵 当模拟矩阵乘法的时候等效于计算方案 阅读全文
posted @ 2019-07-31 09:38 WAKBGAN 阅读(149) 评论(0) 推荐(0)
摘要:给你n个点,第i个点在的位置为(xi,yi),有两个属性值(ai,bi)。现在让你把这n个点划分为A和B两个部分,使得最后不存在i∈A和j∈B,使得xi>=xj且yi<=yj。然后对于所有的划分方法,找到并输出最大和 现在的疑问点在于为什么要多加一个高度为0的虚拟节点(因为要考虑全是A集合的) 阅读全文
posted @ 2019-07-20 00:11 WAKBGAN 阅读(485) 评论(2) 推荐(0)
摘要:题目链接 题意:给你一棵无根树,每次你可以选择一个点从白点变成黑点(除第一个点外别的点都要和黑点相邻),变成黑点后可以获得一个权值(白点组成连通块的大小) 问怎么使权值最大 思路:首先,一但根确定了,整棵树的权值就只需要模拟即可,所以思路就转换为求哪一个点为根的权值最大。 这题需要用到一个二次扫描换 阅读全文
posted @ 2019-07-03 13:42 WAKBGAN 阅读(278) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/problem/21303 思路:删括号的时候一定要时刻保证左括号数量比右括号多,我们可以定义dp[i][j][k]表示考虑AA前i个匹配了B前j个A被删除部分左括号数-右括号数=k是否可行, 分类讨论转移即可,最后答案就是dp[n] 阅读全文
posted @ 2019-05-12 23:04 WAKBGAN 阅读(209) 评论(0) 推荐(0)
摘要:Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the entire description is very important 阅读全文
posted @ 2019-05-07 18:45 WAKBGAN 阅读(180) 评论(0) 推荐(0)
摘要:You are given a tree with n nodes. The weight of the i-th node is wi. Given a positive integer m, now you need to judge that for every integer i in [1 阅读全文
posted @ 2019-05-03 17:37 WAKBGAN 阅读(199) 评论(0) 推荐(0)
摘要:Description Polygon is a game for one player that starts on a polygon with N vertices, like the one in Figure 1, where N=4. Each vertex is labelled wi 阅读全文
posted @ 2019-05-01 19:08 WAKBGAN 阅读(199) 评论(0) 推荐(0)