FHJ学长的心愿

原题链接,点我进去

题意

给你一个数N,让你求在\[C^{0}_{n} \ C^{1}_{n}\ C^{2}_{n}\ \dots \ C^{n}_{n}\]中有几个组合数是奇数。

解题思路

出题人CX学长给的题解:

本题实际上是考察的Lucas定理。

Lucas定理:(写程序的时候后半部分可以递归求)

设\(P\)为素数,则:

\[C^{m}_{n}(\% P)=C^{m\%P}_{n\%P}∗C^{⌊m/P⌋}_{⌊n/P⌋}(\%P)\]

一句话概括,就是一个组合数可以拆成\(P\)进制下的乘积,如下:(与上式本质相同)

\[n = n_{k}*p^{k}+n_{k-1}*p^{k-1}+...+n_{1}*p+n_0\]

\[m = m_{k}*p^{k}+m_{k-1}*p^{k-1}+...+m_{1}*p+m_0\]

则(上式实际上也就是把\(n,m\)分解成了\(P\)进制的形式):

\[C^{m}_{n}(\% P)=C^{m_{k}}_{n_{k}}∗C^{m_{k-1}}_{n_{k-1}}*...*C^{m_{0}}_{n_{0}}(\%P)\]

当\(P = 2\)的时候,其实就只有四种情况:\(,,,,,C_1^0, C_0^1, C_0^0, C_1^1\),其中只有\(C_0^1 =0\),其余都是1。

那么对于这个题,我们实际上要找的就是在\(C_n^0...C_n^n\)中有多少个 \(C_n^m\)满足\(C_n^m\%2=1\)。

对于给定的\(n\),我们去考虑\(m\),如果对应\(n\)的二进制位为0,那么\(m\)对应的二进制位只能为0(因为\(C_0^1 =0\)),如果对应\(n\)的二进制位为1,那么\(m\)对应的二进制位可以为1也可以为0。(这样也保证了统计的\(m\leq n\))。

所以答案就是n的二进制中1的位置取0或1的所有可能。即\(2^{cnt}\),\(cnt\)为\(n\)的二进制中1的个数。

这个题有人竟然通过找规律找出来的,真强。

代码实现

#include <bits/stdc++.h>
using namespace std;
int main() {int n;while (scanf("%d", &n) != EOF) {int cnt = 0;while (n) {if (n & 1) cnt++;n >>= 1;}printf("%d\n", 1 << cnt);}return 0;
}

转载于:https://www.cnblogs.com/alking1001/p/11580789.html

FHJ学长的心愿 QDUOJ 数论相关推荐

  1. 数论之互质与欧拉函数

    文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...

  2. 君のことが好きだよ。

    旧的日记地址 -> \((Click\ Here\ !)\) 跨年夜在艾欧泽亚闲逛,不知不觉就到了 2019 年啦! 第一次在艾欧泽亚跨年,大家用坐骑拼成了"2018"的样子 ...

  3. XDTIC2019招新笔试题 + 官方解答

    腾讯创新俱乐部2019年招新笔试试题 [1] 小宗学长正在努力学习数论,他写下了一个奇怪的算式: \[ 2019^{2018^{2017^{\dots^{2^1}}}} \] 算式的结果一定很大,所以 ...

  4. 【codevs1565】【BZOJ2242】计算器,数论练习

    计算器 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 你被要求设计一个计算器完成以下三项任务: 1.给定y.z.p,计算 ...

  5. 数论的基础入门(初读数论概论有感)(acm知识储备)

    在寒假自己对自己的硬核知识进行了充电,这本书是学长极力推荐的,是专门给数学系的学生进行对数论进行全面认识和理解的入门书籍,虽然自己是计算机的,但是并不影响去阅读它,读的过程中就发现了,书中不少数学系的 ...

  6. 一位学长的ACM总结(感触颇深)

    发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...

  7. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  8. 考研规划计算机科学与技术,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 二.关键一步--院校选择 我把各位同学的院校选择阶段分为以上几个阶段,因为考研这一年中,很多人的目标院校并不是固定不变的,而是随着不同阶段而改变的.学长我 ...

  9. 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工

    近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...

  10. 邀请了阿里的学长学姐分享

    Datawhale学习 组织方:阿里云开发者社区.阿里校园招聘.Datawhale 活动初衷 阿里巴巴倡导"人人公益3小时",以此来激发大家内心的善念,并通过个人的专业度,来释放善 ...

最新文章

  1. 《程序员书屋》微刊创建,赠书活动进行中!
  2. 诺曼门的十个产品_用户决策与产品设计
  3. Oracle sys或者system的默认密码
  4. python工程技巧_重点来了!掌握这些Python技巧,将给你节省大量时间
  5. 如何在 Asp.Net Core 实现 Excel 导出功能
  6. Windows 键盘操作快捷方式积累
  7. C++ 类模板二(类模版与友元函数)
  8. 前端学习(2877):原生js模块化+绘制弹幕与动画video联动
  9. 基于uniapp开发的适用于微信小程序,头条小程序
  10. 系统学习NLP(二十)--SWEM
  11. HDU 3072 (强连通分量)
  12. 词法分析器java_java词法分析器简单实现
  13. 苹果(APPLE)开发者账号说明及注册流程(99美元公司版/个人版及299美元企业版)
  14. 怎么让蜘蛛喜欢你的网站
  15. Qt软件开发交流群分享
  16. 送戒指创意 让婚礼不再单调
  17. 读书百客:《嘲鲁儒》赏析
  18. KubeSphere——KubeSphere集群构建实战
  19. 计数器(Verilog)
  20. 【交换篇】(6.4) ❀ 01. HA 状态下的核心交换机连接方法 (上) ❀ FortiSwitch 交换机

热门文章

  1. JDK6中synchronized优化之自旋锁、锁擦除、锁粗化
  2. React高阶组件学习总结
  3. Mybatis原理解析(四)--查询流程
  4. Jfinal3.4+layui2.4.3整合
  5. 1.shell脚本编程——基础篇(一)
  6. 忘记mysql密码 重置密码
  7. 最有效的更改linux 系统时区的方法
  8. Samba服务器配置(2)--认识smb.conf配置文件
  9. [线筛五连]线筛素数
  10. uni.request在接口状态码403等还是走success