
DP
slow down
shawwwOvO
这个作者很懒,什么都没留下…
展开
-
数字转换(树型dp,最远点对)
LOJ10155题意:对于数字xxx而言,如果他的约数之和(不包括自身)yyy满足x>yx>yx>y,那么xxx可以相互转变yyy。给定数字n(1≤n≤5×104)n(1\le n \le 5\times 10^4)n(1≤n≤5×104),问数字最多转换次数为多少。思路:对于数字111到nnn,如果满足上述条件则数字间连双向边。由于条件需要保证x>yx>yx>y,因此无法形成回路。图是一个树的形状。由1的分析可以发现要求转变最多次数就是要求最远点对,这里路径权原创 2021-03-12 00:11:22 · 122 阅读 · 0 评论 -
POJ2631 最远点对(树形dp)
POJ2631树形dp可以边权不限(正负都可)题意:给定一个树图,求最远点队(边权重和最大)对于一个点而言,穿过它的最长路径是它的最长边与次长边之和。int h[maxn], e[maxn], w[maxn], ne[maxn], idx;int ans;int n;void add(int a, int b, int c) { e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++;}int dfs(int u, int father)原创 2021-03-11 18:31:22 · 155 阅读 · 0 评论 -
icpc 徐州 A-cat规律
A-cat vj链接题意:T次测试(T≤5×105)(T\le5\times10^5)(T≤5×105),每次给定L、RL、RL、R区间以及数字SSS,要求在这个区间中找到最长子段[x,y][x,y][x,y],使得x⨁(x+1)⨁...⨁(y−1)⨁y≤Sx\bigoplus (x+1)\bigoplus...\bigoplus(y-1)\bigoplus y\le Sx⨁(x+1)⨁...⨁(y−1)⨁y≤S成立。数据范围:1≤L≤R≤1018,1≤S≤2×10181\le L\le R\le10原创 2020-12-04 17:38:33 · 220 阅读 · 0 评论 -
Balanced Diet(前缀数组,转化)
Balanced Diet(读题很重要看了半天读错题意没看见maximum我晕鼓7 )题意:给定nnn个糖,每个只能用一次,在nnn行输入中包含了ai bia_i\ b_iai bi分别表示这个糖的贡献和他的类型。类型取值范围为[1,m][1,m][1,m]。给定数组lnl_nln表示如果选择类型iii,那么总共的糖果个数pip_ipi应该大于lil_ili,当然也可以选择不选。问SC\frac{S}{C}CS的最大值,这里SSS表示选择的糖果的sum(ai)sum原创 2020-10-09 17:32:13 · 401 阅读 · 0 评论 -
hdu(三)1012 String Distance(子序列自动机、dp)
1012 String DistanceHDU 6774题意:给定两个串S,T。可以在两个串中任意选定位置进行字符的插入或者删除。ST间的距离就是使得两字符串相等的最小操作数。思考:我猜是∣A∣+∣B∣−LCS(A,B)|A|+|B|-LCS(A,B)∣A∣+∣B∣−LCS(A,B),当时好像没做不知道为啥可能我是菜鸡?先来一发再写哦我知道了,后面还有一个q次询问区间把婷婷吓傻了,先来一发我晕了就是这个区间搞死我了无语我想起来为啥没做了我全想起来了...原创 2020-09-25 16:02:02 · 124 阅读 · 0 评论 -
hdu多校(三)1004 Tokitsukaze and Multiple(easydp)
1004 Tokitsukaze and Multiple题意:给定序列ana_nan,数字ppp。需要把数列分段,问段内和是p的倍数的最大个数。思路:题意就已经换了一下了,原题这样:问题就转换成了数列分段,有dp味道了。因为题目要求连续。8错8错,前缀和来了。用dp记录当前位置iii的最大个数,问题就在从啥状态转移来?好像可以随便转移,但是有贡献的位置jjj必然是∑k=jiai%p=0\sum_{k=j}^i a_i\%p=0∑k=jiai%p=0的地方。现在剩下的问题就是要找这个位置原创 2020-09-23 19:07:55 · 181 阅读 · 0 评论 -
Codeforces Round #669 (Div. 2) D. Discrete Centrifugal Jumps(dp、单调栈)
1231654788f原创 2020-09-10 11:23:59 · 98 阅读 · 0 评论 -
D. Multiple Testcases(贪心、dp Educational Codeforces Round 86 (Rated for Div. 2))
D. Multiple TestcasesCF 1342D气死我了我就差一个ceil我的天wsm老这样我吐了我好难过555555555555题意:给定n、kn、kn、k,给定nnn个数组mim_imi,要求将其分组。给定kkk大小的数组cic_ici,要求每个组中大于等于iii的数字个数小于等于cic_ici。求最小分组数anss,并输出每个分组内分配的数字。思路:一开始想...原创 2020-04-29 23:00:37 · 189 阅读 · 0 评论 -
Three Blocks Palindrome (hard version&&easy)(Codeforces Round #634 (Div. 3))(dp、8错)
Three Blocks Palindrome简单版本困难版本题意:给定序列a,当子序列(不是子串!!!)是这个样子的时候就是合法的:[a,a,⋯ ,a⏟xb,b,⋯ ,b⏟ya,a,⋯ ,a]⏟x\begin{matrix} \underbrace{[ a,a,\cdots,a } \\ x \end{matrix}\begin{matrix} \underbrace{ b,b,\cdots...原创 2020-04-15 21:46:44 · 196 阅读 · 0 评论 -
1278C. Berry Jam(dp前缀和、统计最短段令数量相同)
CF 1278C. Berry Jam题意:给定2×n长度1 2序列,求最小区间长度,该区间的head在1 ~n,tail在n ~2×n(或者0),使区间外的1、2数量相同。因为是两个不同种类,目的是让数量相同,转化1 -1前缀和。除去区间后的1 2个数统计可以枚举n~n*2的点的后缀和,与他相加为0的前缀和下标位置就是1 2相同的区间。记录1~n的前缀和,并更新每次贡献的下标(要求区间最...原创 2020-02-29 22:25:03 · 167 阅读 · 1 评论 -
C2. Skyscrapers (hard version)(单调栈、dp)
C2. Skyscrapers (hard version)link单调栈模板||别点了点了也没有题意:给定n个数字,表示第i个位置的楼高上限ai。要求所有楼中不能出现谷,问总楼层数最大时,每个位置楼高,输出。所有数列构成单峰函数,递增、递减或者只能含有一个峰。easy version数据范围只有1e3可暴力枚举峰,hard version是5e5,需要优化反正我是不会但是看了题解太妙了...原创 2020-02-27 00:00:24 · 270 阅读 · 0 评论 -
B - The least round way(DP、路径还原)
B - The least round way题意:给定n×n方正,从右上角出发走到左下角,要求所有经过路径得到的数乘积中0的个数最少。输出最小数、还原路径碎碎念:一开始写的转移方程判断条件是判断2、5与当前的个数相加后取最小值,判断哪个小走哪个。假的。正解应该一直对2和5一直取最小的,在最后再取最小值。手推一下就okk零的个数就是所有乘数中2的个数和5的个数的最小值注意如果路径中存在0...原创 2020-02-21 19:55:00 · 214 阅读 · 0 评论 -
乌龟棋(机智DP
乌龟棋(机智DP[luogu P1541]一开始想开一维数组但是记录不了用的卡片我是sbb后来想开五维数组但是空间不够发现只要开四维就好了,代表1、2、3、4卡片用的个数。想到这个以后就很好做了dp[i][j][k][g]的上一个状态可以是四种卡片转移来的记得距离加1,起始点是1不是0加的a的位置是ijkg的不是上一个状态的大憨罗int n,m;int dp[maxn][max...原创 2020-02-08 23:07:39 · 180 阅读 · 0 评论 -
过河(状压dp
过河(状压dpluogu P1052最初想法,但是l太大必TLEint l,s,t,m;map<int,int> dp,mp;//int dp[maxn],mp[maxn];int main(){ l=ird(); s=ird();t=ird();m=ird(); for(int i=1;i<=m;i++){ mp[ird()...原创 2020-02-07 22:31:31 · 165 阅读 · 0 评论 -
垃圾陷阱
垃圾陷阱luogu P1156类似01背包问题dp[i][j]表示第i个垃圾投下后,在高度j处能量的最大值。i+1个垃圾扔下后两种状态(如果当前i处的能量能够到达i+1扔下的时间t)吃下垃圾:dp[i+1][j]=dp[i][j]+a[i+1].f垫高度:dp[i+1][j+a[i+1].h]=dp[i][j]如果i+1到达的高度能够大于等于d,直接输出答案:i+1落下的时间...原创 2020-02-07 15:10:39 · 202 阅读 · 0 评论 -
多维
少刷wb多看书相似基因相似基因luogu P1140dp[i][j]表示a、b字符串的第i、j个位置处的相似度转移方程有三种情况:dp[i][j]=1.在a中插入空键:dp[i][j-1]+mp[b[j]][4]2.在b中插入空键:dp[i-1][j]+mp[a[i]][4]3.a与b配对:dp[i-1][j-1]+mp[a[i]][b[j]]int mp[5][5]={{5...原创 2020-02-06 14:12:04 · 171 阅读 · 0 评论 -
好烦啊为什么不早点写博客懒死我算了啊好烦每天少睡一小时
经典例题多做做 少刷wb多看书采药(01背包疯狂的采药(完全背包金明的预算方案(依赖背包数的划分 P1025多米诺骨牌石子合并(模板最大正方形(线性dp 1创意吃鱼法 (线性dp2采药(01背包luogu P1048背包动规模板题01背包问题LL dp[maxn],w[maxn],t[maxn];LL tt,m;int main(){ tt=lrd(); m=lrd...原创 2020-02-06 00:04:32 · 148 阅读 · 0 评论