斜率longest path dp

树形dp学习笔记

我们通常采用递归的方式实现树形dp。 对于每个节点,先递归在它的每个子节点上进行dp,在回溯时,从子节点向根节点进行状态转移。 顺序一般为从叶子结点到根节点递推。 题目: 一. P1352 没有上司的舞会 以子树的根作为dp状态的第一维。容易发现,每个员工是否参加至于他的上司是否参加有关。 不妨设 ......
树形 笔记

斜率优化做题笔记

P4360 [CEOI2004] 锯木厂选址 令 \(f_i\) 表示仅在 \(i\) 位置修建一个锯木厂的最小费用,\(dis_i\) 表示从山脚到 \(i\) 位置的距离,\(sum_i\) 表示从山顶到 \(i\) 位置的木材重量和,可以直接预处理出来。 那么第二个锯木厂修建在位置 \(i\) ......
斜率 笔记

深入理解斜率优化

转移到 \(i\) 时考虑两个转移点 \(j<k\) 中 \(j\) 更优的条件,可以写成 \(\dfrac{a_k-a_j}{b_k-b_j}\) 大于或者小于 \(c_i\) 的形式。 把信息看做二维平面上的点 \((b,a)\),那么上面的条件实际上就是 \(j\) 与 \(k\) 两点间的斜 ......
斜率

矩阵优化dp

都快csps了,还什么都不会的菜鱼(我估计着马上就可以改了这句话了,成了都快noip了) 矩阵 我们要用矩阵优化dp,首先要知道矩阵是个什么东西(感觉其实可以不用知道)。 矩阵的很多定义啥的都可以选择去oi-wiki上去进行学习。很简单的一堆定义。读者自学不难,这里就不多赘述。 矩阵加法 就是将对应 ......
矩阵

《算法学习专栏》—— DP问题之状态机模型

2023年10月13日 更新于2023年10月13日 一、前言 本栏,为状态机模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到状态机的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、状态机模型 2.1 对于状态机的考虑 ......
算法 模型 状态 专栏 问题

ABC324F Beautiful Path

给出一张 DAG,每条边有两种边权 \(b\) 与 \(c\),求一条从 \(1\) 到 \(n\) 的路径,问路径经过的边的 \(\dfrac{\sum b}{\sum c}\) 的最大值是多少。 \(n, m \le 2 \times 10^5\)。 这不是经典 01 分数规划吗?将题目中的要求 ......
Beautiful 324F Path ABC 324

Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
题解 Beautiful 分数 Beginner Atcoder

【算法笔记】 数位dp (例题是 [SCOI2009] windy 数)

数位dp 引入 数位 :是指把一个数字按位数一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制,就比如 链接: [SCOI2009] windy 数的二进制同理。 常见特征 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转 ......
例题 数位 算法 笔记 windy

Codeforces Round 903 (Div. 3) E. Block Sequence(DP)

