zoukankan      html  css  js  c++  java
  • 出装方案 “东信杯”广西大学第一届程序设计竞赛(同步赛)

    链接:https://ac.nowcoder.com/acm/contest/283/F
    来源:牛客网
     

    题解:二进制状态压缩

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    #define INF 0x3f3f3f3f
    const int maxn=1e5+100;
    const double eps=1e-10;
    const long long mod=1e9+7;
    
    typedef long long ll;
    typedef unsigned long long ull;
    
    int ma[20][20];
    int dp[1<<16];
    
    void sov(int n) {
        memset(dp,0,sizeof(dp));
        int mx=(1<<n)-1;
        for(int i=1;i<=n;++i) {
            for(int j=0;j<=mx;++j) {
                int cnt=0;
                for(int k=0;k<n;++k) {
                    if(j&(1<<k)) cnt++;
                }
                if(cnt==i-1) {
                    for(int k=0;k<n;++k) {
                        if(j&(1<<k)) continue;
                        dp[j|(1<<k)]=max(dp[j|(1<<k)],dp[j]+ma[k+1][i]);
                    }
                }
            }
        }
        cout << dp[mx] << endl;
    }
    
    int main() {
        int t;
        cin>>t;
        while(t--){
            int n;
            cin>>n;
            for(int i=1;i<=n;i++){
                for(int j=1;j<=n;j++)
                    cin>>ma[i][j];
            }
            sov(n);
        }
        return 0;
    }
    

    题目描述

    众所周知,在各种对抗类游戏里装备都是很重要的一环,不同的出装方案会给玩家带来不同的强度。

    dalao手里有N件装备,现在dalao要把装备分给N个队友,每个队友只能分一件装备,而每个队友穿上不同的装备会有不同程度的强度提升。

    现在给出每个队友对每件装备的强度提升的值,请问dalao的所有分配方案里,最多能让团队的强度提升多少呢?

    输入描述:

    
     

    第一行有一个整数T,表示数据的组数(不会超过150组)

    每组数据第一行包含一个整数N,接下来会有N行,每行有N个整数,其中第 a 行的第 b 个数字表示第 a 个队友穿上第 b 件装备的强度提升。任何队员穿任何装备的强度提升都不会超过20000。

    输出描述:

    对于每组数据在一行内输出一个整数表示强度能够提升的最大值

    示例1

    输入

    复制

    2
    4
    1 2 3 4
    5 6 7 8
    9 10 11 12
    13 14 15 16
    3
    1 3 5
    2 4 6
    7 9 11

    输出

    复制

    34
    16
  • 相关阅读:
    【C++注意事项】1 数据类型及类型转换
    【万里征程——Windows App开发】动态磁贴
    背包问题
    Fence Repair
    Saruman's Army
    字典序最小问题——Best Cow Line
    区间调度问题
    硬币问题
    数据库查询优化的一些总结
    关于减少BUG的思考
  • 原文地址:https://www.cnblogs.com/UUUUh/p/10284056.html
Copyright © 2011-2022 走看看