bzoj2697: 特技飞行
来源:互联网 发布:惠州淘宝培训班 编辑:程序博客网 时间:2024/04/30 17:46
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2697
题意:中文题。。
分析:看到这题时。脑子里第一印象是dp?因为感觉很好dp的样子?然后发现dp方程好像不是很好设。在仔细想想,样例是怎么样得来的呢?仔细算了算,发现好像有好多中方式构造。然后想了想贪心?感觉如果在首尾放最大值好像很优的样子,并且这个时候看出来了-->无论怎么放,都只与自己的间隔有关?不会互相影响?然后我发现一个很重要的问题。所有的Ci前面乘的系数x(题目说的两个相同操作直接的时间间隔),每次的贡献是x*Ci。本来我的证明很笨,也不严谨,既然要写博客,所以去看了眼别人的证明。。我的思路是将价值从大到小排序,然后每次将最大的放在当前空间的两端,并且很显然在这中间之后再放一次当前最大值是不会影响这个值对答案的贡献的。证明如下:对于两种物品设Ci>=Cj。有Li,Ri,Lj,Rj。我们要证明的是Li<Lj<Rj<Ri是最优的。首先Lj<Li<Ri<Rj显然是要更差的,我们只要证明Li<Lj<Ri<Rj也更差(另一种相交的情况同理)即可,而这种情况是显然比我们的猜想要更差。得证。其实和我之前的猜想是差不多的,要让x的总和最大化,同时也要让每一份得到最大化的价值。
代码:
#include<map>#include<set>#include<cmath>#include<queue>#include<math.h>#include<cstdio>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;const int N=1010;const int MAX=151;const int MOD=1000007;const int MOD1=100000007;const int MOD2=100000009;const int INF=2100000000;const double EPS=0.00000001;typedef long long ll;typedef unsigned long long ull;int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}int a[N];int main(){ int i,n,k,l,r,ans=0; scanf("%d%d", &n, &k); for (i=1;i<=k;i++) scanf("%d", &a[i]); sort(a+1,a+k+1); l=1;r=n; for (i=k;i>0;i--) if (l>r) break ; else { ans+=(r-l)*a[i];l++;r--; } printf("%d\n", ans); return 0;}/*5 22 2*/
0 0
- 【BZOJ2697】特技飞行
- bzoj2697: 特技飞行
- 【bzoj2697】特技飞行
- 【bzoj2697】 特技飞行 贪心
- 【bzoj2697】【特技飞行】【贪心】
- 2697: 特技飞行
- 2697: 特技飞行
- BZOJ_P2697 特技飞行(贪心)
- tsinsen A1329. 特技飞行
- [贪心] BZOJ 2697 特技飞行
- bzoj 2697: 特技飞行 贪心
- bzoj 2697: 特技飞行
- bzoj 2697 特技飞行 贪心
- 【BZOJ】【P2697】【特技飞行】【题解】【贪心】
- 【Tsinsen1329】【集训队2012】特技飞行(贪心)
- IT讲师韩顺平:我为什么辞去百万年薪,自己创业?
- 高效的删除数组中的空值
- 使用自定义视图的AlertDialog
- Android中去掉显示标题的方法
- 美团酒店Node全栈开发实践
- bzoj2697: 特技飞行
- VB调用WebService(直接Post方式)并解析返回的XML
- 在https的链接中vb使用post提交xml数据
- 电子线路设计技巧2:0603 1%电阻阻值表示方法
- 黑马程序员_Vector、LinkedList、ArrayList集合
- github团队合作管理代码
- Spark内核天机解密(2016)第三讲 Scala函数式编程
- luerl 测试用例
- 自己第一次为cell写的协议方法