题目描述:将整数 n 分成 k 份,每份不能为空,颠倒顺序的被看成一种分法。

题目链接:https://www.luogu.com.cn/problem/P1025

题目思路:深搜剪枝,规定搜索的下一个数的范围,保证代码不会超时。

代码

#include<bits/stdc++.h>
using namespace std;
int n,k,we=0,q=0,w;
void dfs(int a,int b){
if(a==1){//如果搜到最后一个数
if(n-q>=b){//如果最后一个数>=前一个数,证明不是逆序,找对了
we++;//结果++
}
return;
}
for(int i=b;i<=n/2;i++){//剪枝,后一个数不能大于前一个数
q+=i;//前面的数加起来
dfs(a-1,i);//递归
q-=i;//回溯
}
}
int main(){
cin>>n>>k;
dfs(k,1);//进入深搜
cout<<we;
}

题解0005:数的划分(洛谷P1025)的更多相关文章

  1. 洛谷——P1025 数的划分

    P1025 数的划分 题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有 ...

  2. 【洛谷p1025】数的划分

    数的划分[传送门] 算法的话,dfs+剪枝: 据说是01年之前的NOIp提高组: 思路: 这道题是求把n无序的划分成k份的方案数,最直接的搜索方法是依次枚举x1,x2……xk的值,然后判断,显然这么搜 ...

  3. noip模拟9[斐波那契·数颜色·分组](洛谷模拟测试)

    这次考试还是挺好的 毕竟第一题被我给A了,也怪这题太简单,规律一眼就看出来了,但是除了第一题,剩下的我只有30pts,还是菜 第二题不知道为啥我就直接干到树套树了,线段树套上一个权值线段树,然后我发现 ...

  4. nbuoj 2080 洛谷p1025 数的划分

    链接:http://www.nbuoj.com/v8.83/Problems/Problem.php?pid=2820 链接:https://www.luogu.org/problem/P1025 题 ...

  5. 洛谷 P1025 & [NOIP2001提高组] 数的划分(搜索剪枝)

    题目链接 https://www.luogu.org/problemnew/show/P1025 解题思路 一道简单的dfs题,但是需要剪枝,否则会TLE. 我们用dfs(a,u,num)来表示上一个 ...

  6. 洛谷 P1025 数的划分 Label:dp

    题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...

  7. [NOIP2001] 提高组 洛谷P1025 数的划分

    题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...

  8. 洛谷P1025 数的划分【dp】

    将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的. 1,1,51,1,5; 1,5,11,5,1; 5,1,15, ...

  9. 洛谷 P1025 【数的划分】

    进入正题 思路:递归 这道题有点像放苹果: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 转化一下就有: 把n个苹果放在k个 ...

随机推荐

  1. Solution Set -「LOCAL」冲刺省选 Round XXIV

    \(\mathscr{Summary}\)   名副其实的 trash round,希望以后没有了.   A 题算好,确实一个比较关键的简化状态的点没想到,所以只拿了暴力(不考虑 \(\mathcal ...

  2. HTTP流量神器Goreplay核心源码详解

    摘要:Goreplay 前称是 Gor,一个简单的 TCP/HTTP 流量录制及重放的工具,主要用 Go 语言编写. 本文分享自华为云社区<流量回放工具之 goreplay 核心源码分析> ...

  3. 在线pdf请你谨慎打开

    本篇其实算之前安全整改话题的一点补充,对之前内容感兴趣的可以走以下快捷通道: 安全漏洞整改系列(二) 安全漏洞整改系列(一) 背景 前不久某家客户对我们提供的系统又进行了一轮安全测试,其中有一条我觉得 ...

  4. 云原生 PostgreSQL 集群 - PGO:5分钟快速上手

    前提条件 请确保您的主机上安装了以下实用程序: kubectl git 安装 第 1 步:下载示例 首先,转到 GitHub 并 fork Postgres Operator 示例存储库: https ...

  5. 『无为则无心』Python面向对象 — 57、类属性和实例属性

    目录 1.类属性 (1)类属性的访问 (2)修改类属性 2.类属性和实例属性区别 1.类属性 (1)类属性的访问 类属性就是 类对象 所拥有的属性,它被 该类的所有实例对象 所共有. 类属性可以使用 ...

  6. 深入理解Java类加载机制,再也不用死记硬背了

    谈谈"会"的三个层次 在<说透分布式事务>中,我举例里说明了会与会的差别.对一门语言的学习,这里谈谈我理解的"会"的三个层次: 第一层:了解这门语言 ...

  7. NSSCTF-[UTCTF 2020]Zero

    做misc嘛,先把题目一开始就给的一串英文翻译一下, 可以看到说明的是这个txt文档可能是包含其他的文本量,这个文本里面还有其他的东西,只是正常是看不到, 使用binwalk或者fomost分离尝试, ...

  8. 在 Linux 下确认 NTP 是否同步的方法

    NTP 意即网络时间协议Network Time Protocol,它通过网络同步计算机系统之间的时钟.NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业.NTP 客户端会将 ...

  9. Redis学习笔记(详细)

    目录 概述 Redis安装启动 常用五大数据类型 Redis键(key) Redis字符串(String) Redis列表(List) Redis集合(Set) Redis哈希(Hash) Redis ...

  10. Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法

    转至:https://www.jb51.net/article/20367.htm 添加用户(随着用户的创建,自动产生与用户同名的schema) CREATE USER "TESTER&qu ...