BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)

【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3399

【题目大意】 

  将一个集合调整成另一个集合中的数,把一个数+1需要消耗x,-1需要消耗y,问最小消耗。

【题解】

  显然两个集合排序之后一一对应调整需要消耗的才是最少的,所以排序计算答案即可。

【代码】

#include <cstdio>
#include <algorithm>
using namespace std;
const int N=25010;
int a[N],b[N],n,x,y;
int main(){
    while(~scanf("%d%d%d",&n,&x,&y)){
       for(int i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);
       sort(a,a+n); sort(b,b+n);
       int ans=0;
       for(int i=0;i<n;i++){
           if(a[i]<b[i])ans+=(b[i]-a[i])*x;
           else ans+=(a[i]-b[i])*y;
       }printf("%d\n",ans);
    }return 0;
}
时间: 2024-10-06 00:30:51

BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)的相关文章

3399: [Usaco2009 Mar]Sand Castle城堡

3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 37  Solved: 32[Submit][Status][Discuss] Description 约翰用沙子建了一座城堡.正如所有城堡的城墙,这城墙也有许多枪眼,两个相邻枪眼中间那部分叫作“城齿”.    城墙上一共有N(1≤N≤25000)个城齿,每一个都有一个高度Mi.(1≤尬≤100000).现在约翰想把城齿的高度调成某种

BZOJ3399: [Usaco2009 Mar]Sand Castle城堡

3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 22  Solved: 17[Submit][Status] Description 约翰用沙子建了一座城堡.正如所有城堡的城墙,这城墙也有许多枪眼,两个相邻枪眼中间那部分叫作“城齿”.    城墙上一共有N(1≤N≤25000)个城齿,每一个都有一个高度Mi.(1≤尬≤100000).现在约翰想把城齿的高度调成某种顺序下的Bi,B2

[BZOJ3399] [Usaco2009 Mar]Sand Castle城堡(排序)

3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 79  Solved: 66[Submit][Status][Discuss] Description 约翰用沙子建了一座城堡.正如所有城堡的城墙,这城墙也有许多枪眼,两个相邻枪眼中间那部分叫作"城齿".    城墙上一共有N(1≤N≤25000)个城齿,每一个都有一个高度Mi.(1≤尬≤100000).现在约翰想把城齿的高

DP经典 BZOJ 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生

BZOJ 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 419  Solved: 278 Description 有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000.现在Farmer John要把这些奶牛分成若干段,定义每段的不河蟹度为:若这段里有k个不同的数,那不河蟹度为k*k.那总的不河蟹度就是所有段的不河蟹度的总和

bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害

1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害 Description Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.Farmer John在1号牧场里.由于地震,某些牧场被损坏,但由于信春哥,C条道路没有一条损坏.有N头奶牛,他们在不同的牧场里,于是N <= P.他们一一向Farmer John报告.第i头奶牛报告给Farm

bzoj 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生

1584: [Usaco2009 Mar]Cleaning Up 打扫卫生 Description 有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000.现在Farmer John要把这些奶牛分成若干段,定义每段的不河蟹度为:若这段里有k个不同的数,那不河蟹度为k*k.那总的不河蟹度就是所有段的不河蟹度的总和. Input 第一行:两个整数N,M 第2..N+1行:N个整数代表每个奶牛的编号 Output 一个整数,代表最小不河蟹度 Sampl

BZOJ 1572: [Usaco2009 Open]工作安排Job( 贪心 )

贪心... 按截止时间排序 , 然后从小到大考虑 . 假设当前考虑第 i 个任务 , 若目前已选工作数 < D_i , 那就选 i ; 否则 若已选工作中利润最小的比 P_i 小 , 那就去除它 , 并选择 i . 可以用heap ( priority_queue ) 维护 -------------------------------------------------------------------------- #include<cstdio> #include<algo

洛谷 P2945 [USACO09MAR]沙堡Sand Castle

P2945 [USACO09MAR]沙堡Sand Castle 题目描述 Farmer John has built a sand castle! Like all good castles, the walls have crennelations, that nifty pattern of embrasures (gaps) and merlons (filled spaces); see the diagram below. The N (1 <= N <= 25,000) merlo

3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 129  Solved: 84[Submit][Status][Discuss] Description 农夫顿因开始玩飞盘之后,约翰也打算让奶牛们享受飞盘的乐趣.他要组建一只奶牛飞盘 队.他的N(1≤N≤2000)只奶牛,每只部有一个飞盘水准指数Ri(1≤Ri≤100000).约翰要选出1只或多于1只奶牛来参加他的