蒟蒻站外题求助,悬一关
  • 板块学术版
  • 楼主linruiheng
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/8/7 15:05
  • 上次更新2023/11/3 05:24:29
查看原帖
蒟蒻站外题求助,悬一关
711429
linruiheng楼主2023/8/7 15:05

题目:题面

码风极差\kk

#include <bits/stdc++.h>
using namespace std;
long long f[10010],T,info[100][100],n,m,w,v; //info[i][j]重量i,价值j的出现次数 
int main() {
    cin >> T; 
    
    while (T--) {
    	memset(f,0,sizeof(f)); 

        cin>>n>>m;
		for(int i=1;i<=n;i++)cin>>v>>w,info[w][v]++;
		
        for (int i=1,j=1;i<=10;j++,i+=j/10,j%=10){
        	int s=info[i][j];
        	if(j==0)continue;
        	//cout<<i<<' '<<j<<'\n'; 
            for (int k=1;s>0;s-=k,k*=2){
				if(k>s)k=s;
				
                int w = k*i,v=k*j;
                
                for (int j=m;j>=w;j--){
                    f[j]=max(f[j],f[j-w]+v);
                }
                
            }
        }
      //  for(int i=1;i<=m;i++)cout<<f[i]<<' ';
        cout <<f[m]<<'\n';
    }

    return 0;
}

2023/8/7 15:05
加载中...