数位 心得dp

区间DP入门

石子合并 别人讲过太多了,蒟蒻就不说了。 Polygon 这题跟石子合并类似,只是多输出了个先清除哪条边可以使得值最大。 因为我们不确定先删那一条,我们就再复制一遍添到输入的结尾,就变成了 $2 \times N - 1$。 我们思考最大值是由哪些贡献的。 最大值与最大值运算。 最小值乘上最小值(因 ......
区间

状态压缩DP

关于状态表示形式的优化方式。 使用场景:需要记录不超过二进制数位(通常22位以内)的bool信息的DP问题。 常见的位操作 简单操作 任何二进制数位 &1 得到它本身。 任何二进制数位 ^1 则取反。 任何二进制数位 &0 则赋值为0。 任何二进制数位 |1 则赋值为1。 混合操作 (n>>k&1) ......
状态

Python学习心得

python学习心得与体会 在我学习Python编程语言的过程中,我收获了很多宝贵的经验和体会。Python是一门强大而又简洁的编程语言,具有广泛的应用领域和丰富的资源支持。通过学习Python,我深刻理解了编程的基本原理和思维方式,并能够灵活运用Python解决实际问题。 一、Python简介 P ......
心得 Python

CodeWhisperer 的使用心得

文章作者:小SS 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝 ......
CodeWhisperer 心得

DP 专项练习

[USACO23OPEN] Pareidolia S 对于这种题,两种思路,一种是直接 \(dp\),一种是考虑每个 bessie 产生的贡献。 显然直接考虑 bessie 产生的贡献难以解决 bbessie 的情况,所以考虑 \(dp\)。 设 \(f_{i}\) 表示以 \(i\) 开头的字符串 ......
专项 DP

CF DP 题乱做(续更)

CF566F $1500$ 容易考虑到 $n^2$ 做法:设 $dp_i$ 为第 $i$ 个数选的答案,对于排好序的序列,枚举前面的数 $a_j$,如果 $a_j|a_i$ 就转移,时间复杂度易知 $O(n^2+n\log n)$。 由于 $a$ 至于很小,延续刚才的思路,设 $dp_i$ 为选值为 ......
CF DP

P1802-DP【橙】

1.又是一道因为写了异常剪枝而调了好久的题,以后再也不写异常剪枝了,异常情况压根不该出现,所以针对出现的异常情况进行补救的异常剪枝是一种很容易出错的行为,做为两手准备也就罢了,但第一次写成的代码必须能在没有异常剪枝的情况下算出正确结果才行! 2.还提出了一个专门针对记搜的编码规范:编写记忆化搜索的时 ......
1802 DP

P1164-DP【橙】

这道题让我更深入的理解了记忆化搜索的过程,既然记忆化搜索的结果要靠返回值来传递,那么记忆化搜索解决问题的必须是倒序的,即记忆化搜索是一个简化问题倒序解决的过程,普通搜索是一个复杂化问题逐步尝试并记录尝试结果的过程。 特别是对于求总种数的记忆化搜索,就是把能干的事情组合起来然后把情况全都加到DFS变量 ......
1164 DP

同城售后系统退款业务重构心得

退款业务强耦合到售后系统中,并且业务代码分散到各个业务层,严重缺乏系统的领域边界和分层设计,重构后退款业务逻辑不强依赖售后核心业务逻辑,做到可以独立部署。 ......
心得 业务 系统

P1216-DP【橙】

在这道题中,我第一次用了memset,确实方便,不过需要注意的是只有全部赋值-1和0的时候才能使用它,否则他能干出吓死人的事。以及memset在cstring头文件里,在本地就算不include也能照常编译,但评测机里可能不行,所以一定要写上cstring 同时,我半获得半自我总结了一个暴论,这个暴 ......
1216 DP

DP查缺补漏之多重背包优化原理

DP查缺补漏之多重背包优化原理 普通思路 类似完全背包 for(int i=1;i<=n;i++) for(int j=1;j<=V;j++) for(int k=1;k<=V/c[i];k++) { if(k*c[i]<=j) f[i][j]=max(f[i-1][j],f[i-1][j-k*c[ ......
背包 原理

poj 2411 状压dp入门题

Mondriaan's Dream Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 29096 Accepted: 15505 Description Squares and rectangles fascinated the f ......
2411 poj

DP查缺补漏之完全背包优化原理

DP查缺补漏之完全背包优化原理 先复习一下基本知识 状态假设 DP[I][J]为前\(i\)个物品,容量小于\(j\)时的最优解(最大价值) 状态转移 DP[I][J] = max(DP[I - 1][J], DP[I - 1][J - k*V[I]] + k*W[I]) 对于第\(i\)个物品,两 ......
背包 原理

CF练习题17(DP)

Chocolate Bar 我们看到 \(n,m\le 30\) 想到暴搜。 考虑枚举分割线,一直到刚好满足需要或者只有一个巧克力的情况。 随手跑了个最优解。 inline int dfs(int n,int m,int k){ if(n*m==k)return 0; if(k<=0)return ......
练习题 17 DP

DP查缺补漏之01背包优化原理

DP查缺补漏之01背包优化原理 先复习一下基本知识 状态假设 DP[I][J]为前\(i\)个物品,容量小于\(j\)时的最优解(最大价值) 状态转移 DP[I][J] = max(DP[I - 1][J], DP[I - 1][J - V[I]] + W[I]) 对于第\(i\)个物品,两种可能 ......
背包 原理

Markdown使用心得(简单用法解析)

Markdown使用心得(简单用法解析) Markdown的优势 个人看来,MD的优势在于脱离对鼠标的依赖,在简单的熟悉后,从段落格式到字体特效的实现都可以完全脱离鼠标。避免了为了格式和艺术效果多次将右手在键盘和鼠标来回移动,打破码字的纯净体验,避免频繁的中断思路。 简单的用法归纳 接下来,我将简单 ......
Markdown 心得

BigDecimal 去除小数位

BigDecimal 去除小数位 String value = ""; double numValue = Double.valueOf(value); //保留6位小数,并四舍五入 BigDecimal decimal = new BigDecimal(String.valueOf(value)) ......
小数位 小数 BigDecimal

zr模拟赛 8 (dp)

zr模拟赛 8 你好我的朋友,现在我生病了,对不起。 23zr提高day8-测测你的计数水平 👌 首先断环为链,方法是枚举某一个点连的是那一条边。 接着设\(f_i\)表示从左到右扫到i的时候所有区间都没有超过i的方案数。 然后发现如果当前新区间覆盖了两个相同颜色的点就寄了,但是没有就没事。 另外 ......
模拟赛

DP做题记录(10.30-)

10.30 ICPC-22-JN C(62/504) dfs的同时DP,u由fa转移,问题在于求同层兄弟选i个组成size和为j的方案数:这个暴力是\(O(n^4)\)的,一开始考虑了预处理前后缀再拼起来,然而拼起来的复杂度更高;想到先所有儿子做一遍再回退DP,但又觉得银牌DP题用不到这么高级的东西 ......
10.30 10 30

cf41D. Pawn(将余数设计到dp状态中)

D. Pawn 感觉这种dp套路似乎非常常见,我们可以设 f[i][j][x]表示走到(i,j),当前的值为f[i][j][x]*k+x ,也就是我们将余数x作为放在状态中。 #include<cstdio> #include<algorithm> #include<cstring> #includ ......
余数 状态 Pawn cf 41

送快递(状压dp)

题目链接在这里:Lutece (uestc.edu.cn) 典型的状压dp,对于状压dp一般有三重循环,第一个枚举状态,第二个和第三个分别枚举一个状态到另一个状态的起点和终点。 #include "bits/stdc++.h" using namespace std; const int MAX=5 ......

换根DP

目录换根DP相关资料例题 换根DP 相关资料 例题 ......

C++实验心得

C++类文件写通讯录系统 生成项目,创建类文件... 调出工作区,manager属性 类文件运用 string 型变量的找不到此数据类型问题,需要在对应 .h 文件定义上命名空间并引用 <string> 头文件 类文件引用主函数全局变量 main.cpp extern int a; //导出 ... ......
心得

和缥缈老师学习心得

1. 这是一道顺序的输出题 因为c是浮点型数据,所以b,a两者都要变成带小数的形式 *1.0 然后需要变成百分数,所以为了输出%,要打%%,一个%的存在代表的求余数。 因为是百分数,在变成百分数时,要“乘”100。 2. 想要printf这句话 因为有""的存在,而在英文中引号是没有前后之分的,所以 ......
心得 老师

数位dp

点击查看代码 #include <bits/stdc++.h> using namespace std; const int N=250,mod=998244353; int f[N][2000];//长度为i时,前pos-1项的和为j的合法数 string s; //pos位置,sum==mark ......
数位

第 369 场周赛(简单位运算,分类讨论,dfs,树形dp)

简单位运算模拟 class Solution { public: int findKOr(vector<int>& nums, int k) { vector<int> bit(32, 0); for(int i = 0; i < 31; i ++ ) { int cnt = 0; for(auto ......
树形 369 dfs dp

【题解】P9753 [CSP-S 2023] 消消乐(字符串哈希,DP)

【题解】P9753 [CSP-S 2023] 消消乐 不知道考场脑子是抽了还是有病,全程都不知道在放什么屁。 特别鸣谢:@dbxxx 给我讲解了解法一的满分做法,并让我对哈希有了更加深刻的认识;@Daidly 给我讲解了解法二。 题目链接 P9753 [CSP-S 2023] 消消乐 题意概述 给定 ......
题解 字符串 字符 P9753 CSP-S

At_dp_x Tower

题目链接 贪心 + Dp Part1 看上去很像背包,但是发现最后答案和堆放的顺序有关,很容易想到状压,但是复杂度不允许。 而且发现如果一个一个向上放,当前决策会有后效性,题目也不允许在开一维状态。 Part2 对于后效性,我们可以每次把箱子放在最下面,就没有后效性了。 重点是解决顺序问题,考虑两个 ......
At_dp_x Tower At dp

#期望dp#CF1810G The Maximum Prefix

洛谷题面 CF1810G 分析 考虑最大前缀和满足两个条件,就是所有前缀和都不超过,以及一定有一个等于。 那么就要保证它能达到最大值且一直不能高于它 设 \(dp[i][j][0/1]\) 表示前 \(i\) 个数离达到最大值还需要 \(j\) 且未/已经达到过最大值。 初始化就是 \(dp[0][ ......
Maximum Prefix 1810 The dp

#dp,二项式反演,容斥#CF285E Positions in Permutations

题目 问有多少个长度为 \(n\) 的排列 \(P\) 满足 \(|P_i-i|=1\) 的 \(i\) 的个数恰好为 \(k\) 个 分析 设 \(dp_{i,j,k}\) 表示前 \(i\) 个数钦定 \(j\) 个数满足上述条件且现在 \(i\) 和 \(i+1\) 因此被占用的方案数。 那么 ......
二项式 Permutations Positions 285 dp