1-4AC,5,6wa,其余RE

P1064 [NOIP2006 提高组] 金明的预算方案

不败败寇 @ 2019-09-01 19:36:04

彩虹的代码

#include<bits/stdc++.h>

using namespace std;
const int V=10010;
int v[65][3],p[65][3],size[65],m[V];
int n0,m0;
int main(){
    scanf("%d%d",&n0,&m0);
    for(int i=1;i<=m0;i++){
        int v0,p0,q0;
        scanf("%d%d%d",&v0,&p0,&q0);
        if(!q0){
            v[i][0]=v0;
            p[i][0]=p0*v0;
        }
        else{
            size[q0]++;
            v[q0][size[q0]]=v0;
            p[q0][size[q0]]=p0*v0;
        }
    } 
    for(int i=1;i<=m0;i++){
        for(int j=n0;j>=v[i][0];j--)
            m[j]=max(m[j],m[j-v[i][0]]+p[i][0]);
        for(int k=1;k<=size[i];k++)
            for(int j=n0;j>=v[i][0]+v[i][k];j--) 
                m[j]=max(m[j],m[j-v[i][0]-v[i][k]]+p[i][0]+p[i][k]);
        for(int j=n0;j>=v[i][0]+v[i][1]+v[i][2];j--)
            m[j]=max(m[j],m[j-v[i][0]-v[i][1]-v[i][2]]+p[i][0]+p[i][1]+p[i][2]);    
        }

    printf("%d",m[n0]);
    return 0;
} 

by swiftc @ 2019-09-01 20:01:39

@不败败寇

数组应该是[65][6]吧


by 不败败寇 @ 2019-09-01 20:24:33

@UIKIt ?数组存这个组当中的子物品,最多三个吧?(一主二付)


by swiftc @ 2019-09-01 20:35:45

@不败败寇

那m数组应该开到32020吧...


by swiftc @ 2019-09-01 20:36:21

@不败败寇

n0不是<=32000吗


by 不败败寇 @ 2019-09-01 20:52:00

@UIKIt 哦对哦,我看错了qwq


by 不败败寇 @ 2019-09-01 20:52:49

@UIKIt 那wa的点呢


by 不败败寇 @ 2019-09-01 20:53:20

@UIKIt 现在后边四个点也蛙了


by sjyOrz @ 2020-03-01 12:45:57

@不败败寇 四种情况吧,单独一个,主和1,主和2,主和1、2


by 不败败寇 @ 2020-03-11 05:59:27

@sjyOrz 是的,谢谢您,此案已结orz


|