上一页 1 2 3 4 5 6 7 ··· 27 下一页
摘要: 这个题与poj1664一样的类型的题目,但是这题的数据量比较大,如果像1664那样做,就会超时,因为有很多重复的计算;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include< 阅读全文
posted @ 2012-08-15 21:48 wutaoKeen 阅读(174) 评论(0) 推荐(0)
摘要: 这是一道简单的组合数学题,这里要用递推来做;方法一:A[n][m] 表示n个盘子放m个苹果的方法,那么A[n][m] = A[n-1][m] + A[n][m-n];就会等于m个苹果放在n-1个盘子的方法(也就是一个盘子为0)加上我们个盘子放一个再把剩下的放到n个盘子;因为每个盘子中加一个数1不会影响A[n][m-n]中的方案的可行性,也不会影响A的定义。View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath 阅读全文
posted @ 2012-08-15 20:20 wutaoKeen 阅读(165) 评论(0) 推荐(0)
摘要: 题意:给你n*n的方格纸,在格子里填颜色,要满足任意水平、垂直翻转后看到的图形都一样;对于n*n的方格纸,则可填 (n/2+1)*(n/2)/2 种颜色,如图。我们就只要涂图中的那个三角形即可,由于是对称的那么其余的方格也就确定了颜色;有些方格已经填了颜色,对于已填色的方格,会固定对应格子的颜色,使得可填颜色数减1.注意多个已填色格本来就是同色格,不要多减因n范围比较大,不能直接开数组,我们就把所有的涂了颜色的方格的就过旋转之后来对应上面的三角形的方格,再去重就可以了,那么剩下了的方格,每个方格我们可以K种颜色;View Code #include<iostream>#includ 阅读全文
posted @ 2012-08-15 16:51 wutaoKeen 阅读(609) 评论(0) 推荐(0)
摘要: 问题描述如下:一个具有n个元素的排列,经过k趟bubblesort排到有序状态。求出满足此条件的排列个数。首先,了解反序表的概念。《计算机程序设计艺术》第三卷5.1.1反序部分有说明。简述如下:a1,a2,...,an是集合{1,2,...,n}的一个排列。令bj为位于j左边但是大于j的元素个数,就能得到排列a1,a2,...,an的反序表b1,b2,...,b3。比如说:排列591826473有反序表位置:123456789b236402210不管什么样子的排列,只要可以比较大小,就可以映射到集合{1,2,...,n}上的一个排列。不难发现,每一趟bubblesort,都会将这一趟之前反序数 阅读全文
posted @ 2012-08-13 16:19 wutaoKeen 阅读(224) 评论(0) 推荐(0)
摘要: 简单的组合题:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include<string>#define LL long longusing namespace std;LL 阅读全文
posted @ 2012-08-13 10:40 wutaoKeen 阅读(125) 评论(0) 推荐(0)
摘要: 这是一道对斯特林数的运用:s[n][k] = s[n-1][k-1] + k*[n-1][k];View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include<string># 阅读全文
posted @ 2012-08-13 10:11 wutaoKeen 阅读(196) 评论(0) 推荐(0)
摘要: 一道简单的组合数学题,我们把从1~m的和的余数相同的放在一个集合里面,那么他们任意一个相减就会是得到余数为0;那么也是d的倍数;这里要注意的是当余数为0的集合那么可以从中任意选2个与1个,这个题会超出int型:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include< 阅读全文
posted @ 2012-08-13 09:09 wutaoKeen 阅读(198) 评论(0) 推荐(0)
摘要: 给定一个数X.1=X0, X1, X2.....Xm= X 是X的因数求一串因数,要求Xi| Xi+1,即上一个因数能整除下一个因数,问这条串就的最长长度,和有多少条这样长度的串.X = p1^a1 * p2^a2 ... pn^anXi =p1^b2 * p2^b2 ...pk^bk... pn^bn,Xi+1 =p1^b2 * p2^b2 ...pk^(bk)... pn^bn,要使length最长,只要从1开始,每次只乘以X的一个质因数即可,即length = (a1+a2+...an)而方法数就是X的质因数的重排列数,way = (a1+a2+...an)!/(a1!a2!...an! 阅读全文
posted @ 2012-08-12 22:03 wutaoKeen 阅读(256) 评论(0) 推荐(0)
摘要: 这是一个组合数学题:题意:就是给你n个点,任选3个点判断A=|x1y2 - y1x2 + x2y3 - y2x3 + x3y1 - y3x1|/2是否为整数(0也算),并计算这样的组合存在多少个;思路 A = y1*(x3-x2) + y2*(x1-x3) + y3*(x2-x1);只有A为偶数时才成立;那么只有两种情况成立:1 :奇 + 奇 + 偶 2 : 偶 + 偶 + 偶;那么我们就可以把点化成0,1的类型:即 (x,y)= (x&1,y&1);我么在找规律得:如果存在2中以上的类型相同,那么这种情况一定是偶数; View Code #include<iostrea 阅读全文
posted @ 2012-08-12 10:24 wutaoKeen 阅读(220) 评论(0) 推荐(0)
摘要: 这个题就是欧拉定理的简单运用:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include<string>#define LL long longusing namespac 阅读全文
posted @ 2012-08-11 11:00 wutaoKeen 阅读(226) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 27 下一页