首页 > 其他分享 >G. Ultra-Meow

G. Ultra-Meow

时间:2024-07-13 17:30:21浏览次数:9  
标签:5005 Meow ll long 子集 Ultra mex

原题链接

题解

遍历所有的子集肯定不行,所以我么考虑某些数作为 \(mex\) 的值时的贡献,也就是求 \(i\) 作为 \(mex\) 的值时,有多少子集的 \(mex\) 是 \(i\)

实施

  • 对于 \(i \leq n\) ,假设子集选了 \(k_1\) 个小于 \(i\) 的数,\(k_2\) 个大于 \(i\) 的数,则有 \(1+(i-1)-k_1=k_1+k_2\),即 \(i\) 是第 \(k_1+k_2+1\) 个没有被选中的数

  • 对于 \(i>n\) ,假设子集选了 \(k\) 个小于 \(i\) 的数,同理有 \(1+(i-1)-k=k+1\)

预处理所有的组合数

code

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

const ll mod = 1e9 + 7;

ll c[5005][5005]={0};

void init()
{
    for(int i=0;i<=5000;i++)
    {
        c[i][0]=1;
        c[i][i]=1;
        for(int j=1;j<i;j++)
        {
            c[i][j]=c[i-1][j-1]+c[i-1][j];
            c[i][j]%=mod;
        }
    }
}

void solve()
{
    ll n;
    cin >> n;

    ll ans = 0;
    for (ll i = 1; i <= n; i++)
    {
        for(int k2=0;k2<=n-i;k2++)
        {
            int k1=i-1-k2;
            if(k1%2||k1<0) continue;
            k1/=2;
            ans+=c[i-1][k1]*c[n-i][k2]%mod*i%mod;
            ans%=mod;
        }
    }
    for(ll i=n+1;i<=2*n+1;i++)
    {
        if(i%2==0) continue;
        ll j=(i-1)/2;
        ans+=c[n][j]%mod*i%mod;
        ans%=mod;

    }

    cout << ans << '\n';
}

int main()
{
    init();
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    int t;
    cin >> t;
    while (t--) solve();

    return 0;
}

标签:5005,Meow,ll,long,子集,Ultra,mex
From: https://www.cnblogs.com/pure4knowledge/p/18300391

相关文章

  • UltraEdit下载与安装教程(一套功能强大的超文本编辑器 )
    前言UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。UltraEdit是Windows旗下一款流行的老牌文本/HEX编......
  • EVASH Ultra EEPROM Development Board User Guide
    EVASHUltraEEPROMDevelopmentBoardUserGuideIntroductionWelcometotheEVASHUltraEEPROMDevelopmentBoardUserGuide.ThisguidewillprovideyouwithcomprehensiveinstructionsonhowtousetheEVASHUltraEEPROMDevelopmentBoard,featuringthe......
  • 如何下载UltraEdit&UEStudio软件及详细安装步骤
    大家都知道UEStudio简介:UEStudio建立在上文本编辑器UltraEdit的功能基础上,并为团队和开发设计人员提供了其他功能,例如深度Git集成,您能够直接在UEStudio中克隆,签出,更新,提交,推入/拉入等操作,以管理您的Git存储库。从总体上来看比较文件版本:是否曾经想过将某个文件从一个回购文件中......
  • EVASH Ultra EEPROM
    ​EVASHUltraEEPROM引言我们很高兴地向您介绍EVASH最新推出的UltraEEPROM系列产品,包括从EV24C02A到EV24C512A的全系列型号,采用先进的UDFN封装。EVASHUltraEEPROM在性能、可靠性和数据安全性方面表现卓越,专为各种嵌入式应用而设计。以下将详细介绍我们的产品特点、应用场景......
  • 基于PHP+MySQL的宠物MeoWong Pets Caring Platform系统的设计与实现
    目录摘要IABSTRACT1目录1第1章引言11.1课题背景11.2研究现状11.3研究目标1第2章相关的理论和技术22.1HTML简介22.2PHP技术42.2.1PHP简介42.2.2PHP开发平台52.2.3PHP文件组成52.3访问数据库的实现方法52.4tomcat数据库连接池介绍......
  • 小米10ultra(IMX350 2000W) 小米11ultra(IMX586 4800W) 超广角放大对比 ISO12233
    拍摄距离ISO12233的打印纸大概半米,室内灯光环境结论:差距比较小,不过也是能看出来的。大概差半级到一级。10u能分辨到4,11u能分辨到4.5。小米10ultra质量:高HEICIMG_20240605_205122.HEIC1.29MB3880x5184 像素  小米11ultra质量:高没用HEIC用的jpgIMG_20240605_2......
  • 算力首破100万亿!Intel官宣下代超低功耗酷睿Ultra Lunar Lake
    Intel今天正式公布了代号LunarLake的下一代移动平台超低功耗处理器,它将与代号ArrowLake的下一代全平台高性能处理器相辅相成,构成第二代酷睿Ultra家族。其中,LunarLake目前已经进入晶圆和芯片量产阶段,将在第三季度正式发布,20多家OEM厂商的80多款笔记本新品集体上市。ArrowLake......
  • 基于UltraScale架构的XCVU3P-3FFVC1517E XCVU3P-2FFVC1517I XCVU3P-1FFVC1517E高性能
    概述VirtexUltraScale+器件是基于14nm/16nmFinFET节点的高性能FPGA,支持3DIC技术和多种计算密集型应用。AMD第三代3DIC使用堆叠硅片互联(SSI)技术打破了摩尔定律的限制,并且实现了最高信号处理和串行I/O带宽,以满足最严格的设计要求。它还提供了一个虚拟的单片设......
  • 英特尔的一张完美答卷!酷睿Ultra 9 185H性能探秘
    英特尔酷睿Ultra9185H是酷睿Ultra家族中最顶级的型号,它的性能表现如何?今天我们一起来看看。根据CPU-Z信息检索来看,英特尔酷睿Ultra9185H处理器采用了6个性能核,8个能效核再加上2个超低功耗核构成,总计16核22线程,最高睿频可以达到5.1GHz,拥有24MB三级缓存,基础TDP为45W。这颗处理......
  • 第二代酷睿Ultra K系列改名了!有点看不懂
    目前看来,高性能的ArrowLake、低功耗的LunarLake,都会隶属于酷睿Ultra200系列,其中后者以V结尾,比如已经知道酷睿Ultra5234V,前者则延续惯例,桌面版上有K、KF、F、T、无后缀标准版系列,笔记本上有H、U系列。ArrowLake的桌面版K系列之前流传的命名是酷睿Ultra9290K、酷睿Ultra7......