FHJ学长的心愿 QDUOJ 数论
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 数论相关推荐
- 数论之互质与欧拉函数
文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...
- 君のことが好きだよ。
旧的日记地址 -> \((Click\ Here\ !)\) 跨年夜在艾欧泽亚闲逛,不知不觉就到了 2019 年啦! 第一次在艾欧泽亚跨年,大家用坐骑拼成了"2018"的样子 ...
- XDTIC2019招新笔试题 + 官方解答
腾讯创新俱乐部2019年招新笔试试题 [1] 小宗学长正在努力学习数论,他写下了一个奇怪的算式: \[ 2019^{2018^{2017^{\dots^{2^1}}}} \] 算式的结果一定很大,所以 ...
- 【codevs1565】【BZOJ2242】计算器,数论练习
计算器 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 你被要求设计一个计算器完成以下三项任务: 1.给定y.z.p,计算 ...
- 数论的基础入门(初读数论概论有感)(acm知识储备)
在寒假自己对自己的硬核知识进行了充电,这本书是学长极力推荐的,是专门给数学系的学生进行对数论进行全面认识和理解的入门书籍,虽然自己是计算机的,但是并不影响去阅读它,读的过程中就发现了,书中不少数学系的 ...
- 一位学长的ACM总结(感触颇深)
发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...
- 数论(一)——素数,GCD,LCM
这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...
- 考研规划计算机科学与技术,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 二.关键一步--院校选择 我把各位同学的院校选择阶段分为以上几个阶段,因为考研这一年中,很多人的目标院校并不是固定不变的,而是随着不同阶段而改变的.学长我 ...
- 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工
近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...
- 邀请了阿里的学长学姐分享
Datawhale学习 组织方:阿里云开发者社区.阿里校园招聘.Datawhale 活动初衷 阿里巴巴倡导"人人公益3小时",以此来激发大家内心的善念,并通过个人的专业度,来释放善 ...
最新文章
- 《程序员书屋》微刊创建,赠书活动进行中!
- 诺曼门的十个产品_用户决策与产品设计
- Oracle sys或者system的默认密码
- python工程技巧_重点来了!掌握这些Python技巧,将给你节省大量时间
- 如何在 Asp.Net Core 实现 Excel 导出功能
- Windows 键盘操作快捷方式积累
- C++ 类模板二(类模版与友元函数)
- 前端学习(2877):原生js模块化+绘制弹幕与动画video联动
- 基于uniapp开发的适用于微信小程序,头条小程序
- 系统学习NLP(二十)--SWEM
- HDU 3072 (强连通分量)
- 词法分析器java_java词法分析器简单实现
- 苹果(APPLE)开发者账号说明及注册流程(99美元公司版/个人版及299美元企业版)
- 怎么让蜘蛛喜欢你的网站
- Qt软件开发交流群分享
- 送戒指创意 让婚礼不再单调
- 读书百客:《嘲鲁儒》赏析
- KubeSphere——KubeSphere集群构建实战
- 计数器(Verilog)
- 【交换篇】(6.4) ❀ 01. HA 状态下的核心交换机连接方法 (上) ❀ FortiSwitch 交换机