社区讨论

贪心思路是否有问题

P2887[USACO07NOV] Sunscreen G参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m6dpofqp
此快照首次捕获于
2025/01/26 22:24
去年
此快照最后确认于
2025/11/04 10:16
4 个月前
查看原帖
rt.我把防晒霜和牛升序排序,只能得38分。但是将它们降序排序,就全A了,有谁告诉我为什么吗?
附上本人代码:
CPP
#include <bits/stdc++.h>
using namespace std;
struct s1{
	int spfi,spfm;	
}cow[100005];
struct s2{
	int sp,num;
}spf[100005];
bool cmp(s1 a,s1 b){
	return a.spfi>b.spfi;//就这两个地方
}
bool cmps(s2 a,s2 b){
	return a.sp>b.sp;//
}
int main(){
	int c,l;
	cin>>c>>l;
	for(int i=1;i<=c;i++){
		cin>>cow[i].spfi>>cow[i].spfm;
	}
	for(int i=1;i<=l;i++){
		cin>>spf[i].sp>>spf[i].num;
	}
	int ans=0;
	stable_sort(cow+1,cow+c+1,cmp);
	stable_sort(spf+1,spf+l+1,cmps);
	for(int i=1;i<=c;i++){
		for(int j=1;j<=l;j++){
			if(cow[i].spfi<=spf[j].sp&&cow[i].spfm>=spf[j].sp&&spf[j].num){
				ans++;
				spf[j].num--;
				break;
			}
		}
	}
	cout<<ans;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...