首页 > 其他分享 >Gym 103428B Subset

Gym 103428B Subset

时间:2023-10-02 22:42:56浏览次数:56  
标签:Subset 103428B 选出 text Gym 个数 异或 popcount

CF 传送门

首先考虑没有选出的数互不相同的限制。设 \(f_m\) 为选出 \(m\) 个 \(\in [0, n]\) 的数,异或 \(\text{popcount} = k\) 的方案数。可以考虑枚举这 \(m\) 个数和 \(n\) 的 \(\text{LCP}\)(要求后一位为 \(1\)),然后钦定一位为 \(1\) 来满足 \(\text{popcount}\) 的限制。那么就可以把这个限制扔掉了。

然后我们考虑类似反演,从 \(f\) 得到 \(g\)(注意 \(f, g\) 都是有序的),\(g_n\) 为选出 \(n\) 个 \(\in [0, n]\) 的互不相同的数,异或 \(\text{popcount} = k\) 的方案数。设 \(f_n = \sum\limits_{m = 0}^n c_{n, m} g_m\),\(c_{n, m}\) 可以做个 dp 求出。设 \(h_{i, j}\) 为选了 \(i\) 个数,其中 \(j\) 个数出现奇数次的方案数,转移讨论第 \(i\) 个数是否出现在这 \(j\) 个数中即可。然后 \(c_{i, j} = \frac{h_{i, j}}{n^{\underline j}}\),这里除个下降幂是因为顺序已经固定了。

答案即为 \(\frac{g_K}{K!}\)。

标签:Subset,103428B,选出,text,Gym,个数,异或,popcount
From: https://www.cnblogs.com/zltzlt-blog/p/17740509.html

相关文章

  • AtCoder Grand Contest 056 D Subset Sum Game
    洛谷传送门AtCoder传送门考虑若\(n\)是奇数怎么做。枚举Alice第一次选的数\(a_i\),然后考虑把剩下的数两两结成一个匹配,若Bob选了其中一个,Alice就选另一个。容易发现排序后奇数位和它右边的偶数位匹配最优。那么设奇数位的和为\(A\),偶数位的和为\(B\),此时Alice获胜......
  • Gym 104270 The 2018 ICPC Asia Qingdao Regional Programming Contest (The 1st Univ
    A.SequenceandSequenceB.KawaExam可以发现,对答案会产生影响的只有割边,把所有边双缩起来,然后就是一个森林。考虑一个树的时候怎么做,就是对于每条边求出这条边两端的众数个数,考虑线段树合并,每次动态维护子树内的众数和子树外的众数。#include<iostream>#include<cstdio>......
  • gym100702D Log Set
    gym100702DLogSet版本T0。学背包不做LogSet,就像打二游不玩某二字开放世界游戏,追星不追理塘王丁真珍珠,玩泣系旮旯不玩克拉纳的,只能度过一个相对失败的人生。Problem有一个大小为\(m(m\le60)\)的多重集\(S\),它的所有子集(包括空集)和组成了一个大小为\(2^{m}\)的多重......
  • AT_abc321_f [ABC321F] #(subset sum = K) with Add and Erase 题解
    AT_abc321_f[ABC321F]#(subsetsum=K)withAddandErase题解题目大意现在有一个空箱子。给你两个数\(Q,K\),然后给你\(Q\)行,每一行代表一个操作:\(+x\),即向箱子里加一个权值为\(x\)的小球。\(-x\),即从箱子里把权值为\(x\)的小球拿一个出来。保证合法,即箱子......
  • 2023.9.20 CF gym 104128 vp
    The2022ICPCAsiaNanjingRegionalContesthttps://codeforces.com/gym/104128A......
  • GYM104090A Modulo Ruins the Legend - exgcd -
    题目链接:https://codeforces.com/gym/104090/problem/A题解:转化一下发现只需要求满足下式的解:\[ns+\dfrac{n\times(n+1)}{2}d\equivC(\bmodm)\]设\(a=n,b=\dfrac{n(n+1)}{2},p=gcd(a,b)\)即找到一组\((s',d',t')\)使得\(as'+bd'+mt'=C\)考虑\(a......
  • 2023.9.15 CF gym 104369 vp
    The2023GuangdongProvincialCollegiateProgrammingContesthttps://codeforces.com/gym/104369A枚举并判断即可。B注意到相邻的基站中不能有完整的区间,我们可以双指针求出最小的\(p_i\),使得\([p_i,i]\)中没有完整的区间。然后单调队列即可。C贪心,把最小的卖到最......
  • GYM 104128 G
    G.Inscryption根据题意,需要把输入的\(0\)全部转换为\(1\)或\(-1\),使得\(p\overq\)最大。当\(a[i]=1\)时,\({p\overq}={p'+1\overq'+1}\)当\(a[i]=-1\)时,\({p\overq}={p'\overq'-1}\)通过计算,可知当\(q>2*p+1\)时,\(a[i]=1\)时的收益大于\(a[i]=......
  • gym104531 I Bracket
    题意题面做法结论:对于字符串\(s\),其为合法括号序列的充要条件为(1)\(|s|\)为偶数,(2)构造序列\(a_i\),若\(s_i\)='('or'?',则\(a_i=+1\);若\(s_i\)=')',则\(a_i=-1\),\({a_i}\)的前缀和均\(\ge0\)(3)构造序列\(b_i\),若\(s_i=\)')'or'?'......
  • 题解 Gym 104531D【Coffee】
    2022SYSUSchoolContest题目不想翻译了,自己看能看懂。problamThegirlsofHTTlikedrinkingtea.Butoneday,theywantedachangeanddecidedtotrycoffeeinthenext\(n\)days.NowMugi,whoalwaysprovidesfoodanddrinksforHTT,willgototheshopto......