| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
喜欢动态规划就一定要看你的代码吗?!-___-In Reply To:喜欢动态规划的进来!!! Posted by:tempfor at 2007-05-31 21:12:59 >
> 程序哪里错了!!!
> #include<iostream>
> #include<algorithm>
> using namespace std;
> int f[32000],N,K;
> struct node
> {
> int L,P,S;
> }W[128];
> int cmp(node a,node b)
> {
> return a.S<b.S;
> }
> inline int big(int a,int b)
> {
> return a>b?a:b;
> }
> void DP()
> {
> int i,j,t,s;
> sort(W,W+K,cmp);
> memset(f,0,sizeof(f));
> int g,p;
> for(i=0;i<K;i++)
> {
> g=f[W[i].S];
> p=W[i].P*W[i].L;
> int mm=f[W[i].S],id=0;
> t=W[i].S-1;
> for(j=W[i].S+W[i].L-1;j>=W[i].S;j--,t--)
> {
> if(t<0)
> {
> if(f[j]<W[i].P*j)
> {
> f[j]=W[i].P*j;
> }
> continue;
> }
> else
> {
> g=big(g-W[i].P,f[t]);
> }
> if(g+p>f[j])
> {
> f[j]=g+p;
> if(f[j]>mm)
> {
> mm=f[j];
> id=j;
> }
> }
>
> }
> s=W[i].S+W[i].L-1;;
> if(id==0)
> {
> continue;
> }
> for(j=s+1;j<=N;j++)
> {
> f[j]=f[s];
> }
> }
> printf("%d\n",f[N]);
> }
> int main()
> {
> while(scanf("%d%d",&N,&K)!=EOF)
> {
> int i;
> for(i=0;i<K;i++)
> {
> scanf("%d%d%d",&W[i].L,&W[i].P,&W[i].S);
> }
> DP();
> }
> return 1;
> }
>
>
>
>
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator