数学-组合数学
Flintx
鲜衣怒马少年时
展开
-
UVA 11076 Add Again(有重复元素的全排列问题)
UVA 11076 Add Again题意: 输入N个数字,求这几个数字组成的数之和。 如:1,2,3.组成的数有123,132,213,231,312,321,和为1332.思路:有重复元素的全排列类问题: 有k个元素,第 ii 个元素 aia_i 有 cic_i 个,设总的全排列个数为 x。 那么:设共有 nn 个元素(n=∑ain=\sum a_i),得方程 a1!a2!⋯ak原创 2015-10-16 15:09:31 · 392 阅读 · 0 评论 -
HDU 4390 Number Sequence (容斥原理+组合计数)
HDU 4390题意:大概就是这样,不翻译了: Given a number sequence b1,b2…bn.b_1,b_2…b_n. Please count how many number sequences a1,a2,...,ana_1,a_2,...,a_n satisfy the condition thata1∗a2∗...∗an=b1∗b2∗…∗bn(ai,bi>1). a_原创 2015-08-24 22:08:32 · 1050 阅读 · 1 评论 -
HDU 4407 Sum(容斥原理+质因数分解)
HDU 4407题意:给一个长度为n的序列,序列由1~n依次组成。 对序列执行两种操作: 1.查询[x,y]内与p互素的数的和; 2.修改第x数为c.思路:往线段树的方向想了半天,发现就是容斥原理略微变形,脑残不可医啊。。修改操作可以用map进行映射。查询操作的话我们就把序列一直当做1~n的序列来查询,然后迭代器跑一遍map判断对查询有无影响即可,总之操作最多2000次; 对于查询操作,我们原创 2015-08-24 17:29:19 · 1262 阅读 · 0 评论 -
LightOJ 1132 Summing up Powers(矩阵快速幂+二项式定理)
LightOJ 1132题意:给出N(1≤N≤1015),K(0≤K≤50);给出N (1 ≤ N ≤ 10^{15}) , K (0 ≤ K ≤ 50); 计算:(1K+2K+3K+...+NK)%232.计算:(1^K + 2^K + 3^K + ... + N^K) \% 2^{32}.思路:根据二项式定理,我们可以得到: (n+1)k=C0knk+C1knk−1+C2knk−2+...+原创 2015-08-16 22:57:04 · 1091 阅读 · 0 评论 -
HDU 4372 Count the Buildings(组合数学,第一类Stirling数)
HDU 4372题意:有n个建筑高度为1~n,从前看能看到f个,从后看能看到b个,求可能有多少种排序情况。思路:五个小时花了3.5小时在上面,结果靠强行yy出了递推式(事后发现。。yy对了95%,跪在各种细节上,比赛结束也没A掉。。只能说大力出奇迹!但这种奇迹往往会毁在不经意的细节上orz分析几组数据我们可以发现,最高的n号楼一定是可以看到的,无论是从左还是右。原创 2015-08-05 23:09:43 · 1145 阅读 · 1 评论 -
UVALive 5760 Alice and Bob(博弈+记忆化dp or 找规律)
题意:黑板上写了n(n<=50)个不超过1000的数, 双方轮流进行以下操作中的一种:将一个数减1,当某个数为0时将其擦去;将两个数擦去,并将两个数之和写上黑板;擦去最后一个数为胜者,Alice先手,求最后胜者。思路:如果所有数都是大于1的数,共可执行 cnt 次操作,其中: cnt=sum(a[i])+n−1cnt = sum(a[i])+n-1 当 cnt 为奇数时先手胜利,偶数时后原创 2015-11-10 17:11:59 · 861 阅读 · 0 评论 -
HDU5088 Colorful Toy(计算几何+ploya计数)
题意:平面上有n个点,m条边,用c种颜色染色,如果两种染色方案旋转后重合,则视为同一种染色方案。求染色方案数(n<=50)思路:总体来说,这题涉及的知识点都比较裸:快速幂,乘法逆元,几何体旋转,ploya计数。但组合起来还是让人挺头疼的。 判断一个几何体旋转后形状是否改变可以这么做: 求出每个点绕几何中心旋转后的坐标,如果旋转后的点和原来某个点相同,那么建立这两个点的联系,最后判断之前的线是否重原创 2015-11-16 17:10:03 · 436 阅读 · 0 评论 -
UVA 10601 Cubes (组合数学 + ploya计数)
题意:有12根等长火柴,每根火柴的颜色是6种颜色中的一种,输入每根火柴的颜色,求构成的立方体有多少种,旋转后完全相同的立方体视为相同。思路:一直以来只理解了ploya的皮毛。。所以看见这种题,可以求出置换种类,循环节个数,长度。。但依然不会计算。 一个立方体的旋转置换有24种,分别是:静止不动(包含1种置换),循环节有12个,每个长度为1;以对顶点的连线为轴,旋转120°,240°(包含4 ×原创 2015-11-17 17:15:07 · 764 阅读 · 0 评论