HDU 4349 Xiao Ming's Hope
非常无语的一个题。
反正我后来看题解全然不是一个道上的。
要用什么组合数学的lucas定理。
表示自己就推了前面几个数然后找找规律。
C(n, m) 就是 组合n取m;
(m!(n-m!)/n!)
假设n==11 ;
C(11,0);C(11,1);C(11,2);C(11,3);C(11,4);C(11,5);
分别为
(1/1); (1 / 11) ; (11*10 / 2*1) ; (11*10*9 / 3*2*1); (11*10*9*8 / 4*3*2*1) ; (11*10*9*8*7 / 5*4*3*2*1);
C(11,11);C(11,10);C(11,9);C(11,8);C(11,7);C(11,6);
这两个都是相等的。(參见排列组合)
若要 C(n,m)为奇数,必须 分子分母 约分后都是奇数。
发现假设纯模拟的肯定会超时的。
当时发现 当n==2^? 都是能够被除掉的,就仅仅有 C(n,0);和 C(n,n) 都是 1,奇数。
而 n==(2^?)-1 的时候结果就是 2^n 。
然后推了前面几个数
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
2,2,4,2,4,4,8,2,4,4 ,8 ,4 ,8 ,8 ,16,2
巨像 树状数组。。。想到树状数组是取& 。
然后我就 转换 n 的二进制。发现有m个1 ,结果就是 2^m ;
于是最终AC。→ _ → 数学好伐。
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<iostream>
#include<list>
#include<set>
#include<cmath>
#define INF 0x7fffffff
#define eps 1e-6
using namespace std;
int shift(int n)
{
int cot=0;
while(n)
{
if(n%2==1)cot++;
n/=2;
}
return cot;
}
int main()
{
int n,m;
while(scanf("%d",&n)!=EOF)
{
m=shift(n);
cout<<pow(2,m)<<endl;
}
}
HDU 4349 Xiao Ming's Hope的更多相关文章
- HDU 4349 Xiao Ming's Hope 找规律
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4349 Xiao Ming's Hope Time Limit: 2000/1000 MS (Java/ ...
- HDU 4349 Xiao Ming's Hope lucas定理
Xiao Ming's Hope Time Limit:1000MS Memory Limit:32768KB Description Xiao Ming likes counting nu ...
- hdu 4349 Xiao Ming's Hope 规律
Xiao Ming's Hope Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4349——Xiao Ming's Hope——————【Lucas定理】
Xiao Ming's Hope Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4349 Xiao Ming's Hope
有这样一个性质:C(n,m)%p=C(p1,q1)*C(p2,q2).......%p,其中pkpk-1...p1,qkqk-1...q1分别是n,m在p进制下的组成. 就完了. #include&l ...
- hdu 4349 Xiao Ming's Hope lucas
题目链接 给一个n, 求C(n, 0), C(n, 1), ..........C(n, n)里面有多少个是奇数. 我们考虑lucas定理, C(n, m) %2= C(n%2, m%2)*C(n/2 ...
- HDU 4349 Xiao Ming's Hope [Lucas定理 二进制]
这种题面真是够了......@小明 题意:the number of odd numbers of C(n,0),C(n,1),C(n,2)...C(n,n). 奇数...就是mod 2=1啊 用Lu ...
- HDU 4349 Xiao Ming's Hope 组合数学
题意:给你n,问在C(n,1),C(n,2)...C(n,n)中有多少个奇数. 比赛的时候打表看出规律,这里给一个数学上的说明. Lucas定理:A,B非负整数,p是质数,A,B化为p进制分别为a[n ...
- HDU 5433 Xiao Ming climbing dp
Xiao Ming climbing Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/ ...
随机推荐
- 【Android开发经验】Android举UI设计经验
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 1.Android眼下的主流设备分辨率为480×800.720×1280.1080×1920,单位是像素.在 ...
- [WebView五学习]:调试Web Apps
上一篇我们学习了([WebView学习之四]:迁移到Android4.4版本号的WebView),今天我们来继续学习. (博客地址:http://blog.csdn.net/developer_jia ...
- 人人API 分享到人人功能 修改版
最近在搞一个日程管理网站, 需要实现分享到人人功能, 所以找了一下人人API, 然后根据自己需要修改了一下. 首先得有一个人人给的js文件, 如下: var Renren = Renren || {} ...
- iOS结合导航控制器和标签栏控制器
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name=& ...
- maven配置文件里改动默认jre
方法一:打开%maven_home%\conf\setting.xml,仅仅会在新建项目时自己主动使用1.6的导入项目不会 在<profiles>标签内加入�例如以下配置: <pro ...
- Git Flow流程
# 1. clone远程仓库到本地 git clone git@git.oschina.net:huogh/muzhifm_xxx.git # 2. 使用远程分支origin/dev创建本地分支d ...
- JavaFX横幅类游戏开发 教训 游戏贴图
上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘 ...
- Akka.NET是Java/Scala 流行框架Akka的一个 .NET 开源移植
Akka.NET v1.0 已发布,支持Mono Akka.NET 是Java/Scala 流行框架Akka的一个 .NET 开源移植.可用于构建高并发,分布式和容错事件驱动的应用在 .NET 和 M ...
- Django架设blog步骤(转)
最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言: 2.语法简洁,强制缩进: 3.应用广泛,w ...
- c++内存泄漏处理(积累)
写c++程序时,常常会出现内存泄漏的问题,这里从网上找了一种非常麻烦的方法:假设想找到每一个cpp文件的内存泄漏,都必须在每一个cpp加上例如以下代码: #include <crtdbg.h&g ...