bzoj3721PA2014 Final Bazarek 贪心
来源:互联网 发布:mac虚拟机vxm文件丢失 编辑:程序博客网 时间:2024/05/22 12:50
题意:有n件商品,选出其中的k个,要求它们的总价为奇数,求最大可能的总价。
思路巧妙的贪心,由于判断一开始写错了导致没有1A。
每次直接选取最大的k个,然后如果是偶数的话就把k个中最小的偶数替换成后面最大的奇数或者把k个中最小的奇数换成后面最大的偶数,因为只有奇数才能改变奇偶性,所以正确性显然。
#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;const int N=1e6+5;typedef long long ll;const ll inf=1e15;int n,m;ll a[N],mx0[N],mx1[N],mn0[N],mn1[N];ll sum[N],ans[N];bool cmp(ll a,ll b){ return a>b;}int main(){ scanf("%d",&n); fo(i,1,n)scanf("%lld",&a[i]); sort(a+1,a+1+n,cmp); fd(i,n,1) { mn0[i]=mn1[i]=inf; mx0[i]=mx0[i+1],mx1[i]=mx1[i+1]; mx0[i]=max(mx0[i],a[i]%2==0?a[i]:0); mx1[i]=max(mx1[i],a[i]%2==1?a[i]:0); } mn0[0]=mn1[0]=inf; fo(i,1,n) { mn0[i]=mn0[i-1],mn1[i]=mn1[i-1]; mn0[i]=min(mn0[i],a[i]%2==0?a[i]:inf); mn1[i]=min(mn1[i],a[i]%2==1?a[i]:inf); sum[i]=sum[i-1]+a[i]; } scanf("%d",&m); fo(i,1,m) { int x; scanf("%d",&x); ll ans=-1; if (sum[x]%2==1)ans=max(ans,sum[x]); else { if (mn0[x]!=inf&&mx1[x+1]) ans=max(ans,sum[x]-mn0[x]+mx1[x+1]); if (mn1[x]!=inf&&mx0[x+1]) ans=max(ans,sum[x]-mn1[x]+mx0[x+1]); } printf("%lld\n",ans); }}
阅读全文
0 0
- bzoj3721PA2014 Final Bazarek 贪心
- 3721: PA2014 Final Bazarek|贪心
- BZOJ 3721 PA2014 Final Bazarek 贪心
- BZOJ 3721 PA 2014 Final Bazarek 贪心
- 【 BZOJ 3721】 PA2014 Final Bazarek 贪心
- bzoj 3721: PA2014 Final Bazarek 单调栈+贪心
- [bzoj3721]Final Bazarek
- 【bzoj3721】 PA2014 Final Bazarek
- 【bzoj3721】PA2014 Final Bazarek
- BZOJ3721: PA2014 Final Bazarek
- 【bzoj3721】 PA2014Final Bazarek 贪心
- 3721: [PA2014] Final Bazarek 乱搞
- bzoj 3721 PA2014 Final Bazarek
- BZOJ 3721 PA2014 Final Bazarek
- 【BZOJ】【P3721】【PA2014 Final】【Bazarek】【题解】【DP】
- BZOJ系列3721《PA2014 Final Bazarek》题解
- [BZOJ3721]PA2014 Final Bazarek 单调性
- 【PA2014Final】【BZOJ3721】Bazarek
- asp.net mvc5.2 iis报错没有默认登录页
- 数据库查询优化总结
- linux下载命令
- system_server等应用CPU占用率过高诊断的一种方法
- 编译安装nginx php mysql 遇到的问…
- bzoj3721PA2014 Final Bazarek 贪心
- Can't convert string from native…
- epel yum源
- inotify + rsync实现linux文…
- 2011网络十大事件
- mysql sql
- ActiveMQ 整合 Spring 发送和接收消息
- 浅谈软件开发定律系列之帕金森定律…
- sed and awk 对nginx日志操作