斜率longest path dp

arc159_F DP

题意(简化版) 给出一个长度为 $2n$ 的序列 $a_i$,求将序列分割为若干个长度为偶数的区间,满足每个区间内都不含绝对众数(出现次数严格大于长度的一半的数)的方案数。 $n\le 500000,,a_i\le2n$ 解法 解法和官方题解大致相同,虽然官方题解我也没看太明白( 显然一定在偶数出断 ......
arc 159 DP

Node.js文件路径:Path模块

path模块是nodejs的内置模块,便于我们去获取、操作文件路径 记录一些注意事项: 文件的绝对位置 cjs console.log(__filename) mjs mjs中,不能使用__filename和__dirname console.log(import.meta.url) 文件所处的目录 ......
路径 模块 文件 Node Path

D. Program(有点难度的线性DP)

题目 D. Program 题意 给一个长度为n的‘+’,‘-’序列,表示+1和-1 在给m个查询,问忽略[l,r]之间的序列,能走到多少个不同的数字 思路 分为前后缀计算,前缀计算比较简单关键是后缀计算 后缀上,需要关注能够到达的最小值和最大值 定义sufL[i]和sufR[i]分别表示为到达的最 ......
线性 难度 Program

树形DP

树形DP 给出一棵树,要求以最少代价(或最大收益)完成给定的操作。 基本操作 树的遍历,用DFS从根节点开始进行记忆化搜索 从树最深处开始往回进行DP,用子节点dp值来更新父节点dp值 复杂度分析:遍历每个节点,总复杂度为$O(n)$ 例题 某大学有 $n$ 个职员,编号为 $1\ldots n$。 ......
树形

2904: 最少拦截系统 基础dp

描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。怎么办呢?请帮助计算一下最 ......
基础 系统 2904

7663: 股票买卖 动态规划/线性dp

描述 最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。 假设阿福已经准确预测出了某只股票在未来N天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。 同一天可以进行多次买卖 ......
线性 股票 动态 7663

IntelliJ Idea 出现java.lang.UnsatisfiedLinkError: no XXX in java.library.path的提示

在菜单Run -> Edit Configurations -> Application 里的你的项目的Configuration -> VM Options里添加: -Djava.library.path=/usr/local/java/lib:/usr/local/hadoop/lib ......

博弈论dp

博弈DP解决的是两人轮流操作,且没有平局的两人博弈游戏,和博弈问题的形式相同。 博弈论dp正推会有后效性,这是无法解决的 所以一般博弈论dp会选着逆推 但实际上逆推也不好写,所以这时候一般会以记忆化搜索dp的形式来写博弈论dp ......
博弈论

康复训练の树形DP

所有代码的开头头文件,宏定义和命名空间如下 #include <bits/stdc++.h> #define Tp template<typename Ty> #define Ts template<typename Ty,typename... Ar> #define ll long long # ......
树形

矩阵链(DP思想)

引入 按顺序排列的的三个矩阵 M1,M2,M3 计算三个矩阵相乘结果,有两种乘法 (M1 M2) M3 M1(M2 M3) 但两种乘法计算次数不同 三个矩阵维度如下 4 * 5 5 * 6 6 * 7 第一种计算次数 4 * 5 * 6 + 4 * 6 * 7 第二种计算次数 5 * 6 * 7 + ......
矩阵 思想

斜率优化入门

前言 斜率优化是一种经典的单调队列优化类型,~~虽然它的名字很高大上~~,但是其思想内核非常简单,这篇博客就是用来帮助各位快速入门的 提示:本博客以单调队列的思想理解斜率优化 引入 dp 优化可以怎么分类? 数据结构维护决策点集的插入与查找 算法维护决策点集大小,取出无用决策点 Q1 P3195 A ......
斜率

405 最长公共子序列 线性DP

视频链接:https://www.bilibili.com/video/BV1EK411K7Eb/ #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N=1010; i ......
线性 序列 405

403 最长上升子序列 线性DP

视频链接:https://www.bilibili.com/video/BV1KK4y1e7t7/ #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N=1010; i ......
线性 序列 403

OS-Linux-环境变量-LD_LIBRARY_PATH

OS-Linux-环境变量-LD_LIBRARY_PATH Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别 运行时动态库的搜索路径的先后顺序是: 编译目标代码时指定的动态库搜索路径; 环境变量LD_LIBRARY_PATH指定的动态库搜索路径; 配置文件/e ......

golang 编译碰到问题 Package python-2.7 was not found in the pkg-config search path.

golang 运行单测或者编译程序时提示需要配置 PKG_CONFIG_PATH 环境变量,原因是在程序里使用了 go-python 包,要求运行环境有 python2.7,并设置 PKG_CONFIG_PATH 环境变量,解决方案如下: # pkg-config --cflags -- pytho ......
pkg-config Package golang config python

Python DeprecationWarning: executable_path has been deprecated, please pass in a Service object

借鉴 https://blog.csdn.net/lly1122334/article/details/106217320 https://blog.csdn.net/qq_57377057/article/details/128463296 https://blog.csdn.net/tangya ......

Leetcode(剑指offer专项训练)——DP专项(8)

最长递增路径 题目 给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。 链接 DP 但是依旧不能覆盖所有的情况 class Solution { pub ......
专项 Leetcode offer

换根dp

给定一棵树,树中包含 nn 个结点(编号11~nn)和 n−1n−1 条无向边,每条边都有一个权值。 请你在树中找到一个点,使得该点到树中其他结点的最远距离最近。 输入格式 第一行包含整数 nn。 接下来 n−1n−1 行,每行包含三个整数 ai,bi,ciai,bi,ci,表示点 aiai 和 b ......

「学习笔记」数位 DP

「学习笔记」数位 DP 意义不大的题不写了。 点击查看目录 概述 数位 DP 一般用来解决「在一个较大的区间内统计具有一定特征的数的数量」的问题。 数位 DP 一般有两种做法: 递推法:首先需要预处理出具有一定条件的数的个数,然后将上限按数位拆分开来考虑贡献。 暴搜法:直接记忆化搜索具有特定条件的数 ......
数位 笔记 DP

LeetCode 双周赛 101,DP/中心位贪心/裴蜀定理/Dijkstra/最小环

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈。上周末这场是 LeetCode 第 101 场双周赛,整体有点难度,第 3 题似乎比第 4 题还难一些。 周赛大纲 2605. 从两个 ......
定理 LeetCode Dijkstra 101 DP

20230401数位DP

数位DP 数位DP通常指在$[l,r]$区间中有多少个满足条件$k$的个树 常见的数据范围都很大 也就是说, 把数字的枚举,变成数字的构造 不要把数字看作是$10^{18}$ 而把数字看作是$18$位数的填数过程 就是把原本枚举的问题转化为了构造的问题 然而数位dp常通过记忆化搜索实现 tips: ......
数位 20230401

数位 dp

数位 $\text{dp}$ 前言 谨慎学习此算法。 算法讲解 AcWing 1081.度的数量 题意分析:你看到这道题,是不是无从下手?其实题目就是让我们求在 $x \sim y$ 中,有多少个数分解成 $B$ 进制后仅有 $k$ 位为 $1$,其余均为 $0$; 考虑暴力:从 $x$ 枚举到 $ ......
数位 dp

石子合并 - 区间 DP

石子合并 - 区间动态规划 题意 设有 $N$ 堆石子排成一排,其编号为 $1 \sim N$。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 $N$ 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的 ......
区间 石子 DP

蒙德里安的梦想 - 状压 DP

蒙德里安的梦想 - 状态压缩动态规划 题意 求把 $N \times M$ 的棋盘分割成若干个 $1 \times 2$ 的长方形,有多少种方案。 样例输入 2 4 样例输出 5 算法 状态压缩动态规划 (状压DP) $\to$ OI-WIKI 状态压缩,顾名思义,就是将某一种状态压缩成容易储存的形 ......
梦想 DP

DP

1. 最大的和 来源《信息学奥赛一本通》 原题链接 题目描述 对于给定的整数序列 $A=\lbrace a_1,a_2,…,a_n \rbrace$,找出两个不重合连续子段,使得两子段中所有数字的和最大。 我们如下定义函数 $d(A)$: $$d(A) = max_{1≤s_1≤t_1<s_2≤t_ ......
DP

P9019 [USACO23JAN] Tractor Paths P

Problem Luogu P9019 [USACO23JAN] Tractor Paths P Solution 首先有一个显然的结论,区间 $i$ 向右能到的区间是 $[i+1,RT_i]$,向左能到的区间是 $[LT_i,i-1]$。 根据这个考虑倍增。定义跳一步表示从当前区间去到最远能去的区 ......
Tractor P9019 USACO Paths 9019

解决Java在请求某些不受信任的https网站时会报:PKIX path building failed

解决办法: 例如下载360 的安全证书,使用浏览器打开要调用的接口链接:https://api.e.360.cn/account/clientLogin,然后查看证书导出证书到本地,文件名取成 调用api的域名api.e.360.cn 将数字证书保存到jdk1.7.0_17\jre\lib\secu ......
building failed https 网站 Java

合成大西瓜 (期望DP,消元) (2023年“华为”杯广东工业大学第十七届程序设计竞赛)

思路: 离目标越进吗,那个期望值越小,所以就 f=f1+f2+f3..... ......

树形dp

https://atcoder.jp/contests/abc259/tasks/abc259_f 树形dp(最简单的那种类型,但是题目的方法还是很巧妙的) 易知:负权边可以忽略 思路 定义 定义f[i][0]表示以i为根的子树尽量用到d[i]-1条边的最大可能(留一条边给父节点联通用) f[i][ ......
树形

数位dp

#数位dp ##思想 一般来说,题目是要求在区间$[l,r]$中符合某一种条件的数的个数 我们用前缀和的思想考虑,分别求出$[1,r]$和$[1,l-1]$中数的个数相减即为所求 这里采用记忆化搜索的方式实现 ##模板 #include<iostream> #include<cstring> #in ......
数位