斜率longest path dp

vue3 vueRouter4 :No match found for location with path ***

0. 采用vue+ router4 做路由导航. 首次载入控制台很干净. F5刷新后,控制台爆出警告,但点击路由正常工作. 1. 经过排查发现,是menu中使用了 <router-link> 这玩意,后来改造成 @click="router.push(ele.path)" 即可消除警告 2. 网络上 ......
vueRouter4 vueRouter location match found

Educational DP Contest

Educational DP Contest ATcoder_link 夯实基础的好东西 I 记录一下此时第 i 个有多少概率小于等于 j 的就可以了。 #include<bits/stdc++.h> using namespace std; const int N=3005; #define db ......
Educational Contest DP

【dp的二分优化】NO300 最长递增子序列

【dp的二分优化】300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums ......
序列 300 NO

常见dp问题

dp的引入 动态规划(简称dp), 是指把一个问题分解为若干个子问题, 通过局部最优解得到全局最优的一种算法策略或者说一种思想方法. 简单来讲, 就是用一个数组表示我们要求的问题的答案, 如果知道前一个问题的答案, 就可以推出后一个问题的答案 dp有以下几个常见的概念: 状态: 指当前所考虑的子问题 ......
常见 问题

计数dp

CODE FESTIVAL 2016 Final $n,m$ 很小,可以设很暴力的状态 发现我每次就是一条路径然后回到 $1$ 所在的强连通分量,不关心我现在在哪个点,所以设 $f_{i,j,k}$ 表示现在走了 $i$ 步, $1$ 所在的强连通分量里面有 $j$ 个点,现在走了 $k$ 个点还没 ......

Codeforces 1804H - Code Lock(状压 dp)

对于一种排列方案,答案显然等于相邻字符在环上对应的劣弧长度之和。 然后其实你可能会想到很多状压 / 折半搜索方法,包括但不限于枚举一半的信息然后折半搜后一半,但稍加思考会发现这些方案都避不开记录元素之间的相对顺序,而但凡涉及到这一点,复杂度都是阶乘起步。因此我们只能另辟蹊径。 考虑 $k$ 是偶数的 ......
Codeforces 1804H 1804 Code Lock

Codeforces 1799H - Tree Cutting(树形 dp)

思考的时候一直卡在不会在低于 $O(n)$ 的时间内储存一个连通块的 $siz$ 有关的信息,看了洛谷题解之后才发现我真是个小丑。 树形 DP。对于一条我们需要操作的边 $(i,fa_i)$,我们将其分为保留子树和删除子树两种类型,对于删除子树,我们在判定其是否合法时候改为判定删除的连通块大小是否为 ......
树形 Codeforces Cutting 1799H 1799

区间dp 和 树型dp

##区间dp 递推方程是以区间的形式给出 一般套路 :枚举区间长度 区间端点 区间分界点 然后就是想怎么去对这个区间进行一定的操作 从最原始的地方开始一步步推导方程! for(i=1;i<n;i++)//区间长度为1 { for(j=1;j<=n-i;j++) //区间开头 { for(k=j;k< ......
区间

【树形DP入门题】NO337 打家劫舍III

【树形DP入门题】337. 打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天 ......
打家劫舍 树形 337 III NO

斜率优化

重点讲讲斜率优化的套路。 首先需要将式子化为 $y=kx+b$ 的形式,其中 $y,x$ 为一个关于变量 $j$ 的式子,$k$ 为一个关于常量 $i,b$ 的式子。然后根据 $x,k$ 的单调性考虑是二分还是直接单调。注意如果求最小值是下凸包,最大值是上凸包(最小值是直线从下面往上靠,最大值反之) ......
斜率

旅游规划 树形DP DFS

🍑 算法题解专栏 🍑 旅游计划 输入 10 0 1 0 2 0 4 0 6 0 7 1 3 2 5 4 8 6 9 输出 0 1 2 3 4 5 6 8 9 🍑 树形DP:即在树上进行的 DP,由于树固有的递归性质,树形DP一般都是递归进行的。 🍑 树的直径:找到根节点下面的第一长和第二长的 ......
旅游规划 树形 DFS

CF1814E Chain Chips & CF750E New Year and Old Subsequence - 动态 dp -

一句话概括动态 dp:用来解决带修改/多次区间询问的 dp 问题。将转移写成矩阵的形式,然后利用线段树求解区间问题/单点修改 1814E 注意一条边要么选 2 要么选 0 次,而且第一条边一定是选了 2 次。如果有一条边没选,那么这条边两侧的边一定都选了。 设 $f_i$ 代表考虑到第 $i$ 条边 ......
Subsequence 动态 1814E Chain Chips

6669: 括号配对 区间dp

描述 Hecy 又接了个新任务:BE 处理。BE 中有一类被称为 GBE。 以下是 GBE 的定义: 空表达式是 GBE 如果表达式 A 是 GBE,则 [A] 与 (A) 都是 GBE 如果 A 与 B 都是 GBE,那么 AB 是 GBE。 输入 输入仅一行,为字符串 BE。 对于 100% 的 ......
括号 区间 6669

