UOJ104 【APIO2014】Split the sequence】的更多相关文章

本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:http://uoj.ac/problem/104 正解:DP+斜率优化 解题报告: 容易发现,答案只和分割处有关,与顺序无关. 所以朴素方程很容易得到: 令${S[n]=\sum_{i=1}^{n}a[i]}$ ${f[i][k]=max(f[…
原文链接www.cnblogs.com/zhouzhendong/p/UOJ104.html 题解 首先证明一个结论:对于一种分割方案,分割的顺序不影响最终结果. 证明:对于树 a[x] 和 a[y] ,如果 x 与 y 之间有分割,那么它们对答案的贡献就是 a[x] * a[y] ,否则无贡献. 于是问题转化成 DP: 设 dp[i][j] 表示把前 j 个数分成 i 段的最大收益,那么: 设 $$s[k] = \sum_{i=1}^{k} a[i]$$ $$dp[i][j] = \max_{…
[CF486E]LIS of Sequence题解 题目链接 题意: 给你一个长度为n的序列a1,a2,...,an,你需要把这n个元素分成三类:1,2,3: 1:所有的最长上升子序列都不包含这个元素 2:有但非所有的最长上升子序列包含这个元素 3:所有的最长上升子序列都包含这个元素 输入格式: 第一行包含一个正整数n,表示序列的长度.第二行包含n个正整数a1,a2,...,an,表示序列中的元素. 输出格式: 一行,包含一个长度为n的.由1,2,3三种数字组成的字符串,第i个数字表示ai所属类…
[BZOJ4355]Play with sequence Description 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1],...,a[V-1],a[V]都赋值为C. 2)给出参数U,V,C,对于区间[U,V]里的每个数i,将a[i]赋值为max(a[i]+C,0). 3)给出参数U,V,输出a[U],a[U+1],...,a[V-1],a[V]里值为0的数字个数. Input 第一行包含两个正整数N,M(1<=N,M<=300000),分别…
#103. [APIO2014]Palindromes 统计 描述 提交 自定义测试 给你一个由小写拉丁字母组成的字符串 ss.我们定义 ss 的一个子串的存在值为这个子串在 ss 中出现的次数乘以这个子串的长度. 对于给你的这个字符串 ss,求所有回文子串中的最大存在值. 输入格式 一行,一个由小写拉丁字母(a~z)组成的非空字符串 ss. 输出格式 输出一个整数,表示所有回文子串中的最大存在值. 样例一 input abacaba output 7 explanation 用 ∣s∣∣s∣ …
[题解]Cut the Sequence(贪心区间覆盖) POJ - 3017 题意: 给定一大堆线段,问用这些线段覆盖一个连续区间1-x的最小使用线段的数量. 题解 考虑一个这样的贪心: 先按照左端点排序,若左端点一样则谁长谁在前.现在判无解就方便了,记录一下前缀max即可.然后现在要最小化选择. 记录一个最右端点\(R\),一个暴力的办法是暴力循环判断所有线段是否满足条件,这样显然超时,你决定优化一下常数,所以你记录一下从哪个线段开始才\(l_i \ge R\).你以为你是常数优化,其实你复…
题目描述 An infinite full binary tree labeled by positive rational numbers is defi ned by:• The label of the root is 1/1.• The left child of label p/q is p/(p+q).• The right child ofl abel p/q is (p+q)/q.The top of the tree is shown in the following figu…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1041 题目大意: 一个二维平面,上面n(n<=1 000 000)个点.问至少选多少个点才能完全包含所有的点. 包含是指xy坐标均不大于. 题目思路: [最长下降子序列][动态规划][二分] 这题n有107,所以用二分做最长下降子序列. 首先将所有点按x坐标或者y坐标排序,保证一维的单调性. 之后在剩余一维的数中求最长严格下降子序列即可. (如果下一个点是上升的那么可以放弃当前的点转…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1583 题目大意: T组数据,对于n(n<=6000)给定序列Xn(Xn<=20000),求一个非递减序列Y1, Y2, ..., Yn,使得绝对值差的和|X1-Y1|+|X2-Y2|+...|Xn-Yn|最小,并输出字典序最小的序列Y. 题目思路: [动态规划] 首先序列Y的数字肯定和X中的某一个数字相等,不然可以通过平移得到相等或更优的解.证明不大会证. 用num[i]表示第i小…
[算法]数位DP [题解]动态规划 题目要求的是大整数……没办法只写了小数字的,感觉应该没错. 大题框架是最大值最小化的二分问题. 对于每一块要求count(b)-count(a-1)≥s 已知a如何计算b?令now=count(a-1)+s,求的就是满足count(b)≥now的最小b了. 虽然看上去只是不等式的移项,但其实上是一种差分思想:将b-a≥s转化为b≥a+s,避免计算b和a的差. 然后每次求出b后,b+1就是新的起点,也就是count(b)=count(a`-1),不需要重新计算.…