斜率longest path dp

Codeforces Dp

Zero Remainder Sum 采用辅助数组 $ ndp[m + 1][\frac{m}{2}][k] $ 来求出每一行中在当前第 $ i $ 列,取了 $ j $ 个物品,总和模 $ k $ 的余数是 $ t $ 的最大和是多少。用 $ dp[n + 1][k] $ 来转移每一行的状态。 # ......
Codeforces Dp

CF 1195C-Basketball Exercise,状态机DP,1400

CF 1195C-Basketball Exercise 没怎么做过状态机 dp, 这个简单的题目甚至开始甚至搞出三维来。 #include <iostream> using namespace std; const int N = 1e5 + 10; typedef long long LL; / ......
C-Basketball Basketball Exercise 状态 1195

Codeforces 1810G - The Maximum Prefix(DP)

挺小清新的一道计数题。 首先先分析下这个“最大前缀和”,按照最朴素的思路就是扫一遍每个前缀,然后记录一下当前的 $sum$ 与前面的 $mx$,但是如果你一直陷在这个思路上你就似了,因为按照这个思路做,你 DP 状态里需要记录 $sum$ 和 $mx$ 两个维度,算上下标一维总共是 $n^3$,并且 ......
Codeforces Maximum Prefix 1810G 1810

16 Ray Tracing (Monte Carlo Path Tracing)

关键点 Monte Carlo Integration Distributed Ray Tracing Path Tracing Russian Roulette(RR) Sampling the Light(pure math) 1. Monte Carlo Integration 蒙特卡洛积分 ......
Tracing Monte Carlo Path Ray

【DP】LeetCode 72. 编辑距离

题目链接 72. 编辑距离 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 为结 ......
LeetCode 72

【DP】LeetCode 139. 单词拆分

题目链接 139. 单词拆分 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 为 ......
单词 LeetCode 139

一道数位dp的题

一道数位dp的题 无链接,朋友问的。 题目 定义“好数”为倍数为7且数字中不含4的数,编写程序在1秒内找出第n(1<n<1e12)个好数 代码 #include<bits/stdc++.h> #define ll long long using namespace std; const int N ......
数位 一道

20230417 训练记录:dp

你也许会好奇为什么没有 04.16 的训练记录,昨天农了一天 O(∩_∩)O。 Vacation https://atcoder.jp/contests/dp/tasks/dp_c 小明在接下来的 $n$ 天,可以选择三种事件并获得 $a_i / b_i / c_i$ 的快乐值,但是他不能连续两天及 ......
20230417

Codeforces Round 625 (Div. 1, based on Technocup 2020 Final Round) A. Journey Planning(dp)

https://codeforces.com/contest/1320/problem/A ###A. Journey Planning 题目大意: 给定一组数,问我们ai-aj==i-j的时候就可以把ai的值加起来,问我们可以凑到的最大总值是多少? input 6 10 7 1 9 10 15 o ......
Round Codeforces Technocup Planning Journey

斜率优化dp学习笔记

例题: 洛谷P2900 [USACO08MAR]Land Acquisition G 分析与转化 可以发现,有一些东西是完全没用的 当一个矩形的长和宽都比另一个矩形小的时候,这个矩形就是废的,因为他完全可以套在另外那个矩形一起买 这时候我们就能发现:我们得到了一个长度递减,宽度递增的矩形序列 而要求 ......
斜率 笔记

meeting (换根DP, 树直径)

思路 1 换根DP: 第一次dfs 预处理出每一个儿子树的 最长距离1 和次长距离2 第二次开始换根DP, 本点到其他 点的距离最长 : 分别考虑 一个是父亲上下来的点len3, 一个是兄弟节点, 就是父亲的最长距离len1或者 次长距离len2, 当然这道题要 k个人所在的节点才会产生权值 思路2 ......
直径 meeting DP

free (牛客多校) (dj最短路+dp优化处理)

本题大意:给出n,m,s,t,k,n个点,m条路,求s到t的最短路,并且最多k条路免费,然后给出m行,u,v,w,代表u到v有一条权值为w的双向路。 思路: 就是dj最短路 + 一个dp维度的处理, dp[i][j], 到第i个节点用了多少个免费的路径的最短路径 ......
free dp

斜率优化动态规划

2.斜率优化动态规划 提示:由于这些式子比较长,读代码时建议点代码框右上角的“全屏”。另外,$latex$ 比较多,可能会卡。 2.1 例题 例题2-1-1:任务安排 朴素算法:令 $f_{i,j}$ 表示把前 $i$ 个任务分成 $j$ 组完成所需要花费的最小代价。 枚举第 $j-1$ 组的最后一 ......
斜率 动态

The 1st Universal Cup Stage 12: ̄Ookayama, April 15-16, 2023 Problem A. XOR Tree Path

题意 给定一颗树,对于每个节点有一个颜色(白色或者黑色),对于一个操作:选择一个叶子节点,对于从叶子节点到根节点路径上的所有颜色反转(黑变白,白变黑)。让你求出使用任意次操作后,整个树上黑色节点最多有多少个。 思路对于每个节点在最终状态有两种结果,一个是不变,一个是反转颜色。如果颜色反转,则在这个节 ......
Universal Ookayama Problem April Stage

