BZOJ2697 特技飞行 【贪心】
题目链接
题解
好水好水的贪心。。。
容易发现每种特技只表演两次,多表演没有意义,而且差距越长收益越大
然后就可以贪,最大的放两端,次大的往里,然后是第三大.......
证明很简单,假设将两个特技时间交换,那么会产生交换距离乘以\(C\)的差值的贡献,显然就不优
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<map>
#define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt)
#define REP(i,n) for (int i = 1; i <= (n); i++)
#define mp(a,b) make_pair<int,int>(a,b)
#define cls(s) memset(s,0,sizeof(s))
#define cp pair<int,int>
#define LL long long int
using namespace std;
const int maxn = 1005,maxm = 100005,INF = 1000000000;
inline int read(){
	int out = 0,flag = 1; char c = getchar();
	while (c < 48 || c > 57){if (c == '-') flag = -1; c = getchar();}
	while (c >= 48 && c <= 57){out = (out << 3) + (out << 1) + c - 48; c = getchar();}
	return out * flag;
}
int n,K,C[maxn];
int main(){
	n = read(); K = read();
	REP(i,K) C[i] = read();
	LL ans = 0;
	sort(C + 1,C + 1 + K);
	for (int i = K; i && n > 0; i--){
		ans += 1ll * C[i] * (n - 1); n -= 2;
	}
	printf("%lld\n",ans);
	return 0;
}
												
											BZOJ2697 特技飞行 【贪心】的更多相关文章
- bzoj2697特技飞行*
		
bzoj2697特技飞行 题意: N个单位时间,每个单位时间可以进行一项特技动作,可选的动作有K种,每种动作有一个刺激程度Ci.每次动作的价值为(距上次该动作的时间)*Ci,若为第一次进行该动作,价值 ...
 - [国家集训队]特技飞行 贪心BZOJ2697
		
题目背景 1.wqs爱好模拟飞行. 2.clj开了一家神犇航空,由于clj还要玩游戏,所以公司的事务由你来打理. 注意:题目中只是用了这样一个背景,并不与真实/模拟飞行相符 题目描述 神犇航空开展了一 ...
 - BZOJ2697: 特技飞行
		
2697: 特技飞行 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 607 Solved: 363[Submit][Status] Descript ...
 - luogu p3918[国家集训队]特技飞行 贪心
		
开始没看出来是贪心,一度以为是动态规划,还是太弱了呀-.. 不难分析出,两个相同的飞行动作之间夹一个相同的动作是多余的,所以就贪心一下,按Ci从大到小排序,依次加到左右两端点,知道加不了为止. 代码: ...
 - BZOJ 2697 特技飞行(贪心)
		
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2697 [题目大意] 神犇航空开展了一项载客特技飞行业务. 每次飞行长N个单位时间,每个 ...
 - 洛谷——P3918 [国家集训队]特技飞行
		
P3918 [国家集训队]特技飞行 神犇航空开展了一项载客特技飞行业务.每次飞行长N个单位时间,每个单位时间可以进行一项特技动作,可选的动作有K种,每种动作有一个刺激程度Ci.如果连续进行相同的动作, ...
 - P5302 [GXOI/GZOI2019]特技飞行
		
题目地址:P5302 [GXOI/GZOI2019]特技飞行 这里是官方题解(by lydrainbowcat) 题意 给 \(10^5\) 条直线,给 \(x = st\) 和 \(x = ed\) ...
 - BZOJ——2697: 特技飞行
		
http://www.lydsy.com/JudgeOnline/problem.php?id=2697 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: ...
 - 【GZOI 2019】特技飞行
		
Problem Description 公元 \(9012\) 年,Z 市的航空基地计划举行一场特技飞行表演.表演的场地可以看作一个二维平面直角坐标系,其中横坐标代表着水平位置,纵坐标代表着飞行高度. ...
 
随机推荐
- Zookeeper 分布式应用
			
简介 这篇文章是旨在为那些想要利用zookeeper协调服务能力进行分布式应用创建的开发者的入门指导,包括一些理论性和实践性的内容. 文章的前四部分系统的介绍了zookeeper的相关概念,对于理解z ...
 - C do whlie 数数位
			
#include <stdio.h> int main(int argc, char **argv) { //定义两个变量 x 跟 n,n的初始化为0: int x; int n ...
 - node事件循环
			
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
 - Ubuntu—安装并运行sublime
			
step1 到官网看看 https://www.sublimetext.com/3 step2 根据版本选择,我的是32位的 step3 ubuntu终端安装 (1)切换目录 -$ cd /opt ...
 - LeetCode 98——验证二叉搜索树
			
1. 题目 2. 解答 2.1. 方法一 我们初始化根节点的范围为长整形数据的最小最大值 \([LONG\_MIN,LONG\_MAX]\),则其左子节点的取值范围为 \([LONG\_MIN,根节点 ...
 - 2018Java研发实习内推
			
作者:sdu王镜鑫链接:https://www.nowcoder.com/discuss/74573?type=0&order=4&pos=7&page=1来源:牛客网 本人某 ...
 - Simple layout
			
body { padding: 0; margin: 0; overflow: hidden; } div { display: block; position: relative; } .c ...
 - M2迭代分数分配
			
M2中仍然依据每个成员的工作量,贡献度分配相应得分. 成员 得分 申开亮 25 王皓南 24 许晋 21 黄玉冰 20 王宇杰 18 吴润凡 17 巴丹益昔 15
 - php中array_map和array_walk的使用对比
			
一.array_map() 1.array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空. 2.回调 ...
 - 常用排序算法--java版
			
package com.whw.sortPractice; import java.util.Arrays; public class Sort { /** * 遍历一个数组 * @param sor ...