首页 > 其他分享 >牛客 [NOIP2001]数的划分

牛客 [NOIP2001]数的划分

时间:2024-03-29 15:59:43浏览次数:29  
标签:NOIP2001 idx int sum len 牛客 划分 dfs LL

https://ac.nowcoder.com/acm/problem/16695

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=200200,M=2020;
LL n,k;
LL ans=0;
void dfs(int idx,int len,int sum)
{
    if((k-len)*idx>n-sum) return ;
    if(len>=k||sum>=n)
    {
        if(len==k&&sum==n) ans++;
        return ;
    }
    for(int i=idx;i<=n;i++)
    {
        if((k-len)*i>n-sum) break ;
        dfs(i,len+1,sum+i);
    }
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        cin>>n>>k;
        for(int i=1;i<=n;i++)
        {
            if(k*i>n) break;
            dfs(i,1,i);//从i开始,长度为i,总数为i
        }
        cout<<ans<<endl;
    }
    return 0;
}

标签:NOIP2001,idx,int,sum,len,牛客,划分,dfs,LL
From: https://www.cnblogs.com/Vivian-0918/p/18103990

相关文章

  • 牛客竞赛动态规划专题班数位dp例题
    题单A-0的个数这题算是一个思维题。我的做法是就是统计每一位的0有多少个。例如\(4032\)个位的零有\(403\)种十位的零有\(40*10\)种百位的零有\(3*100+33\)种,即千位去\([1,3]\)个位低两位取\([00,99]\),或者千位取\(4\)低两位取\([00,33]\)千位不能取零#include<......
  • 牛客编程题
    提示:文章文章目录前言一、背景二、2.12.2总结前言前期疑问:本文目标:一、背景最近二、2.1坐标移动https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29?tpId=37&tqId=21240&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2......
  • 子网划分
    1、子网划分的原因满足不同网络对IP地址的需求;实现网络的层次性;节省IP地址。IP地址分为:有类地址;无类地址2、子网划分VLSM:允许把子网继续划分为更小的子网掩码对应的子网数:1)先根据IP地址的有类类型来判断n的值(A类为掩码-8,B类为掩码-16,C类为掩码-24)        ......
  • 牛客周赛 Round 38做题笔记
    一.题目链接登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/78......
  • 牛客周赛 Round 38
    比赛链接:牛客周赛Round38A:小红的正整数自增voidsolve(){lln;cin>>n;for(inti=0;i<=9;i++){lly=n+i;if(y%10==0){cout<<i<<'\n';return;}}}B:......
  • 数制转换与子网划分
    前言        我们一般说的百兆、千兆网络的单位是bps(比特率,即位/秒,bit/s),比如我们说网卡或光纤的传输速度是百兆,也就是100Mbps的意思。而在实际应用中(各类下载工具)使用的传输单位是字节/秒(Byte/s)。Byte是字节,而bit是二进制位单元8bit=1byte1024byte=1KB102......
  • 牛客小白月赛
     B-显生之宙_牛客小白月赛89(nowcoder.com)题解:思路很简单,但是当时晕晕的,写拉了题目要求最大,那么负数要让每一个数都加,正数只能加一个我们正数加到最后一个数即可,负数累加#include<bits/stdc++.h>//#pragmaGCCoptimize("Ofast")#include<iostream>#include<cstdio......
  • 牛客--2024中国传媒大学程序设计大赛(同步赛)
    A-小苯的区间和疑惑题意:做法:前缀最大值+后缀最大值 or 线段树维护最大子段和intarr[200005],pre[200005],last[200005];voidsolve(){//小笨的区间和疑惑--前缀最大值+后缀最大值or线段树维护最大自段和intn;cin>>n;for(inti=1;i<=n;i++)cin......
  • 牛客周赛ROUND37--C题解
    C-红魔馆的馆主(495倍数)题意:做法:dfs搜索后面添加的数字。stringans="1000000000000000000";voiddfs(intcur,stringaddnum){//用数字写的话会无限dfs,因为addnum永远等于0。if(cur==0){if(addnum.size()<ans.size())ans=addnum;return;......
  • 按功能划分的常用Java库
    日志打印使用slf4j作为日志门面API,常用的日志实现库为log4j和logback。<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.36</version></dependency><!--使用logback作为底层日志实现框架,需要在......