关于软件测试领域的 Happy Path

在软件测试领域,happy path 是指一组测试用例,其中每个测试用例都覆盖了一个顺畅运行的路径,即一组不需要任何异常处理的输入和操作,以及相应的预期输出和结果。通常,这些测试用例被设计为模拟最常见、最基本和最常用的用户行为和用例场景,以确保软件在正常操作条件下可以正确地运行和处理。 例如,在一个 ......
软件测试 领域 Happy 软件 Path

米哈游4-15 笔试第三题 数位dp

一、题意:找到第k(k上限1e12)大的,不包括4并且能被7整除的数。 题解:二分+数位dp。 #include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; ......
笔试 数位 15

CF1816F Xor Counting - dp - 分治 -

题目链接:https://codeforces.com/contest/1816/problem/F 题解: 一道有趣的题。 首先发现 $m=1$ 和 $m\geq 3$ 时结论是平凡的。$m=1$ 时结论显然,下面讨论一下 $m\geq 3$ 时: 首先可以构造 $[x, (n-x)/2, (n- ......
Counting 1816F 1816 Xor CF

DP动态规划

题目描述 有一长度为 N(1<=N<=10) 的地板,给定两种不同瓷砖:一种长度为 1,另一种长度为 2,数目不限。要将这个长度为 N 的地板铺满,一共有多少种不同的铺法? 输入格式 输入有多组,每组只有一个数 N,代表地板的长度 输出格式 对于每组数据,输出一个数,占一行,代表所有不同的瓷砖铺放方 ......
动态

汉诺塔DP

题目描述 如果将课本上的汉诺塔问题稍做修改:给定 N 只盘子,3 根柱子,但是允许每次最多移动相邻的 M 只盘子(当然移动盘子的数目也可以小于 M), 最少需要多少次? 输入格式 输入数据仅有一行,包括两个数 N 和 M(0<=M<=N<=8) 输出格式 仅输出一个数,表示需要移动的最少次数 #in ......

20230415 训练记录:全路径计数 / dp

傻逼博客园,写好的文章不是自动保存在草稿箱,而是这个打开的网页。然后傻逼 Windows 自动更新使得断电退出这个网页,写的几百行文章没了。操了。 全路径计数 关于全路径计数,大前天 已经给出两例,今日再加一例。一般来说,点权和边权的做法是不一样的,所以分开来说。 全路径颜色统计(点权) https ......
路径 20230415 dp

centos7 PATH 环境变量设置

https://blog.csdn.net/qq_39715000/article/details/125023190 1、系统环境变量 系统环境变量对全部的用户生效,设置系统环境变量有三种方法。 1)在/etc/profile文件中设置。 用户登录时执行/etc/profile文件中设置系统的环境 ......
变量 centos7 环境 centos PATH

os.path.dirname;os.path.abspath;os.walk方法详解

os.path.dirname: os.path.dirname(path):用来获取文件的路径 os.path.dirname(__file__):用来获取当前py文件的上层目录 例如:当前文件所处位置为:D:/AutoTestSys/script/AutoFunction/test1.py pr ......
path os dirname abspath 方法

区间DP

区间DP 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来有很大的关系。 例题 石子合并 洛谷1880 #include<bits/stdc++.h> using namespace std; int n,i,j,k,l,ma,mi,a ......
区间

树形DP

树形DP 树形 DP,即在树上进行的 DP。由于树固有的递归性质,树形 DP 一般都是递归进行的。 例题 没有上司的舞会 洛谷1352 #include<bits/stdc++.h> using namespace std; int n,i,x,y,b[6005],f[6005][2]; vecto ......
树形

状压DP

状压DP 状压 DP 是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的。 例题 售货员的难题 洛谷1171 #include<bits/stdc++.h> using namespace std; int n,i,j,k,min1,a[25][25],f[1050000][25]; int ......

数位DP

数位DP 数位是指把一个数字按照个、十、百、千等等一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制。 数位 DP:用来解决一类特定问题,这种问题比较好辨认,一般具有这几个特征: 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件 ......
数位

DP优化

DP优化 单调队列优化 Watching Fireworks is Fun CF372C #include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,m,d,i,j,k,l,r,ma,f[2][150005],g[1 ......

背包DP

背包DP 二进制分组优化 考虑优化。我们仍考虑把多重背包转化成 0-1 背包模型来求解。 预处理物品数量是2的次方。且要覆盖物品数量的点。即2 n次方+1到k index = 0; for (int i = 1; i <= m; i++) { int c = 1, p, h, k; cin >> p ......
背包

线性DP

线性DP 最长公共子序列 O(n*m)写法 int a[MAXN], b[MAXM], f[MAXN][MAXM]; int dp() { for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) if (a[i] == b[j]) f[i] ......
线性

【DP】【分治】LeetCode 53. 最大子数组和

题目链接 [https://leetcode.cn/problems/maximum-subarray/description/](53. 最大子数组和 "https://leetcode.cn/problems/maximum-subarray/description/") 思路 分析动态规划题目 ......
数组 LeetCode 53