随笔分类 -  动态规划 优化 其它优化

摘要:【题意】n个点等距排列在长度为n-1的直线上,初始点1~k都有一辆公车,每辆公车都需要一些停靠点,每个点至多只能被一辆公车停靠,且每辆公车相邻两个停靠点的距离至多为p,所有公车最后会停在n-k+1~n。给定n,k,p,求满足要求的方案数%30031。n<=10^9,k<=p<=10。 【算法】状压D 阅读全文
posted @ 2018-04-10 22:12 ONION_CYC 阅读(304) 评论(0) 推荐(0)
摘要:【题目】C. Sonya and Problem Wihtout a Legend 【题意】给定n个数字,每次操作可以对一个数字±1,求最少操作次数使数列递增。n<=10^5。 【算法】动态规划+前缀和优化 【题解】★令b[i]=a[i]-i,则a[i]递增等价于b[i]不递减。 这样做之后,显然数 阅读全文
posted @ 2018-01-17 19:22 ONION_CYC 阅读(252) 评论(0) 推荐(0)
摘要:【题意】求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数。n<=1000,m<=100,k<=m。 【算法】动态规划 【题解】这题主要是将从i-l转移变成从i-1转移,从而省略l这一维的枚举(等价于记录前缀和,将信息顺序传递过来)。 f[i][j][k]表示字符串A到i,字符串B到j, 阅读全文
posted @ 2017-11-03 08:01 ONION_CYC 阅读(306) 评论(0) 推荐(0)
摘要:【题意】给定只含小写字母的字符串,要求分割成若干段使段内字母重组顺序后能得到回文串,求最少分割段数。n<=2*10^5 【算法】DP 【题解】关键在于快速判断一个字符子串是否合法,容易发现合法仅当不存在或只存在一个奇数字符,其余字符均为偶数。 当涉及到奇偶性(%2)时,很自然能想到异或。 将小写字母 阅读全文
posted @ 2017-10-24 21:14 ONION_CYC 阅读(176) 评论(0) 推荐(1)
摘要:【题意】给定一排n根杆高度hi,一个常数C,杆升高x的代价为x^2,相邻两杆之间架设电话线代价为高度差*C,求总代价最小。 【算法】DP+辅助数组优化 【题解】令f[i][j]表示第i根杆高度为j的最小代价。 f[i][j]=min(f[i-1][k]+C*|j-k|+(a[i]-j)^2)。复杂度 阅读全文
posted @ 2017-10-14 09:26 ONION_CYC 阅读(205) 评论(0) 推荐(0)
摘要:【算法】DP+数学优化 【题意】把n个1~m的数字分成k段,每段的价值为段内不同数字个数的平方,求最小总价值。n,m,ai<=40000 【题解】 参考自:WerKeyTom_FTD 令f[i]表示把前i个数分成若干段的最小价值。 转移中我们定义,从i开始往前到有j个不同的数的最小位置为b[j]。 阅读全文
posted @ 2017-09-22 19:56 ONION_CYC 阅读(267) 评论(0) 推荐(0)
摘要:【算法】动态规划DP 【题解】 题目要求不严格递增或不严格递减。 首先修改后的数字一定是原来出现过的数字,这样就可以离散化。 f[i][j]表示前i个,第i个修改为第j个数字的最小代价,a表示排序后数组,b表示原数组。 f[i][j]=min(f[i-1][k])+abs(b[i]-a[j]) mi 阅读全文
posted @ 2017-08-31 09:27 ONION_CYC 阅读(268) 评论(0) 推荐(0)
摘要:【动态规划杂记】状态+转移 参考:夜深人静写算法(二) - 动态规划 核心:划分阶段-状态表示-状态转移方程。 复杂度:状态数O(n^t),转移O(n^e),则称为tD/eD问题。 1.最优化问题和方案数问题常考虑DP,特定数问题不考虑DP。 2.断层思想:划分状态,从计算过的状态去答案,这就是无后 阅读全文
posted @ 2016-11-29 14:17 ONION_CYC 阅读(1937) 评论(0) 推荐(1)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2144) 评论(0) 推荐(6)