关于O2
查看原帖
关于O2
542221
KidA楼主2023/8/8 18:31
#include<bits/stdc++.h>
#define int long long
using namespace std;

int n,m,ans=1e9;
int tmp[31];
int t[131],tt[131];
bool vis[31];
struct cow{
	int s,t,c;
}cow[31];
struct cold{
	int a,b,p,m;
}cold[31];

bool check(int tot){
	for(int i=1;i<=131;i++) tt[i]=t[i];
	for(int i=1;i<=tot;i++)
		for(int j=cold[tmp[i]].a;j<=cold[tmp[i]].b;j++)
			tt[j]-=cold[tmp[i]].p;
	for(int i=1;i<=131;i++) 
		if(tt[i]>0) return 0;
	return 1;
}
void dfs(int x,int cnt,int sum){
	if(x==m+1){
		if(check(cnt)) ans=min(ans,sum);
		return;
	}
	
	tmp[cnt+1]=x;
	dfs(x+1,cnt+1,sum+cold[x].m);
	
	dfs(x+1,cnt,sum);
}

signed main(){
	ios::sync_with_stdio(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>cow[i].s>>cow[i].t>>cow[i].c;
		for(int j=cow[i].s;j<=cow[i].t;j++) t[j]+=cow[i].c;
	}
	for(int i=1;i<=m;i++)
		cin>>cold[i].a>>cold[i].b>>cold[i].p>>cold[i].m;
	dfs(1,0,0);
	cout<<ans;
	return 0;
}

同样的一份代码,为什么不开 O2 就 AC,开了就全 WA?求教大佬原因qwq。

2023/8/8 18:31
加载中...