Codeforces Round 903 (Div. 3) E. Block Sequence 思路: 设dp[i]为当i~n为完美的最少删除次数 dp[n]=1,dp[n+1]=0; 从后至前对于dp[i]更新 若直接删除当前点,则为 dp[i+1]+1 若不删除 则为 min(dp[i+a[i] ......
Codeforces Sequence Block Round 903

CF1874F Jellyfish and OEIS【容斥,DP】

给定序列 \(m_i\),求有多少排列 \(p\) 满足:对于满足 \(l \le r \le m_l\) 的所有 \((l,r)\),\(p_{l \sim r}\) 都不是 \(l \sim r\) 的排列。答案对 \(10^9 + 7\) 取模。 \(n \le 200\),时限 \(\tex ......
Jellyfish 1874F 1874 OEIS and

DP 复习

背包 约定使用 \(v_i\) 表示放入第 \(i\) 件物品的花费,\(w_i\) 表示第 \(i\) 件物品的价值,背包容量 \(M\),物品件数 \(N\)。 01 背包 每种物品仅有一件,可以选择放或不放。 设 \(f(i,j)\) 表示前 \(i\) 件物品恰填满容量为 \(j\) 的背包 ......
DP

数位 dp 学习心得

感觉非常牛逼。最牛逼的是很多情况下要去掉前导零。 去掉前导零的方法通常是先忽略前导零的约束,最后再容斥掉有多少0。 Luogu P2602 数字计数 来自【详细解释】数字计数 ZJOJ p2602 一道练习数位DP的好题 - moye到碗里来 的博客 - 洛谷博客 (luogu.com.cn) 那么 ......
数位 心得 dp

Almost Sorted (CF F ) (压状dp)

思路: 性质1, 相当于重新对这个序列排序 性质2, 等式关于 值域, 对于任意一个都满足, 那么就是 当前点 比前面放入的点 的最大值 - k 都要大, 比后面最小值+k都要小, --> 每一个点都要满足, 那么对于当前点的放置是有限制的,以 值域 来看 1-i 里面都已经放置了, 那么放置 后面 ......
Almost Sorted CF dp

低功耗Sub-1G全频段收发一体芯片DP4306 适用无线对讲机 工业数据采集等应用

无线电对讲机既是移动通信中的一种专业无线通信工具,又是一种能满足人们生活需要的具有消费类产品特点的消费工具。顾名思义移动通信就是通信一方和另一方在移动中实现通信。它是一种无线的可在移动中使用的一点对多点进行通信的终端设备,可使许多人同时彼此交流,使许多人能同时听到同一个人说话,但是在同一时刻只能有一 ......
频段 数据采集 功耗 对讲机 芯片

斜率优化

斜率优化是一种优化 \(dp\) 的方法,不过在哪之前,我们需要引入一道例题。 点击查看代码 给你一个长度为 $n$ 序列 $A$,你需要把他分成若干段。定义第 $x$ 段的贡献为: $$a \times(\sum_{i=l_x}^{r_x} a_i))^2 +b\times \sum_{i=l_x ......
斜率

动态规划——树形DP 学习笔记

动态规划——树形DP 学习笔记 引入 前置知识:树基础。 树形 DP,即在树上进行的 DP,最常见的状态表示为 \(f_{u,\cdots}\),表示以 \(u\) 为根的子树的某个东东。 本文将讲解一些经典题目(树的子树个数、树的最大独立集、树的最小点覆盖、树的最小支配集、树的直径、树的重心、树的 ......
树形 笔记 动态

内置MCU的SUB-1G超低成本芯片DP4306F兼容CMT2380F32/CC1310无线抄表&无线对讲机&逆变器&遥控&玩具

产品简介DP4306F是一款高性能低功耗的单片集成收发机,集成MO核MCU,工作频率可覆盖200MHiz^ 1000MHz。 支持230/408/433/470/868/915频段。该芯片集成了射频接收器、射频发射器、频率综合器、GFSK调制器、GFSK解调器等功能模块。通过SPI接口可以对输出功率 ......
amp 无线 抄表 逆变器 对讲机

换根dp

看到网上的方法多多少少比较复杂,所以决定写一下。 首先对于一道换根dp题应该是先要会不换根版本的。 然后可以按照欧拉序(括号序)换根。对于欧拉序中相邻的两个节点必有一条边把它们相连,所以换根的时候只需要从新统计 \(1\) 个子树的信息。 觉得自己的语言表达能力太烂,还是上题目比较好。 P3478 ......

DP问题

1.什么情况下可以使用动态规划来解决问题: (1)往往在求最优解的问题中使用动态规划。 (2)一个大问题可以被分解为小问题,且每一个子问题都对应一个互不相同的状态。 (3)在问题状态每次发生改变时,需要进行判断来决定如何改变。 ......
问题

Servlet.service() for servlet [dispatcherServlet] in context with path []

一个不小心出现的错误 [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw e ......

一些对dp突然的理解

突然想到了一些理解,感觉有些模糊,怕忘记,就赶紧记下来就是对于状态的设计 用01背包举例子吧,我们设计状态的时候一定是要保证所有可能在最后优秀的子状态在前面的时候是能够保留下来的也就是我们的状态设计要能够保留那些在最后优秀但是现在可能不优秀的情况,而不是一味的追求最优子结构所以,01背包,我们很显然 ......

《算法学习专栏》—— DP问题之背包模型

2023年10月11日 更新于2023年10月11日 一、前言 本栏,为背包模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到背包的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、背包模型 2.1 目前的模型 01背包模 ......
算法 背包 模型 专栏 问题

DPDK-22.11.2 [四] Virtio_user as Exception Path

因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ip a/ifconfig)无法看到,同样数据也不再经过系统内核。 如果想把数据再发送到系统,就要用到virtio user。这种把数据从dpdk再发送到内核的步骤,就叫做exception path ......
Virtio_user Exception Virtio DPDK Path

CodeTON Round 5 ( Div1+Div2 ) C. Tenzing and Balls (DP)

CodeTON Round 5 ( Div1+Div2 ) C. Tenzing and Balls 思路:设f[i]为从 1~i 能删去的最多数 f[i] = max( f[i-1] , i - j + 1+ f[j-1] ) ( a[j]=a[i] , 删去i到j , 再加上前 j-1 可删去的 ......
Div CodeTON Tenzing Balls Round

《算法学习专栏》——DP问题之线性DP

2023年10月10日 更新于2023年10月10日 一、前言 本栏,为线性DP,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到线性DP的题目,也能加进来,不断完善。 二、线性DP 2.1 目前的模型: 数字三角形模型 最长上升子序列模型 2.2 目前解决的问题: 可以解决路径上 ......
线性 算法 专栏 问题

otImplementedError: "sortBed" does not appear to be installed or on the path, so this method is disabled.

NotImplementedError Traceback (most recent call last) Cell In[10], line 5 3 s = pybedtools.BedTool(args.starrseq[0]).filter(lambda x: float(x[9]) > 1. ......

学习笔记:斜率优化

引入 有时候 我们会遇见一些 dp 式子 \[f_i=\min(f_j+a_i\times b_i)(j\leq i-1) \]这些式子和 \(j\) 没有任何关系 可以前缀处理最小值 \(O(n)\) 快速解决 但是有些式子是这样的 \[f_i=\min(f_j+a_i\times b_j+c_i ......
斜率 笔记

rsa dp泄露脚本

已知c,e,n,dp 求m(dp=d%(p-1))import gmpy2from Crypto.Util.number import *n =dp =c =e = tmp = e * dp -1#根据联立条件有: e*dp = 1 + k(p-1),故求解p的式子为:(p-1) = (e*dp-1 ......
脚本 rsa

动态规划入门与线性 dp

OI-wiki Link 引入 动态规划(Dynamic Programming,DP),是一种将原问题分为一些子问题,通过局部最优解推出全局最优解。 一般来说,做一道 dp 题有 \(4\) 个步骤: 设计 dp 状态:根据几个关键信息定下状态和最优化属性。 定下拓扑序。 设计状态转移方程。 确定 ......
线性 动态 dp

Go - Finding the Shortest Path on a Graph

Problem: You want to find the shortest path between two nodes on a weighted graph. Solution: Use Dijkstra’s algorithm to find the shortest path betwee ......
Shortest Finding Graph Path the