换根 DP 板子

以前一直以为这玩意是随机应变的。 结果还真能总结出板子。 当然也有一定的局限性,比如 $dp$ 值必须 $O(1)$ 算。但不影响正常使用。 ins:向 $k$ 的子树信息中插入/删除 $nx$ 的子树信息。 这里的 子树 在 dfs1 中是指以 $1$ 为根的子树;dfs2 中是指以 $k$ 为根 ......
板子 DP

区间DP小结(附经典例题) 转载

区间DP 转载自:原博客 一、定义 ​ 区间DP是线性动态规划的扩展,适用场景为每段区间的最优解可以通过更小区间的最优解得到。所以我们一般的解题思路都是先在小区间得到最优解,然后总结出递推公式,利用小区间的最优解求大区间的最优解。 二、实现伪代码 //mst(dp,0) 初始化dp数组 for(in ......
例题 区间 小结 经典

P4316 绿豆蛙的归宿(期望dp)

题目描述 给出张 n 个点 m 条边的有向无环图,起点为 11,终点为 n,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点。 绿豆蛙从起点出发,走向终点。 到达每一个顶点时,如果该节点有 k 条出边,绿豆蛙可以选择任意一条边离开该点,并且走向每条边的概率为 1/k。现在 ......
绿豆 归宿 P4316 4316 dp

linux下sh脚本可以执行,但是放到crontab中执行无信息(crontab PATH信息与当前用户信息不一致)

创建Mysql备份脚本后,将sh文件加入crontab,命令未执行,日志信息未读取到Mysql库信息 #!/bin/bash DATE=$(date +%F_%H) HOST=127.0.0.1 USER=root PASS=123123 BACKUP_DIR=/root/tmp/ DB_LIST= ......
信息 crontab 脚本 用户 linux

CF960F Pathwalks | 线段树优化DP

题目 设$dp[x,w]$为以结点$x$为结尾,且最后一条边边权为$w$的最长路径长度。 考虑根据顺序加边,对于边$(u,v)$,更新 $$ dp[v,w] = \max_{w' < w}{dp[u,w']} + 1 $$ 对于每个节点,建一棵线段树,维护$dp[x]$,这样每次更新$dp[v,w] ......
线段 Pathwalks 960F 960 CF

DP 概论

对于一个题目,我们有暴力搜索算法。而 dp 就是尽可能将同一类的东西合并到一个状态上。 如何检查 dp 的正确性? 检查集合内部转移是否一致。 检查方案数是否正确。 状压 dp 有好几种状态压缩的方式: 记录“选了哪些东西”这样的信息,可以用一个长度为 $n$ 的 01 串,对应一个十进制数。 记录 ......
概论 DP

树形dp

树形dp P1352 没有上司的舞会 点击查看代码 #include <algorithm> #include <cmath> #include <cstdio> #include <cstring> #include <iomanip> #include <iostream> #include < ......
树形

【DP】LeetCode 740. 删除并获得点数

题目链接 740. 删除并获得点数 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j] 分别表示以 ......
点数 LeetCode 740

区间dp

区间dp 前情提要 先赞后看,必成习惯 一、区间dp-常见的也常考的dp 1.区间dp是什么? 区间动态规划是用 dp的状态来表示和一段区间有关的性质,比如说dp[i] [j]表示解决区间 [i,j] 上的子问题的最小代价或最大收益,然后利用区间子问题之间的关系递推求解。 2.区间dp怎么写? 区间 ......
区间

【DP】LeetCode 213. 打家劫舍 II

题目链接 213. 打家劫舍 II 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j] 分别表示以 ......
打家劫舍 LeetCode 213 II

【DP】LeetCode 198. 打家劫舍

题目链接 198. 打家劫舍 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j] 分别表示以 num ......
打家劫舍 LeetCode 198

【DP】LeetCode 1277. 统计全为 1 的正方形子矩阵

题目链接 1277. 统计全为 1 的正方形子矩阵 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j ......
正方形 正方 矩阵 LeetCode 1277

Java报错:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.

报错内容 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.spr ......

【LeetCode动态规划#12】详解买卖股票I~IV,经典dp题型

买卖股票的最佳时机 力扣题目链接(opens new window) 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返 ......
题型 LeetCode 股票 经典 动态

【DP】LeetCode 221. 最大正方形

题目链接 221. 最大正方形 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j] 分别表示以 nu ......
正方形 正方 LeetCode 221

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path

找到opencv的安装目录 然后将这个 opencv_java320.dll文件复制到java安装目录的bin目录下就可以了 D:\opencv3.20\opencv\build\java\x64 ......

Codeforces Beta Round 96 (Div. 1) -- C. Logo Turtle (dp,记忆化搜索)

#记忆化搜索 就是暴力,多一步优化,走过的路别走了。说实话,可能是数据水了,居然能过。 const int N = 510; string s; int n, ans; bool st[501][501][2][50]; void dfs(int x, int idx, int dir, int k ......
Codeforces 记忆 Turtle Round Beta