Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

我也没优化啊,,,就0ms了,,

Posted by yy17yy at 2011-01-16 10:59:08 on Problem 2063
In Reply To:W可变的完全背包问题 为啥我的还需要63MS?求优化技巧 Posted by:abilitytao at 2010-03-08 20:38:41
#include <iostream>
#include <cmath>
using namespace std;
const int N=1000*46;
#define max(a,b) ((a>b)?(a):(b))
int a[11],b[11],dp[N];
int main()
{
	int t;
	for(scanf("%d",&t);t--;)
	{
		int money,year;
		scanf("%d%d",&money,&year);
		int v=money*pow(1.1,(double)year)/1000;
		int d;
		scanf("%d",&d);
		int i,j;
		for(i=1;i<=d;i++)
			scanf("%d%d",&a[i],&b[i]);
		memset(dp,0,sizeof(dp));
		for(i=1;i<=d;i++)
			for(j=a[i]/1000;j<=v;j++)
				dp[j]=max(dp[j-a[i]/1000]+b[i],dp[j]);
		for(i=1;i<=year;i++)
			money+=dp[money/1000];
		printf("%d\n",money);
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator