help
查看原帖
help
119643
潜水的蒟蒻楼主2020/6/13 20:33
#pragma GCC optimize(3,"Ofast","inline")//ÈÕ³£ÓÅ»¯
#include<bits/stdc++.h>//±ê׼ͷÎļþ
using namespace std;//±ØÒª¸ñʽ
int a[10005],b[10005];
int main()//¿¾main°ü
{
 	//ios::sync_with_stdio(false);//¹Ø±Õcin/coutµÄÊäÈëͬ²½,¼Ó¿ìËÙ¶È,²»¿ÉÔÙºÍscanf/printf»ìÓÃ
	int t,m;cin>>t>>m;int f[m+1][t+1];
	for(int i=0;i<=t;i++)f[1][i]=0;//ÓÉÓÚÔÚmianÀï´´½¨,ËùÒÔÊÖ¶¯¸³0
	for(int i=1;i<=m;i++)cin>>a[i]>>b[i];//ÊäÈëÿÖÖ²ÝÒ©µÄºÄʱºÍ¼ÛÖµ
	for(int i=1;i<=m;i++)//ö¾ÙmÖÖ²ÝÒ©
	{
		for(int j=0;j<=t;j++)//ö¾Ùt³¤Ê±¼ä
		{
			if(j<a[i])f[i][j]=f[i-1][j];//Èç¹û²»ÄܲÉÁË,¾ÍÖ±½Ó¼Ì³Ð
			else f[i][j]=max(f[i-1][j],f[i][j-a[i]]+b[i]);//·ñÔò±È½ÏÒ»ÏÂÊǼ̳л¹ÊÇÔÙÄÃÒ»¸ö¸üÓÐÀû
			
		}
	}
	cout<<f[m][t];//Êä³ö×îÖյĽá¹û
	return 0;//Æíµ»AC
}

输入样例都是奇奇怪怪的答案
伸手要查错......
无偿
PS:话说能用二维正着循环打完全背包吗?

2020/6/13 20:33
加载中...