数位dp

动态规划-背包 DP

# 引入 在具体讲何为「背包 dp」前,先来看如下的例题: >有 $n$ 个物品和一个容量为 $W$ 的背包,每个物品有重量 $w_{i}$ 和价值 $v_{i}$ 两种属性,要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。 例题中已知条件有第 $i$ 个物品的重 ......
背包 动态 DP

codeforces#1829H.Don't Blame Me(dp)

题解 ``` #include #define io ios::sync_with_stdio(false); #define off cin.tie(0), cout.tie(0); #define all(x) x.begin(),x.end() #define inf 0x3f3f3f3f3f ......
codeforces Blame 1829 Don 39

动态规划dp

///关于下标问题,当在计算时运用到i-1的时候,可以使用i从1开始,就没有越界的风险 ///如果没有,一般从0开始比价好; 1.要想明白动态规划路线 ->第一步写出动态集合,第二步开始动态计算; 1-1 0-1背包问题: #include<bits/stdc++.h> using namespac ......
动态

从数字三角形开始的DP生活——第一天

[题目链接](https://www.luogu.com.cn/problem/P1216 "题目链接") ![](https://cdn.luogu.com.cn/upload/image_hosting/uu4jflha.png) ```c++ #include using namespace ......
三角形 数字

DP VGA HDMI VGA区别和相互转换

HDMI、DP、DVI、VGA哪个更好?别因为几块钱白白浪费显示器性能 - 知乎 (zhihu.com) 显示器视频接口科普:HDMI、DP、DVI、VGA有哪些区别 (zhihu.com) VGA转其它类型需要供电信号 一般DP转换HDMI效果或更好,属于向下兼容,而HDMI转换DP属于向上兼容有 ......
VGA HDMI DP

树形dp

# 树形dp ## [例题一 没有上司的舞会](https://www.luogu.com.cn/problem/P1352) ### 做法 过于经典,不多赘述 ``` #include using namespace std; const int maxn=6*1e3+5; int f[maxn] ......
树形

状压dp-其二(轮廓线dp)

# [例题一 种植玉米](https://www.luogu.com.cn/problem/P1879) ## 题目大意 农夫有一个被划分成M行N列的农田。 每个格子的数字如果是1则表示该格子的土地是肥沃的,可以种植玉米; 如果该格子的数字是0则表示该格子不能种植玉米。 但是还有一个条件:不能出现相 ......
轮廓 dp

线性dp

# [P1725 琪露诺](https://www.luogu.com.cn/problem/P1725) 一道线性dp的题目 状态设置:f[i]:表示到达位置i时的最大价值 状态转移:f[i] = max(f[i], f[j] + a[i])(i - r = using namespace std ......
线性

subsequence1 (牛客多校) (2个串比大小, DP, 组合数)

题面大意: 给定2个字符串,问有多少个子字符串S, 是大于t的 思路 数据范围很小, 因此考虑n^2做法 分2步, 位数s>位数t 的时候 然后 位数相等的时候 利用DP ,处理, 分别就是枚举 前 k个数和s相同,然后k+1个数比t大就可以. 具体思路自己想想,和那个比较像 const int M ......
subsequence1 subsequence 大小 DP

线性dp

# [P2285 [HNOI2004]打鼹鼠](https://www.luogu.com.cn/problem/P2285) > 这道题目类似最长上升子序列 这是一道线性dp的题目 怎么设置状态呢? f[i]:表示最后一只鼹鼠选择i的最大值 转移:f[i] = max(f[i], f[j] + 1 ......
线性

区间dp

ICPC Beijing 2017 J, Pangu and Stones http://oj.daimayuan.top/course/8/problem/327 题意:有n堆石子,需要合并成一堆,但每次合并必须合并>=L且<=R堆,代价为总和,求最小代价。(n<=100) 题解:经典的石子合并是 ......
区间

有向图 dp

1.1 什么是有向图 dp 我们遇到的博弈问题,例如【省选联考 2023】过河卒,很多都是转化为有向图博弈,其形如:一些节点为终止节点,状态已经确定;一个点的状态由其出边所到达点的状态确定。 如果是 DAG 上,显然我们可以按照拓扑序让每个点搜索到的时候其所有出边都已经确定了状态。但是题目有时候并不 ......
有向图 dp

hdu:不要62(数位DP)

Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。 ......
数位 hdu

背包DP

背包问题是指把一定数量的物体放在一定容量的背包中,物品通常有价值和体积两种属性,求能装下背包的最大价值。 01背包 每个物体只有取与不取两种状态,对应二进制的0和1,故被称为01背包。 状态转移方程 若已知第$i$个物品的价值为$w_i$,体积为$v_i$,设$dp_{i,j}$为前$i$个物品,容 ......
背包

5.8 单调栈 & 悬线法 & 相关的题(和 dp 也多少沾点)

