
DP
qcwlmqy
我很懒,所以不写
展开
-
P1613 跑路
P1613 跑路题意已知一个每秒可以移动 2k2^k2k 距离,kkk 任意给出一个有向图,上限 505050 个点,100001000010000 条有向边请问从 111 到 nnn 所需的最少时间思路由于与 2k2^k2k 次方有关,所以可以像 STSTST 表一样处理用 dp[i][j][k]dp[i][j][k]dp[i][j][k] 表示 iii 与 jjj 之间距离为 ...原创 2019-10-24 13:08:45 · 1440 阅读 · 0 评论 -
CF1249F Maximum Weight Subset
CF1249F Maximum Weight Subset题意给出一个树,每个点有权值求最大权值子集,且子集任意一对点的距离大于kkk思路明显的树上 dpdpdp令 dp[i][j]dp[i][j]dp[i][j] 表示以 iii 为根的子树,最小深度为 jjj 的最大符合条件的子集对于一个点,以 111 为根,以 444 为子树为根,显然有两种情况子集包含...原创 2019-10-23 19:27:06 · 773 阅读 · 1 评论 -
牛客网暑期ACM多校训练营(第七场)H.Pair 数位DP
H.Pair题意给出三个数 A,B,CA,B, CA,B,C求出 pair<i,j>pair<i, j >pair<i,j> 对数使得i∧j>Ci\land j > Ci∧j>C或者i⊕j<Ci \oplus j<Ci⊕j<C1≤i≤A,1≤j≤B1 \...原创 2019-08-15 23:04:24 · 142 阅读 · 0 评论 -
CF1204D Kirk and a Binary String
D. Kirk and a Binary String 题意给出一个01串S,长度≤100000\leq 100000≤100000请你构建一个01串P,长度与S相同使得对于任意l,r,1≤l≤r≤S1\leq l \leq r \leq S1≤l≤r≤S对于区间[l,r]的最长不下降子串长度相同思路由于只有1变为0,若[l,r]改变,[1,n]必定改变我们可以将S分成若干的...原创 2019-08-21 16:27:24 · 322 阅读 · 0 评论 -
CF1204E Natasha, Sasha and the Prefix Sums(动态规划+组合数)
CF1204E Natasha, Sasha and the Prefix Sums题意给出n,m,n个1和m个-1组成(comb[n+m][n]个)数列对所有数列的最大前缀和求和最大前缀和最小是0思路动态规划状态:dp[n][m]表示由n个1和m个-1组成数列的前缀和总和状态转移方程:dp[i][j]=(dp[i−1][j]+comb[i+j−1][j])+(dp[i][...原创 2019-08-22 15:13:02 · 704 阅读 · 0 评论 -
Comet Oj contest 11 B usiness
B usiness题意有 n 天,初始时你的钱数为 0每一天可以执行任意多种操作,每种任意次(但每次操作后你的钱数不能为负)有 m 种可能操作,第 i 种会使你当前失去 aia_iai的钱数并在 n 天结束后,返还 bib_ibi 的钱数。-每天结束时你会获得一个与当前持有钱数 x 相关的收入 f(x),而 f(x) 单调不增思路令 g[i][j] 表示第 i...原创 2019-10-10 11:28:28 · 131 阅读 · 0 评论 -
P3195 [HNOI2008]玩具装箱TOY
P3195 [HNOI2008]玩具装箱TOY题意有n个物品,每个物品长度c[i]将物品分为连续的几组,每组内部每个物品用空间1隔开一组物品的长度为 ∑ii<=jc[i]+j−i\sum_{i}^{i<=j}c[i] + j-i∑ii<=jc[i]+j−i每组物品的价值为(长度−L)2(长度-L)^2(长度−L)2,L为常数思路状态dp[i]...原创 2019-10-10 11:31:52 · 192 阅读 · 0 评论 -
CF1179D Fedor Runs for President
CF1179D Fedor Runs for President题意给一棵n个点的树,求加入一条边后,最多有多少条无向简单路径简单路径定义为任意一个点最多经过一次的路径思路我们若将i和j相连,我们可以将i到j的路径拉直路径上每个点有一个以该点为根的子树,记子树大小为size[i]该路径上不同子树之间的点相互访问的简单路径增加了一条增加路径数 ∑(n−size[i...原创 2019-10-10 11:34:21 · 1947 阅读 · 0 评论 -
CF1042E Vasya and Magic Matrix
CF1042E Vasya and Magic Matrix题意一个n行m列的矩阵,每个位置有权值ai,ja_{i,j}ai,j给定一个出发点,每次可以等概率的移动到一个权值小于当前点权值的点,同时得分加上两个点之间欧几里得距离的平方(欧几里得距离:(x1−x2)2+(y1−y2)2\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}(x1−x2)2+(y1−y2)2,...原创 2019-10-10 11:36:18 · 175 阅读 · 0 评论 -
CF1238E Keyboard Purchase
CF1238E Keyboard Purchase题意给定n和m,给出一个由m个不同小写字母组成的长度为n的字符串可以改变前m个小写字母的相对位置每一种可能的值是给出的字符串的每两个相邻位置的字母的相对位置的和即∑∣poss[i]−poss[i+1]∣\sum |pos_{s[i]}-pos_{s[i+1]}|∑∣poss[i]−poss[i+1]∣求最小的一种...原创 2019-10-11 17:40:43 · 225 阅读 · 0 评论 -
数位DP学习笔记
数位DP学习笔记求给定区间[l,r][l, r][l,r]符合条件f(i)f(i)f(i)的数的个数f(i)f(i)f(i)一般与数的大小无关,而与数的组成有关数位DP记忆化搜索从起点向下搜索,到最底层得到方案数,一层一层向上返回答案并累加,最后从搜索起点得到最终答案对于 [l,r][l, r][l,r]区间问题,我们一般把他转化为两次数位DP,即找`[0,r][0, r][0...原创 2019-08-15 20:34:57 · 135 阅读 · 0 评论 -
CF1203F Complete the Projects 贪心+DP
CF1203F Complete the Projects发一波洛谷链接题解 CF1203F1 【Complete the Projects (easy version)】题解 CF1203F2 【Complete the Projects (hard version)】原创 2019-08-14 21:38:15 · 300 阅读 · 0 评论 -
DP 2019牛客暑期多校训练营 E.ABBA
E.ABBA题意链接:https://ac.nowcoder.com/acm/contest/881/E来源:牛客网题目描述Bobo has a string of length 2(n + m) which consists of characters `A` and `B`. The string also has a fascinating property: it c...原创 2019-07-19 01:17:39 · 174 阅读 · 0 评论 -
树上分组背包 洛谷 P1273 有线电视网
洛谷 P1273 有线电视网树上分组背包即在树上做背包问题对每棵子树做背包,再用子树的状态递推父亲的状态第一次做树上背包,所以定义状态的时候想了很久首先,节点号作为一个状态,同时为了实现状态转移第二个状态为用户数量一开始想到费用上去了i表示节点号,x表示选取用户数,dp[i][x]表示最高费用状态转移方程i:节点 x:该节点已保证用户数 ...原创 2019-07-20 00:44:49 · 146 阅读 · 0 评论 -
单调队列优化的DP 洛谷 P1070 道路游戏
单调队列优化的DP单调队列整理链接动态规划,我们经常会遇到转移的过程需要和前面(L,L+m)(L,L+m)(L,L+m)的区间转移的操作若每次只需要(L,L+m)(L,L+m)(L,L+m)的最大或最小值mmm的大小固定那么我们就可以用单调队列来取(L,L+m)(L,L+m)(L,L+m)的最值来优化动态规划P1070 道路游戏题意分析状态本题动态规划的状态很难设计因...原创 2019-07-29 19:52:51 · 178 阅读 · 0 评论 -
动态规划中的2 P2051 [AHOI2009]中国象棋 [HNOI2003]消防局的设立
动态规划中的2在动态规划中我们经常会遇到关于2的问题,即往往不是0,1两种状态比如:不能超过2这个时候我们可以考虑将0,1,2设为状态状态转移为0,1,2三种状态相互转移的公式中国象棋的炮题意给出n∗mn*mn∗m的棋盘,,计算在棋盘上放炮的方案,使得棋盘上的炮不能相互攻击的到分析状态显然,每行每列可以放置的炮的数量不能超过2我们一个想法是将每列...原创 2019-07-25 00:45:46 · 171 阅读 · 0 评论 -
HDU 6606 Distribution of books 杭电多校第四场 D Distribution of books
HDU 6606 Distribution of books题意给出一个长为nnn数组请将数组分成kkk个连续子串,每个子串和的最大值最小你可以舍弃数组末尾连续的任意个数(比如将−1,−1,−1,−1,12,6-1,-1,-1,-1,12,6−1,−1,−1,−1,12,6分成4组,我们显然可以舍弃最后两个数)思路二分...原创 2019-07-30 11:29:44 · 214 阅读 · 0 评论 -
悬线法 洛谷 P1169 [ZJOI2007]棋盘制作
P1169 [ZJOI2007]棋盘制作悬线法悬线法是一种通用的用于求子矩阵的方法先对于每个点处理出以该点为基点,向右可以到最远的点,向左可以到的最远的点则对于每条横轴,处理出若干条线,再对于各个横轴dp合并更新表示该点纵向向上可延申长度状态和状态方程状态为点(i,j)向左延申最远的点为点(i,j)向右延申最远的点为该点的线向上延申的最长距离...原创 2019-07-21 01:28:17 · 180 阅读 · 0 评论 -
单调队列优化的DP HDU3401 Trade
单调队列优化的DP单调队列整理链接动态规划,我们经常会遇到转移的过程需要和前面(L,L+m)(L,L+m)(L,L+m)的区间转移的操作若每次只需要(L,L+m)(L,L+m)(L,L+m)的最大或最小值mmm的大小固定那么我们就可以用单调队列来取(L,L+m)(L,L+m)(L,L+m)的最值来优化动态规划HDU3401 Trade题意X某预知了接下来TTT天的某只股票情况...原创 2019-07-27 18:12:27 · 134 阅读 · 0 评论 -
[USACO13OPEN]照片Photo 区间唯一存在
[USACO13OPEN]照片Photo题意给出n个奶牛和m个区间m个区间包含所有的奶牛每个区间有且只有一只有斑点的奶牛求最多有几头有斑点的奶牛思路区间有且只有一个区间内至多存在一个区间内至少存在一个我们以样例为例,解说:1 42 53 4对于点1,由于区间内至多存在一个若点1为斑点奶牛,那么所有包含点1的区间都不在能有斑点奶牛即为包含该点的最大右区...原创 2019-08-10 15:03:31 · 135 阅读 · 0 评论 -
BZOJ1925: [Sdoi2010]地精部落 组合数+DP
BZOJ1925 [SDOI2010]地精部落题意给出nnn,求出nnn的全排列中,波动数列的个数(0<n<4201)(0<n<4201)(0<n<4201)波动数列:每个点不是波峰((比相邻的点都大)就是波谷(比相邻的点都小)思路最高峰的两边一定也是波动数列当最高峰iii确定的时候:一个长度为nnn的波动...原创 2019-08-10 17:26:51 · 154 阅读 · 0 评论 -
树形DP入门 洛谷P2279 [HNOI2003]消防局的设立 详解
洛谷P2279 [HNOI2003]消防局的设立树形DP所谓树形DP,即就是在树上进行DP动态转移为由子树向父亲节点转移一般实现形式为dfsvoid dfs(int x) { for (int i = 0; i < E[x].size(); i++) { dfs(E[x][i]); //寻找并对子树DP //-----------...原创 2019-07-18 22:56:08 · 232 阅读 · 0 评论