2023年3月4日
摘要: 斜率优化还是挺板子的: 考虑 两个变量 j,k ,且 F( j ) >F( k ) ,化简得到一个斜率的市子。。 slope( i ,j ) 然后用单调队列维护 #include <iostream> #include <cstring> #include <queue> using namespa 阅读全文
posted @ 2023-03-04 17:47 towboat 阅读(17) 评论(0) 推荐(0)
摘要: 给定一个长度n的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过M 的前提下,让“每段中所有数的最大值”之和最小。 f[i ] =min( f[ j ]+ max{ a[k] , j<k<=i } ) ,s[ i ]-s[j] <=M 单调队列优化dp 待补 阅读全文
posted @ 2023-03-04 15:25 towboat 阅读(27) 评论(0) 推荐(0)
摘要: 有 n块木板从左到右排成一行,有m M 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第ii个木匠要么不粉刷,要么粉刷包含木板 pos[ i] 的,长度不超过 c[i] 的连续的一段木板,每粉刷一块可以得到 Y[i] 的报酬。 不同工匠的pos[i] 不同。 如何安排能使工匠们获得的总报酬最多 阅读全文
posted @ 2023-03-04 13:02 towboat 阅读(12) 评论(0) 推荐(0)
摘要: 给定一个长度为n 的序列 , 求 它有多少个长度为 m的严格递增子序列。 f[i][j] += f[i-1][k] (a[k]<a[i], k<i ) 优化 : 维护前缀和,根据a[k]<a[i] ,以a[ ] 为下标维护树状数组 , add(a[i] ,f[i-1][j] ) #include < 阅读全文
posted @ 2023-03-04 12:15 towboat 阅读(17) 评论(0) 推荐(0)