
数学
fisty
hi
展开
-
poj2229
题目一:http://poj.org/problem?id=2229 题意:给定一个正整数n,有多少种表示方法把它写成若干个2幂次的和。例如n=2 那么,n=1+1,n=2,共两种。 分析: 如果N是奇数,那么在所有的系列中一定含有一个1,把这个1减掉,就和N-1的对应相等。如果N是偶数,那么每一项要么都是2以上的数字,要么就一定原创 2014-08-04 23:38:16 · 749 阅读 · 0 评论 -
uva 10491 uva 10491 Cows and Cars
输入a,b,c, a牛,b车,知情人会一次性打开c个门(注意是一次性全部打开c个门,要是一次打开一个的那完全不同了,另外还注意一点,如果你选的就是牛,虽然知情人能打开c个门,但是它不能打开你那个,而题目有一个条件 01.第一次选择牛,概率为a/(a+b),然后知情人打开了c个门(自己选的那个不被打开),然后现在实际上只剩下a+b-c个门(包括自己选的那个)。改变选择,那么现在能选的门的个数为原创 2015-03-03 22:46:24 · 644 阅读 · 0 评论 -
卡特兰数 性质及应用
卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。历史上,清代数学家明安图(1692年-1763年)在其《割圜密率捷法》最早用到“卡塔兰数”,远远早于卡塔兰[1][2][3]。有中国学者建议将此数命名为“明安图数”或“明安图-卡塔兰数”[4]。卡塔兰数的一般项公式为 前20项为(OEIS中的数列A000108):1, 1原创 2014-10-19 19:22:12 · 1723 阅读 · 0 评论 -
hdu 2067 小兔的棋盘 (卡特兰数的应用)
/****************** * Author:fisty * Data:2014-10-19 * hdu 2067 *****************/#include #include using namespace std;long long f[110];//卡特兰数int main(){ f[0]=1; for(int原创 2014-10-19 19:50:29 · 522 阅读 · 0 评论 -
hdu 5047平面分割
题目大意: 给n条样子像“m”的折线,求它们能把二维平面分成的面最多是多少。解题思路: 我们发现直线1条:2平面;2直线:4平面;3直线:7平面......因为第n条直线要与前面n-1条直线都相交,才能使分的平面最多,则添加第n条直线,平面增加n个; 所以公式是面F = 2 + 2 + 3 + ......+ n = (1+n)*n/2 + 1原创 2014-11-02 22:29:06 · 565 阅读 · 0 评论 -
Lightoj 1005 Rooks
我们不妨设题目中的答案为M(n,k),n和k分别对应题目中的n和k。同样的,我们仍然从简单的情况分析。当k>n时,显然不可能摆放所有的棋子,所以此时M(n,k)=0;所以我们现在只讨论当k小于等于n时的情况。当k=1时,我们可以在任意一个位置摆放棋子,所以此时M(n,1)=n^2;当k=2时,首先假设k小于等于n,我们可以这样想,先在棋盘的n竖列中选取两列,随后,只要两个棋子的“高原创 2014-10-04 10:53:24 · 568 阅读 · 0 评论 -
codeforces 486CPalindrome Transformation
/****************** * Author:fisty * Data:2014-11-15 * cf486C * ****************/#include using namespace std;#define MAX_N 500000int n, p;char s[MAX_N];int main(){ scanf("%d%d",原创 2014-11-15 15:57:14 · 479 阅读 · 0 评论 -
codeforces 486B OR in Matrix
From matrix A, Nam creates another matrix B of the same size using formula:.(Bij isOR of all elements in row i and column j of matrix A)需要把B矩阵中原创 2014-11-15 12:19:45 · 820 阅读 · 0 评论 -
hdu2099 水~
#include #include using namespace std;typedef long long ll;int main(){ int n, m; while(scanf("%d%d", &n, &m) != EOF){ if(!n && !m) break;原创 2014-09-30 22:51:54 · 427 阅读 · 0 评论 -
优快云 四川大学线下比赛第一题
#include #include using namespace std;#define MAX_N 40int a[MAX_N][MAX_N];int main(){ int n; while(scanf("%d", &n) != EOF){ int cnt = 1; f原创 2014-09-30 22:54:53 · 565 阅读 · 0 评论 -
错排问题 考新郎 hdu2049
问题: 十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?这个问题推广一下,就是错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。错排问题最早被尼古拉·伯努利和欧拉研究,因此历史上也原创 2014-10-23 16:18:07 · 679 阅读 · 0 评论 -
数学公式
1. 求N!在K进制下的位数,即计算:2.计算弧长公式: 3.部分重要积分公式: .证明:若,那么原创 2014-08-04 22:58:30 · 435 阅读 · 0 评论 -
斐波那契组合式
描述:已知F(n)是斐波那契数列,求 分析求解,由于 所以接下来有: 进而有: 二项式定理告诉我们: 所以最终得到: 虽然没原创 2014-08-04 23:31:23 · 667 阅读 · 0 评论 -
秦九韶算法
给定a[]和x,求多项式的值。 分析:进行如下改写: 由内向外逐步计算,即: 本算法的时间复杂度为O(n),它叫做秦九韶算法。原创 2014-08-04 23:16:17 · 2128 阅读 · 0 评论 -
uva1636 决斗
直接扣一枪是一个条件概率,因为他必须符合上一枪为0的这个条件,所以这一枪一维0的概率等于 子串00的总数除以 00加上01的总数(也就是0的全部个数)如果转一下再扣为空,它的概率为0的个数除以子串长度.设a等于子串00的个数,b 为0的个数所以概率分别为p1 = a / b ,p2 = b / n;比较两个大小移向既得an 和 b*b比较.注意子弹顺序是环形的 所以子串s[n-1]原创 2015-03-03 22:54:45 · 626 阅读 · 0 评论