noip10-04-14
来源:互联网 发布:知乎 商城模块 编辑:程序博客网 时间:2024/06/11 08:14
Time Limits: 1000 ms Memory Limits: 131072 KB
Description
又到吃饭时间,Polo面对饭堂里琳(fei)琅(chang)满(keng)目(die)的各种食品,又陷入了痛苦的抉择中:该是吃手(jiao)打肉饼好呢,还是吃豆(cai)角(chong)肉片好呢?嗯……又不是天秤座怎么会酱紫呢?
具体来说,一顿饭由M个不同的部分组成(荤菜,素菜,汤,甜品,饮料等等),Polo要在每个部分中选一种作为今天的午饭。俗话说的好,永远没有免费的午餐,每种选择都需要有一定的花费。长者常常教导我们,便宜没好货,最便宜的选择估计比较坑爹,可囊中羞涩的Polo还要把钱省下来给某人买生日礼物,这该怎么办呢?
于是一个折中方案出来了:第K便宜的组合要花多少钱?这就要靠你了。
Input
第一行两个数M,K,含义如上所述。
接下来M行,先是一个整数Ai,表示第i个部分有多少种选择。接下来用空格分开的Ai个整数表示每种选择的价格。
Output
一行一个整数表示答案。
【样例解释】
最便宜的选择是第一部分选择1块钱的,第二部分选择2块的。但由于第二部分里2块钱有两种不同的选择,所以第二便宜的总花费仍然是3块。
Sample Input
2 2
2 1 3
2 2 2
Sample Output
3
Data Constraint
因为只要保留k位数,所以一行行加过去,用优先队列存最大的比较,且队列中只保留k个数。
表示优先队列好好用,再也不用打堆了
孤独一生(sprung) (StandardIO)
Description
下课了,Polo来到球场,但他到了之后才发现…..被放了飞机……
无事可做的他决心找点乐子,比方说……跳台阶……
球场边有N个台阶拍成一行,第i个台阶的高度是Hi(0<Hi<=10^9),第0个台阶,也就是地面的高度为0。Polo打算把这N个台阶分成两个集合Sa,Sb(可以为空),对于一个台阶集合S={P1,P2,...P|S|},其中P1<P2<...<P|S|,他需要花费的体力值来完成。
现在他希望两次跳跃所需的总体力值最小,你能帮帮他吗?
Input
第一行一个数N。
第二行N个整数Hi。
Output
一行一个整数,表示最小的总体力值。
SampleInput
3
1 3 1
SampleOutput
4
DataConstraint
对于10%的数据N<=20。
对于20%的数据N<=100。
对于50%的数据N<=5000。
对于100%的数据1<=N<=500000。
分析这个问题可知全部台阶被两个集合分割成一段段的连续的区间,且相邻区间集合不同
有
sum[i]=sum[i-1]+|h[i]-h[i-1]|
g[i]=g[j]+sum[i-1]-sum[j]+|h[i]-h[j]|
此时时间复杂度为O(n^2)
可以用两棵线段树分别维护g[j]-sum[j]+h[j]
g[j]-sum[j]-h[j]的值
为了确定对于h[i] h[j]该是正的还是负的,我们需要离散化h数组并以离散化后的值来作为线段树的下标。
代码如下:
- noip10-04-14
- 【codevs1068】乌龟棋noip10年TG----第二个A掉的钻石题
- 2005-04-14
- 2006-04-14
- 06/04/14
- 04/14/09
- 2010-04-14
- 10 04 14 学习
- 剪报:2014-04-14
- 2015-04-14记录
- 2016/04/14
- 2017/04/14
- Memo @ 04/14/2009 14:34
- 2011-8-1 14:04:04
- English Words 2011-04-14
- 阿里实习一面2014-04-14总结
- 2014-08-13 14:04:58经验
- 2015年04月14日学习
- unicode和UTF-8的不同(The difference between UTF-8 and Unicode?)
- 深入理解javascript原型和闭包(17)——补this
- html在文本框中加入滚动条
- 笔记---Linux---Vim自动补齐的配置
- 密度聚类(Density peaks Clustering)Python实现
- noip10-04-14
- CM 4.4 Launcher Fix the error and import adt
- Docker源码分析(一):Docker架构
- 网页常用模块名称
- 2000年NOIP全国联赛提高组 方格取数 题解
- 深入理解javascript原型和闭包(18)——补充:上下文环境和作用域的关系
- 模版类的成员函数定义问题
- 轻松学算法11:堆——神奇的优先队列
- Spring+JMS+ActiveMQ+Tomcat实现消息服务