2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest解题报告
2016-10-24 20:45
363 查看
a 题意:给n个数,每次可以选择2-5个数进行-1操作,当所有数都相等的时候停止,输出可能的最大值,并且输出任意一种方案,当x=0时进行操作,数不会再变小,并且操作次数不能超过10000
分析:最大为最小数,最小为0,n最大100,数最大100,和为1000,每次选择两个数进行操作,也最多5000次,所以只要贪心取最大值,然后再考虑方案
统计所有数的和假设答案的差,如果max*2<sum,那么必然可以找到一种操作方案,如果sum为奇数,就进行一次取三个最大的差,其余的取两个操作就行
View Code
分析:最大为最小数,最小为0,n最大100,数最大100,和为1000,每次选择两个数进行操作,也最多5000次,所以只要贪心取最大值,然后再考虑方案
统计所有数的和假设答案的差,如果max*2<sum,那么必然可以找到一种操作方案,如果sum为奇数,就进行一次取三个最大的差,其余的取两个操作就行
#include<bits/stdc++.h> using namespace std; const int maxn=105; int a[maxn],b[maxn],c[maxn]; int n,sum,_min,cnt,k; map<int,int> v[105]; int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i],sum+=a[i]; for(int i=1;i<=n;i++)cin>>b[i],c[i]=b[i]; sort(c+1,c+1+n); for(k=n;cnt<sum;k--)cnt+=c[k]; cnt=n-k; v[0][0]=0; for(int i=1;i<=n;i++) for(int j=cnt-1;j>=0;j--){ for(auto & ttt:v[j]){ int t1=ttt.first+b[i],t2=ttt.second+a[i]; v[j+1][t1]=max(v[j+1][t1],t2); } } int ans=0; for(auto& tt:v[cnt]){ if(tt.first>=sum) ans=max(ans,tt.second); } printf("%d %d\n",cnt,sum-ans); return 0; }
View Code
相关文章推荐
- 2017-2018 ACM-ICPC, NEERC解题报告
- 2016-2017 ACM-ICPC, NEERC, Central Subregional Contest【9/11】
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J. Bottles
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest A. Toda 2 贪心 + 暴力
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) G 优先队列
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest H. Delete Them
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest - J. Bottles(DP)
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) J dp 背包
- Codeforces 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror)
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J.Bottles(背包,好题)
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest A Toda2 贪心
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J dp
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest G. Car Repair Shop(优先队列)
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) 几道简单题的题解
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Northern Subregional Contest G - Gangsters in Central City
- 2016-2017 ACM-ICPC, NEERC, Central Subregional Contest J.Architect of Your Own Fortune
- codeforces H. Delete Them(2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, )