动态规划
selia1078
这个作者很懒,什么都没留下…
展开
-
CF 1437 Educational Codeforces Round 97
CF 1437 E. Make It Increasing 题意 给一个数组,固定某些位置不可动,改变可动位置,使得数组严格单调递增,求最少改变位置数。 思路 考虑没有固定位置时,令bi=ai−ib_{i}= a_{i} - ibi=ai−i,若bib_{i}bi单调不增,则aia_{i}ai严格单调递增。求单调不减子序列,答案即是总长度减最大单调不减子序列长度。 当有固定位置时,将数组划分成若干段,对于每一段而言,首尾是固定的。那么强制首位必选,求单调不减子序列,找到一个值小于末尾位置的位置po原创 2020-11-07 23:54:11 · 95 阅读 · 0 评论 -
状压DP
CF 906 C party NOIP2017 宝藏原创 2020-08-20 20:22:54 · 109 阅读 · 0 评论 -
倍增与动态规划
多重背包问题 POJ1742 coins HDU5445 food problem 进制拆分 POI2007 odw_weight 砝码 倍增优化DP CH5702-Count The Repetitions NOIP2012开车旅行原创 2020-08-20 20:20:30 · 260 阅读 · 0 评论 -
多重背包
题目 1. coins 题意:n种硬币,每种硬币面值为ai,数量为ci。求这些硬币可以组成1~m之间多少种价值。(n≤100n\le100n≤100 ,m≤100000m\le100000m≤100000, ci≤1000c_{i}\le1000ci≤1000) 思路1 二进制优化背包。TLE ,O(nmlogc) #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring>原创 2020-07-28 15:55:31 · 90 阅读 · 0 评论 -
概率DP
一. 二、 题目 CF 1156 F 题解: 算了,上代码吧 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; long long mod=998244353;...原创 2020-04-23 23:49:29 · 111 阅读 · 0 评论 -
斜率优化
tips 注意求斜率的时候有可能爆long long,可以采用long double并改用除法 式子别推反,注意大于小于号 题目 CF 311 B 题解: 对于第i只猫,等待时间 = 饲养者出发时间 + 路程 - 旅行结束时间。 记录每只猫旅行结束时间 - 路程,排序,贪心,每一个饲养员负责排好序后的一段连续区间。 于是,变成划分区间,DP+斜率优化 #include<iostream&...原创 2020-04-19 11:52:41 · 155 阅读 · 0 评论