题目要求

P2907题目链接

分析

奶牛群分流,假设牛群有n头牛,能分,二者差k头,则分别为:

  • (num-limit)/2
  • (num+limit)/2

分流条件:

  • (num-limit)>0,因为有牛才能分裂。
  • (num-limit)&1==0,即n-k是偶数,不是偶数没法除以2。

求解需要写递归的DFS程序。

由于我们要求的是最终几堆牛吃草,所以不能分裂(不满足前面提到的条件),就返回1。
在满足条件可以分裂的时候就需要return dfs((num-limit)/2) + dfs((num+limit)/2);,分别求两堆分开的牛最终能分成几堆。

AC代码(Java语言描述)

import java.util.Scanner;public class Main {private static long limit;private static long dfs(long num) {if (num > limit && ((num-limit)&1)==0) {return dfs((num-limit)/2) + dfs((num+limit)/2);}return 1;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long num = scanner.nextLong();limit = scanner.nextLong();scanner.close();System.out.println(dfs(num));}}

分裂的奶牛群(洛谷P2907题题解,Java语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 贪心策略构筑“奶牛铁塔”(洛谷P2676题题解,Java语言描述)

    题目要求 P2676题目链接 分析 哈哈哈,好一个"超级书架"+"奶牛铁塔",哈哈哈-- 这题就是用贪心策略,需要排一个序,然后每次选最高大强壮的奶牛加入&qu ...

  4. 快速排序+统计→奶牛的耳语(洛谷P1296题题解,Java语言描述)

    题目要求 P1296题目链接 分析 这红题--不太好做啊啊哈哈-- 输入的奶牛位置不一定是有序的,要排个序,用内置的快排就行-- 读入完调内置排序算法排一下序,max存能与第i头牛交流的坐标编号最大的 ...

  5. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  6. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  7. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  8. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  9. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

最新文章

  1. 批处理解决本地连接无法禁用问题
  2. c++中的list用法
  3. LeetCode:155. 最小栈
  4. 新加坡科技设计大学(SUTD)招收计算机视觉方向全奖PhD学生
  5. 文字识别:关键信息提取的3种探索方法
  6. Linux c实现一个tcp文件服务器和客户端
  7. 请问基友,基金转换需要多长时间?
  8. mysql 无限上级_mysql无限上级
  9. 有关于类的定义赋值与调用总结
  10. 通达信l2高级行情服务器地址配置文件,疯赢版通达信更好用——开通level2行情,添加龙虎榜数据...
  11. ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
  12. 推荐一款仿iPhone桌面的代码. ___王朋.
  13. 2022.11.15 英语背诵
  14. 科学减肥新方法——红光光浴#大健康#红光光浴#红光#种光光学
  15. 物联网信息安全复习笔记
  16. ARM中CPSR的标志位中的C和V
  17. Signal tap 逻辑分析仪使用教程
  18. 【ansys workbench】7.装配体分析基本思路讲解
  19. 甘超波:NLP心理学是什么?
  20. 计算机视觉--opencv圆点提取

热门文章

  1. Warning: Received `false` for a non-boolean attribute `xxx`.
  2. 【转】在树莓派上实现人脸识别
  3. TypeError: db.addUser is not a function : @(shell):1:1 ——mongoDB创建新用户名密码的方法...
  4. hdu Candy Sharing Game
  5. python3 文件相关操作
  6. windows定时任务
  7. 服务器主板稳定,服务器主板
  8. 第二专业 计算机考试成绩查询系统,2021年上半年信息系统项目管理师成绩查询时间公布(7月12日),查询入口已开通!...
  9. java scanner以回车结束_请问Scanner在输入回车后,如何才能退出?
  10. 创建链表和遍历链表算法演示