洛谷P2501 bzoj1049 [HAOI2006]数字序列】的更多相关文章

题目链接 bzoj 洛谷 题解 第一问: 假如 \(i < j\) 如果 \(j\)能从\(i\)转移过来 显然中间空隙必须足够 例如:\(50\) \(53\) \(53\) \(52\) 就不能留下\(50\) 和 \(52\) 那么可以得到如果\(j\)能从\(i\)转移过来 满足 \(a[j]-a[i] >= j-i\) \(=>\) \(a[j]-j >= a[i]-i\) 那么可以对于以上数列跑一边最长不下降子序列 第二问: 将原序列变为上升序列,就等于将新的序列(\(…
题目传送门 数字序列 题目描述 给定一个整数序列 a1​,a2​,⋅⋅⋅,an​ ,求出一个递增序列 b1​<b2​<⋅⋅⋅<bn​ ,使得序列 ai​ 和 bi​ 的各项之差的绝对值之和 ∣a1​−b1​∣+∣a2​−b2​∣+⋅⋅⋅+∣an​−bn​∣ 最小. 输入输出格式 输入格式: 第一行为数字 n (1≤n≤10^6) ,接下来一行共有 n 个数字,表示序列 a_i (0≤a_i≤2×10^9) . 输出格式: 第一行输出最小的绝对值之和. 第二行输出序列 bi​ ,若有多种方…
很有(\(bu\))质(\(hui\))量(\(xie\))的一个题目. 第一问:求最少改变几个数能把一个随机序列变成单调上升序列. \(Solution:\)似乎是一个结论?如果两个数\(A_i\)和\(A_j\)可以保留(\(i > j, A_i > A_j\)),即中间其他数都可以通过修改成为\([A_i, A_j]\)区间内的一个数,那么一定有\(i - j <= A_i - A_j\),即\(A_i - i >= A_j - j\).这个东西我们可以设为数列\(B\),求…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! Description 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列.但是不希望改变过多的数,也不希望改变的幅度太大. Input 第一行包含一个数n,接下来n个整数按顺序描述每一项的键值.n<=35000…
Description 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列. 但是不希望改变过多的数,也不希望改变的幅度太大. Input 第一行包含一个数n,接下来n个整数按顺序描述每一项的键值.n<=35000,保证所有数列是随机的 Output 第一行一个整数表示最少需要改变多少个数. 第二行一个整数,表示在改变的数最少的情况下,每个数改变 的绝对值之和的最小值. Sample Input 4 5 2 3 5 Sample Output 1 4…
传送门 感觉……不是很看得懂题解在说什么? 我们先把原数列$a_i-=i$,那么本来要求递增序列,现在只需要求一个非严格递增的就行了(可以看做最后每个$b_i+=i$,那么非严格递增会变为递增) 如果一个数列是递增的,一个一个相等的取,如果是递减的,取他们的中位数 前面的好理解,后面的想一下仓库运输那道题就明白了 然后我们现在把原数列分成了若干段答案相同的区间,考虑如何合并答案 如果$i$的答案小于等于$i+1$的答案,我们可以不做任何操作 那么考虑$i$的答案大于$i+1$的答案,就合并它们的…
正解:左偏树 解题报告: 传送门$QwQ$ 开始看到的时候$jio$得长得很像之前做的一个$dp$,,, 但是$dp$那题是说不严格这里是严格? 不难想到我们可以让$a_{i},b_{i}$同时减去$i$这样就变成那道题辣,,,?$QwQ$ 但是如果$dp$的话复杂度是$O(n^2)$的就假了$QwQ$ 这里介绍一个左偏树做法,复杂度是$O(nlogn)$的$QwQ$ 先考虑两个特殊情况,分别是$a$递减和$a$递增$QwQ$? 递增很显然就$b_{i}=a_{i}$就成$QwQ$ 然后如果是递…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1049 题解: ydc的题解:http://pan.baidu.com/share/link?uk=2651016602&shareid=1490516411 第二问比较神?考场上敢去猜结论? 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #incl…
BZOJ1049 [HAOI2006]数字序列 dp好题? 第一问 第一问我会做!令\(b_i=a_i-i\),求一个最长不下降子序列. \(n-ans\)就是最终的答案. 第二问 好难啊.不会.挖坑待补. 考虑一下对于一个i~j的可能符合情况,定然存在一个\(k\)在i~k之中为\(a_i\),k~j之中为\(a_j\). 然后就可以dp了. 这个转移比较玄学.如果不随机就GG了. 代码实现 #include<stdio.h> #include<stdlib.h> #includ…
P2501 [HAOI2006]数字序列 题目描述 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列.但是不希望改变过多的数,也不希望改变的幅度太大. 输入输出格式 输入格式: 第一行包含一个数n,接下来n个整数按顺序描述每一项的键值. 输出格式: 第一行一个整数表示最少需要改变多少个数. 第二行一个整数,表示在改变的数最少的情况下,每个数改变的绝对值之和的最小值. 说明 90%的数据n<=6000. 100%的数据n<=35000. 保证所有数…