首页 > 其他分享 >[NOIP2001 提高组] 数的划分(剪枝)

[NOIP2001 提高组] 数的划分(剪枝)

时间:2023-06-10 12:22:50浏览次数:51  
标签:剪枝 NOIP2001 int 51 划分 格式 分法

题目描述

将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。

例如:n=7,k=3,下面三种分法被认为是相同的。

1,1,5
1,5,1
5,1,1

问有多少种不同的分法。

输入格式

nk (6<≤2006<n≤200,2≤≤62≤k≤6)

输出格式

1 个整数,即不同的分法。

输入输出样例

输入 #1
7 3
输出 #1
4

说明/提示

四种分法为:
1,1,5
1,2,4
1,3,3
2,2,3

【题目来源】

NOIP 2001 提高组第二题

using namespace std;
const int N=1e5+10;
int a[N],res,n,k;
void prit()
{
    for(int i=1;i<k;i++) cout<<a[i]<<" ";
    cout<<a[k]<<endl;
}
void dfs(int now,int cnt)
{
    if(cnt>k||now<0) return;
    for(int i=a[cnt-1];i<=now;i++)//题目要求颠倒顺序的不算,那么就要考虑如何消除,这里就可以使用一个数组来记录上一个的值
    //如果当前不小于这个值,那么顺序就是递增的,额外提一嘴,数组此时也是储存的最小字典序的顺序;
    //这里的剪枝策略是,从不小于上一个值的位置开始,一直到现在的值
        {
            a[cnt]=i;
            if(now-i==0&&cnt==k) res++,prit();
            else dfs(now-i,cnt+1);
        }
}
int main()
{
    a[0]=1;
    cin >>n>>k;
    dfs(n,1);
    cout<<res;
    return 0;
}

 

标签:剪枝,NOIP2001,int,51,划分,格式,分法
From: https://www.cnblogs.com/o-Sakurajimamai-o/p/17471057.html

相关文章

  • vlan的创建与划分
         interface<port>   switchportmodetrunk   switchporttrunkallowedvlan<vlan_list> 其中<vlan_list>是以逗号分隔的VLANID列表(例如,10,20,30)。switchporttrunkallowedvlanall可允许所有VLAN通过Trunk。上述命令用于CiscoIOS系列交......
  • 在子网划分时,子网号为何不能是全0或全1?(转载)
    1.子网号为何不能为全0或全1?今天在写计算机网络-网络层的作业时遇到了一个问题:问题:试找出可以产生一下2个A类子网的子网掩码。题目很简单,A类网络的子网掩码为255.0.0.0,如果需要在A类网络下划分两个子网,除去全1与全0,子网掩码为255.192.0.0。但对于为什么要剔除全0或全1却有些......
  • (贪心+搜索+剪枝)P8801 [蓝桥杯 2022 国 B] 最大数字
    题目描述给定一个正整数 N。你可以对 N 的任意一位数字执行任意次以下2种操作:将该位数字加 1。如果该位数字已经是 9,加 1 之后变成 0。将该位数字减 1。如果该位数字已经是 0,减 1 之后变成 9。你现在总共可以执行 1 号操作不超过 A 次,2 号操作不......
  • 划分数组专题
    一般采用回溯法思想,但需要将问题进行转化,同时采用动态规划减小时间复杂度1.分割等和子数组2.目标和3.划分k个相等的子集4.三等分......
  • Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行
    3.3Spark在预测核心层的应用我们使用SparkSQL和SparkRDD相结合的方式来编写程序,对于一般的数据处理,我们使用Spark的方式与其他无异,但是对于模型训练、预测这些需要调用算法接口的逻辑就需要考虑一下并行化的问题了。我们平均一个训练任务在一天处理的数据量大约在500G左右,虽然数......
  • 计网:实验一 vlan的创建与划分
    一、实验目的: 1.了解vlan的工作原理;2.学习基于端口划分vlan的方法;3.了解跨交换机的相同vlan之间的通信;4.进一步学习交换机端口的配置命令。二、实验原理:VLAN(VirtualLocalAreaNetwork)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟......
  • [NOIP2001 普及组] 装箱问题
    [NOIP2001普及组]装箱问题题目描述有一个箱子容量为\(V\),同时有\(n\)个物品,每个物品有一个体积。现在从\(n\)个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。输入格式第一行共一个整数\(V\),表示箱子容量。第二行共一个整数\(n\),表示......
  • 【EXPLAIN】MySQL执行计划分析
    目录什么是执行计划?如何获取执行计划?执行计划结果分析idselect_typetabletype(重要)possible_keyskey(重要)key_lenrowsExtra(重要)什么是执行计划?执行计划是指一条SQL语句在经过MySQL查询优化器的优化会后,具体的执行方式。执行计划通常用于SQL性能分析、优化等场景。通过EXP......
  • poj 2362(剪枝)
    题意:给定一堆不定长度的小棒子,问他们能否构成一个正方形。解题思路:最开始写的时候把题意弄错了,以为只要能够从中取出一部分构成矩形即可。。。。这里注意一下几个剪枝的地方:1)要把所有的棒子都用上且组成正方形,那么sum%4=0;2)如果棒子长度小于4,肯定是不行的3)如果棒子中有长度大于s......
  • poj 1190(剪枝)
    生日蛋糕TimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 16191 Accepted: 5751Description7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。 设从下往上数第i(1<=i<=M)层蛋糕是半径为Ri,高度为Hi的圆......