首页 > 其他分享 >牛客挑战赛63

牛客挑战赛63

时间:2022-09-24 09:56:37浏览次数:35  
标签:int res d% 牛客 1ll 63 挑战赛 mod

圣遗物

分析:

发现除了第一个位置以外 每个位置都有两种选择

#include <bits/stdc++.h>
using namespace std;

const int mod = 998244353;

int n, fac = 1;

int Pow (int a, int k) {
    int res = 1;
    for (; k; a = 1ll * a * a % mod, k >>= 1)
        if (k & 1) res = 1ll * res * a % mod;
    return res;
}

int main () {

    cin >> n;
    for (int i = 1; i <= n; i++) fac = 1ll * fac * i % mod;

    cout << 1ll * Pow(2, n - 1) * Pow(fac, mod - 2) % mod << endl;

    return 0;
}

#include <bits/stdc++.h>
using namespace std;

const int N = 1e3 + 10, M = 13;

int n, k, m, f[N][M + 1][1 << M];
pair <int, int> a[N];

int main () {

    scanf("%d%d%d", &n, &k, &m);
    for (int num, idx, i = 1; i <= n; i++) {
        scanf("%d%d", &a[i].first, &num);
        while (num--) scanf("%d", &idx), a[i].second |= (1 << idx - 1);
    }

    sort(a + 1, a + n + 1);
    int lim = (1 << m) - 1;
    memset(f, 128, sizeof f), f[0][0][0] = 0;
    for (int i = 0; i < n; i++)
        for (int j = 0; j <= m; j++)
            for (int S = 0; S <= lim; S++) {
                if (j < m) f[i + 1][j + 1][S | a[i + 1].second] = max(f[i + 1][j + 1][S | a[i + 1].second], f[i][j][S]);
                if (n - i <= k - j) f[i + 1][j][S] = max(f[i + 1][j][S], f[i][j][S] + a[i + 1].first);
                f[i + 1][j][S] = max(f[i + 1][j][S], f[i][j][S]);
            }

    long long ans = 0;
    for (int j = 0; j <= m; j++)
        for (int S = 0; S <= lim; S++)
            ans = max(ans, 1ll * __builtin_popcount(S) * f[n][j][S]);
    printf("%lld\n", ans);

    return 0;
}

标签:int,res,d%,牛客,1ll,63,挑战赛,mod
From: https://www.cnblogs.com/wzxbeliever/p/16724985.html

相关文章

  • 洛谷P1463 反素数()
    P1463[POI2001][HAOI2007]反素数100%数据时,N<=2e9,即使使用线性的欧拉筛也会TLE如此大的数据范围,O(1)的时间复杂度都跑不过,说明要么打表,要么就需要通过计算直接得出答案,......
  • 牛客题解 装进肚子
    链接:https://ac.nowcoder.com/acm/problem/14721来源:牛客网题解作者岛田小雅这道题刚拿到手,就感觉是个很简单(事实证明并不是很简单)的贪心。虽然我不是很会判断贪心的......
  • 微盟电子MEQ6310系列
    低压差低噪声电压调节器微盟电子MEQ6310概述微盟产品MEQ6310从2.6v到6v的输入电压,可提供150mA负载电流。低压差、低静态电流和低噪声使其使用于低功耗应用和电池供电系统......
  • 牛客网-SQL专项训练21
    ①Mysql中表student_info(id,name,birth,sex),字段类型都是varchar,插入如下记录:('1014','张三','2002-01-06','男');SQL错误的是(B)? 解析:普通插入(全字段):INSERTINT......
  • Java后端开发——美团(牛客)
    Java后端开发——美团(牛客)Java的基本数据类型,各自的字节数​ 老生常谈,不多说了.类型字节数byte1字节short2字节int4字节long8字节float4字节......
  • 牛客网-SQL专项训练20
    ①学生、书店和图书三个实体集之间的联系属于:多元联系。解析:参与联系的实体集个数大于2个时,为多元联系;这里学生、书店、图书是三个实体,为多元联系。二元联系指只有两个......
  • LeetCode 63 不同路径 II
    dfs(超时)classSolution{public:intres=0;voiddfs(inti,intj,vector<vector<int>>&obstacleGrid){if(i==obstacleGrid.size()-1&&......
  • 牛客题解 Channels
    链接:https://ac.nowcoder.com/acm/problem/201606来源:牛客网题解作者岛田小雅要求一段区间内的有效时间总和,第一反应用前缀和。要求\(l\)和\(r\)之间有效时间的和......
  • P2634 [国家集训队]聪聪可可
    简要题意给你一个\(n\)各节点的树,每一个边有一个权值。你需要求出树上任意两个的点之间的简单路径权值和(相同的点结果是\(0\))是\(3\)的倍数的概率。输出概率的最简分......
  • 牛客题解 卡牌游戏
    链接:https://ac.nowcoder.com/acm/problem/19777来源:牛客网题解作者岛田小雅在这里先贴一下OIWiki上期望的定义。根据期望的定义和题意,我们可以这样去思考这道高......