今日小题:一个 CF div2 的 A 的签到题,记录一下这个做法: 求一个字符串的最长非回文字符串:无解:长度为 1 或整个串每个字符都一样;有解:判断这个串是不是回文,如果不是,输出长度,如果是输出长度 - 1。感觉非常妙。不写证明,感觉非常好想... #include<bits/stdc++. ......
amp 5.8 dp

CF213C (棋盘dp的经典例题)

Relay Race - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 本题是棋盘dp的经典例题。 可以先转化一下题意:从(1,1)走两条路径到(n,n),再确保两人是同步行走的。 我们可以让一人的走路范围一直在左下方向,一人的走路范围一直在右上方向。(倘若两人的路径交叉,则都可以转 ......
例题 棋盘 经典 213C 213

PROFIBUS DP网关在化工行业的应用

PROFIBUS DP网关在化工行业的应用 一、前言 MODBUS TCP协议以其组网方便灵活、技术成熟、数据量及速度指标优越、协议开放等优势,在工厂级设备联网中被广泛采用,也是化工行业主流DCS厂家,如霍尼韦尔、恒河等支持的协议。而生产现场的电气设备(如控制风机、阀门、泵类的变频器和马达保护器)不 ......
化工行业 网关 PROFIBUS 化工 行业

【DP滚动数组空间优化】NO.1143. 最长公共子序列 NO.718. 最长重复子数组 NO.1035. 不相交的线

5 1143. 最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符 ......
数组 序列 NO 空间 1143

【学习笔记】【题解】树形依赖 DP 选做

地址:https://www.cnblogs.com/FReQuenter5156/p/shuxingyilaidp.html/ 简介 这类背包本质上是分组背包问题。 将一个节点的每一棵子树看作一组,进行分组背包。所谓分组背包,即在选择物品的时候,一开始将物品分为好几组,在选择时,可以从每一组中至多 ......
树形 题解 笔记 DP

2023-05-04 线性DP_力扣练习

线性DP的力扣题目练习 这一章将会介绍线性动态规划的相关概念和经典问题,并给出一些练习题供大家演练。 用动态规划解决问题的过程有以下几个关键点:状态定义,状态的转移,初始化和边界条件。 状态定义 就是定义子问题,如何表示目标规模的问题和更小规模的问题。例如常见的方法:定义状态 dp[n],表示规模为 ......
线性 2023 05 04 DP

学习笔记:数位dp

1.基本模型 数位dp,即以数的每一位作为状态进行dp的算法。通常状态为 $f_{i,0-9}$ 表示第 $i$ 为取 $0-9$ 时的dp值。通常时间复杂度为 $log_{10}n$ ,十分优秀。 2.套路 求区间合法类的题,使用容斥思想思想求解,即 $[1,r]-[1,l-1]$ dp式子一般很 ......
数位 笔记

CF708C Centroids(换根dp)

题意: 给定一颗树,你有一次将树改造的机会,改造的意思是删去一条边,再加入一条边,保证改造后还是一棵树。 请问有多少点可以通过改造,成为这颗树的重心?(如果以某个点为根,每个子树的大小都不大于$\dfrac{n}{2}$,则称某个点为重心) 思路: 是今天遇到的一道有意思的换根dp呃呃。 从题意来看 ......
Centroids 708C 708 CF

2023-05-03 线性模型与区间DP

线性模型与区间DP 1 线性模型 基本概念 这里的线性是指状态的排布是线性的 线性模型是动态规划中最常用的模型 一般的代码模型是: for(int i = 0; i < n; i++) { for(j = 0; j < i; j++) { // Todo: 更新dp的具体逻辑 } } 最典型的一个例 ......
区间 线性 模型 2023 05

DP 好题题单整理

可能会持续更新,但是可能会被我放着不管。 | 题目 | | | | | | 对最长不下降子序列模型的理解 | 对最长不下降子序列模型的理解 | | 一道状压好题 | 一道状压好题 | | 一道重点不在于dp的思维题 | 一道重点不在于 $dp$ 的思维题 | | NOIP2015的dp傻题 | $\ ......
DP

动态 dp

这两天疯狂学东西,不管是有用算法还是无用算法。大概是真的打不动模拟赛了,也不想做题。 今天模拟赛 T1 计算几何 T2 构造 + 计算几何 T3 手玩十组样例。很好奇出题人是不是玩了若干时间原神之后整出这种阴间活来。 动态 dp 这种东西一般是把一个很显然的树形 dp 给你挂个带修。当然也可能是不显 ......
动态 dp

2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一个正整数 n ,请你返回区间 [1, n] 之间特殊整数的数目。 输入:n = 20。 输出:19。

2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一个正整数 n ,请你返回区间 [1, n] 之间特殊整数的数目。 输入:n = 20。 输出:19。 答案2023-05-02: 可以通过数字组合和状态压缩的动态规划算法来解决。具体过程如下: 1.对于 ......
整数 区间 数位 数目 之间

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$ 个点还没 ......