很显然的动态规划。

令 $f_{i,j}$ 为 $n=i$,$k=j$ 时满足题意的集合数。

依题意可得:一个集合可以只由另一个集合添加元素或将所有元素除二得到。

初始:$f_{0,0}=1$。

目标:$f_{n,k}$。

所以可得:

- $f_{i,j}=f_{i-1,j-1}+f_{i,j}$。
- $f_{i,j}=f_{i,j×2}+f_{i,j}$。

代码:

int main()
{
int n,k;
cin>>n>>k;
f[0][0]=1;
for(int i=1;i<=n;i++)
{
for(int j=i;j>=1;j--)
{
f[i][j]=f[i-1][j-1];
if(j*2<=i)
{
f[i][j]+=f[i][j*2];
}
f[i][j]%=998244353;
}
}
cout<<f[n][k];
return 0;
}

[ARC107D] Number of Multisets题解的更多相关文章

  1. D - Number of Multisets 题解(思维dp)

    题目链接 题目大意 给你一个数k和n,表示用n个\(1/2^i(i=0,1,2.....)\)组成k有多少种方案数 题目思路 这个dp实属巧妙 设\(dp[i][j]表示i个数构成j\) 这i个数可以 ...

  2. [ARC107D] Number of Multisets

    \(\text{Solution}\) 学习到了一些 \(dp\) 的 \(trick\) 设 \(f_{i,j}\) 表示用了 \(i\) 的元素,当前和为 \(j\) 的方案数 \(dp\) 有两 ...

  3. CodeForces 279D The Minimum Number of Variables 题解

    题目大意: 有一组n个不相同的数字组成数串:a1,a2,a3-an. 1.一个数组b. 2.第一个操作我们将b0的值赋为a1.之后我们有n-1个操作,第k次操作我们将by=bi+bj(y,i,j可能相 ...

  4. Codeforces Round #674 (Div. 3) F. Number of Subsequences 题解(dp)

    题目链接 题目大意 给你一个长为d只包含字符'a','b','c','?' 的字符串,?可以变成a,b,c字符,假如有x个?字符,那么有\(3^x\)个字符串,求所有字符串种子序列包含多少个abc子序 ...

  5. 竞赛题解 - Karp-de-Chant Number(BZOJ-4922)

    Karp-de-Chant Number(BZOJ-4922) - 竞赛题解 进行了一次DP的练习,选几道题写一下博客~ 标签:BZOJ / 01背包 / 贪心 『题目』 >> There ...

  6. CodeForces 346C Number Transformation II

    Number Transformation II 题解: 对于操作2来说, a - a % x[i] 就会到左边离a最近的x[i]的倍数. 也就是说 [ k * x[i] + 1,  (k+1)* x ...

  7. CF55D Beautiful numbers 题解

    题目 Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer n ...

  8. AtCoder Regular Contest 107(VP)

    Contest Link Official Editorial 比赛体验良好,网站全程没有挂.题面简洁好评,题目质量好评.对于我这个蒟蒻来说非常合适的一套题目. A. Simple Math Prob ...

  9. Leetcode-283 Move Zeroes

    #283.   Move Zeroes Given an array nums, write a function to move all 0's to the end of it while mai ...

  10. LeetCode编程训练 - 合并查找(Union Find)

    Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将 ...

随机推荐

  1. OpenAI 发布适用于 .NET 库的稳定版本

    OpenAI 在 6 月发布测试版后发布了其官方 .NET 库的稳定版本.它以 NuGet 包的形式提供,支持 GPT-4o 和 GPT-4o mini 等最新模型,以及完整的 OpenAI REST ...

  2. ARM SMMU 与 IOMMU 的区别

    ARM SMMU (System Memory Management Unit) 和 IOMMU (Input-Output Memory Management Unit) 都是用于管理系统内存访问和 ...

  3. 线段树介绍(segment tree)

    1.引入 给定一个区间\([1, n]\),希望你实现一种数据结构,支持以下操作: 1.修改\(i\)号节点的值. 2.询问区间\([i, j]\)中所有节点的和. 这不是树状数组板子 3.修改区间\ ...

  4. 06 Word2Vec模型(第一个专门做词向量的模型,CBOW和Skip-gram)

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  5. AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率

    一:背景 1. 讲故事 上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊. 二 ...

  6. Python入门:A+B问题

    1. A + B 问题I 前言 本篇作为课程第一篇,主要是对Python基础语法进行扫盲,本节课会学习到下面知识: 输入 本道题目的工作任务很简单,只是计算两个数的和,但是在计算之前,我们首先要明确的 ...

  7. KubeSphere 最佳实战:Kubernetes 部署集群模式 Nacos 实战指南

    Nacos 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos 是构建以服 ...

  8. 电脑配置不够玩不了原神、剑三和魔兽世界?ToDesk云电脑来帮你!

    原神.剑网三.魔兽世界这种吃配置的游戏,对电脑硬件和软件的要求可都不低,所以当游戏玩家遇到配置一般的电脑,就只能望游戏而兴叹吗? 当然不用!云电脑成为你的游戏电脑平替之选. 用云电脑来玩游戏,不仅对你 ...

  9. Special relativity

    狭义相对论的理解,需要四维时空的想象! 6.14 狭义相对论,与麦克斯韦方程组有紧密的联系. 爱因斯坦对于牛顿的时空观的颠覆,与奥地利的一位著名的物理学家有关,马赫. 年轻的爱因斯坦在专利局闲暇之余爱 ...

  10. c++中输出小数

    首先 需要有#include<iomanip>这个头文件,因为它是输出输出流的格式控制 #include<iomanip> // 用于调用setprecision(n) 1 d ...