数学
刀刀狗0102
一个喜欢敲代码的zhazha
展开
-
poj1095--Trees Made to Order(卡特兰数)
题目链接:点击打开链接题目大意:按照图中给的编号方式,节点数逐渐增加,所有的点尽量在右子树上,问第m颗树是什么样子的,按照给的模式输出 (左)x(右),如果没有就缺省。首先对于n个节点的二叉树一共有多少种形态,这刚好符合卡特兰数的值。h(n) = C(2n,n)/(n+1) = C(2n,n) - C(2n,n-1) = h(n-1)*(4n-2)/(n+1) (递推公式)。按照递推公原创 2015-08-21 08:37:24 · 2288 阅读 · 0 评论 -
poj2409--Let it Bead(置换群+polya奇数)
题目链接:点击打开链接题目大意:给出m种颜色的小球,现在要求用n个串成一个环,经过旋转翻转后,能形成多少个不同的环。参考:点击打开链接#include #include #include #include using namespace std ;#define LL __int64LL gcd(LL a,LL b) { return b == 0 ? a原创 2015-07-28 10:27:30 · 828 阅读 · 0 评论 -
hdu5331--Sequence(数学)
题目链接:点击打开链接这个题看上去是一个贪心, 但是这个贪心显然是错的. 事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的k (k > 2)k(k>2), 使得(m - k) mod 6 = 0(m−k)mod6=0即可.证明如下: 3n(n-1)+1 = 6(n*(n-1)/2)+13n(n−1)+1=6(n∗(n−1)/2原创 2015-07-27 15:57:41 · 1093 阅读 · 0 评论 -
poj1026--Cipher(置换群)
题目链接:点击打开链接题目大意:给出一个编码的顺序,每经过一次编码第i位上的字符回到第a[i]位上。然后给出一个k,和初始的串,问编码k次后的串是什么。k可能会很大,不能暴力,所以要用置换群,找出轮换的环,假设环中有m个数,那么每编码m次,就代表这又回到了初始状态,可以用k%m,这样减少编码的次数。如果在记录轮换的位置,那么对于轮换中的第i个字符编码k次,就变成了轮换中的第(i+k)%m个原创 2015-07-25 10:45:31 · 1079 阅读 · 0 评论 -
codeforces(559C)--C. Gerald and Giant Chess(组合数学)
C. Gerald and Giant Chesstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputGiant chess is quite common in Ge原创 2015-07-25 17:26:24 · 2340 阅读 · 0 评论 -
Codeforces Round #295 (Div. 2) A+B+C
A题:找出字符串中是否出现了26个英文字母,不区分大小写#include #include #include using namespace std ;char str[200] ;int a[30] , b[30] ;int main(){ int n , i ; scanf("%d", &n) ; scanf("%s", str)原创 2015-03-03 19:44:54 · 906 阅读 · 0 评论 -
poj1830--开关问题(高斯消元问题1)
开关问题Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 6021 Accepted: 2290Description有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开原创 2015-01-25 20:11:43 · 1248 阅读 · 0 评论 -
poj3292--Semi-prime H-numbers(数论篇2)
Semi-prime H-numbersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7680 Accepted: 3319DescriptionThis problem is based on an exercise of David Hilbert,原创 2015-01-22 19:47:01 · 767 阅读 · 0 评论 -
poj1845--Sumdiv(数论篇3--真滴是数论啊。。。。)
SumdivTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 14953 Accepted: 3680DescriptionConsider two natural numbers A and B. Let S be the sum of all natural原创 2015-01-23 08:50:14 · 1945 阅读 · 0 评论 -
poj2635--The Embarrassed Cryptographer(数论篇1,大数取模)
The Embarrassed CryptographerTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 12496 Accepted: 3330DescriptionThe young and very promising cryptographer Odd原创 2015-01-22 17:07:44 · 911 阅读 · 0 评论 -
poj1850--Code(组合篇2)
CodeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 8414 Accepted: 3983DescriptionTransmitting and memorizing information is a task that requires differen原创 2015-01-22 11:33:02 · 799 阅读 · 0 评论 -
poj1942--Paths on a Grid(组合篇4)
Paths on a GridTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 22336 Accepted: 5483DescriptionImagine you are attending your math lesson at school. Once a原创 2015-01-22 15:24:35 · 829 阅读 · 0 评论 -
poj1019--Number Sequence(组合篇3)
Number SequenceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 34582 Accepted: 9929DescriptionA single positive integer i is given. Write a program to fin原创 2015-01-22 14:40:53 · 860 阅读 · 0 评论 -
poj3252--Round Numbers(组合篇1--求1到n内的二进制数中0的个数大于1的个数)
Round NumbersTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 9525 Accepted: 3420DescriptionThe cows, as you know, have no fingers or thumbs and thus are原创 2015-01-22 10:46:23 · 956 阅读 · 0 评论 -
poj1286--Necklace of Beads(置换群+polya计数)
题目链接:点击打开链接题目大意:给出三种颜色红绿蓝,对一串n个小球的环染色,环可以旋转和翻转,问最终可能有多少不同的染色方案。首先说明polya计数:由这个公式,既可以计算出不同的染色方案,那么我们需要求的也就是不同置换的个数,和每一个置换的循环节数旋转,旋转i个小球的距离,那么会得到0~n-1的置换方案,共有n中,对于旋转i个小球的循环节数为gcd(n,i)翻转,对于原创 2015-07-28 10:25:28 · 2433 阅读 · 3 评论 -
codeforces 571A--Lengthening Sticks(组合+容斥)
A. Lengthening Stickstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given three sticks with positi原创 2015-08-24 14:28:12 · 1224 阅读 · 0 评论 -
hdu5317(2015多校3)--RGCDQ(素数筛+枚举)
题目链接:点击打开链接题目大意:定义f(i)为组成i的素数的种类,求在区间[l,r]内的gcd(f(i),f(j)) (l 素数筛筛出10^6内的素数,求出每一个数的f(i),可以发现f(i) 在计算区间的时候直接相减,判断一下最大的gcd#include #include #include #include using namespace std ;#define LL原创 2015-07-29 09:16:24 · 761 阅读 · 1 评论 -
hdu5392--Infoplane in Tina Town(置换群+质因子分解求最小公倍数)
题目链接:点击打开链接题目大意:给出一种操作a[1],a[2],,,,a[n],代表每交换一次,1位置的数到a[1]位置,2位置的数到a[2]位置,,,问最终交换多少次可以恢复初始的情况。题目给出一个置换,要求置换的次数,也就是所有轮换个数的最小公倍数。首先求出所有轮换的个数,然后求最小公倍数的时候不能用gcd,因为Mod的取余太大,所以用质因子分解,统计每个质因子出现的最多次数,计算原创 2015-08-17 15:57:31 · 1097 阅读 · 0 评论 -
poj2891--Strange Way to Express Integers(不互素的中国剩余定理)
题目链接:点击打开链接题目大意:有一个数x,x%ai = ri ,给出n对ai和ri,问x的最小非负整数是什么,如果不存在输出-1不互素的中国剩余定理:x%a1= r1 ; x%a2 = r2 ; 设k1,k2得到x = a1*k1 + r1 , x = a2*k2+r2那么a1*k1+r1 = a2*k2+r2 --> a1*k1 = (r2-r1) + a2*k2---...原创 2015-08-05 09:34:50 · 2065 阅读 · 4 评论 -
poj3270--Cow Sorting(置换群)
题目链接:点击打开链接题目大意:给出你n个数,要求把这n个数排列成有序的(由小到大),每次可以交换两个数,花费是这两个数的和,现在求最小的花费置换群的入门求出每一个轮换的圈,对于每一个轮换中,只有在自身内交换就能完成有序,而不需要和其它轮换交叉。一个轮换的最小值temp,轮换中有num个数,轮换的总和是sum,整个序列的最小值min1让一个轮换花费最少有两种可能1、轮换自身原创 2015-07-24 21:43:11 · 1179 阅读 · 0 评论 -
poj3101--Astronomy(分数的最小公倍数)
题目链接:点击打开链接题目大意:有n个行星,给出每一个行星的旋转的周期,问最少多少时间后n个行星会在一条直线上,初始点在一起,不存在所有的行星都有同一个周期假设A行星的周期是t1,B行星的周期是t2(t2>t1),要在一条直线上,一定会运行的相差半个周期的倍数,时间(t/t2 - t/t1) % (1/2) = 0,也就是t*(t1-t2)/(t1*t2)%(1/2) = 0,要是时间最小原创 2015-08-17 19:52:18 · 749 阅读 · 0 评论 -
poj3150--Cellular Automaton(矩阵优化)
题目链接:点击打开链接题目大意:有n个数围成一个环,现在有一种变换,将所有距离第i(1一看到那么多数字同时变换,还要变换那么多次,首先想到了用矩阵相乘表示变换后的结果,然后用矩阵快速幂来快速计算,事实告诉我想简单了,,,(PS:一直到敲完才发现,数据太大,根本无法编译)。可以用一组样例解释怎么做:样例15 3 1 11 2 2 1 2给出了5个数。a[1 2 2 1原创 2015-08-05 14:57:19 · 1314 阅读 · 0 评论 -
poj3071--Football(概率计算)
题目链接:点击打开链接题目大意:给出2^n个队伍,采用淘汰制比赛,第1和第2比赛,第2和第三比赛,淘汰之后,仍然按顺序比赛,p[i][j]:第i支队伍赢第j支队伍的概率,问最终哪个队伍赢的概率最大。一共会比n场比赛,计算出每一个队伍赢得概率,找出最大值。第一场 1对2,3对4,,,,第二场1、2对3、4,5、6对7、8,,,,第三场1、2、3、4对5、6、7、8,,这样对于原创 2015-08-04 08:41:33 · 1146 阅读 · 0 评论 -
poj3440--Coin Toss(几何上的概率)
题目链接:点击打开链接题目大意:给出n*m个方格组成的矩形,每个方格的边长是t,有一个硬币,直径是c,随机抛到矩形上(圆心在矩形),有可能会出现图中的5中情况,也就是覆盖1、2、3、4个方格,问覆盖1、2、3、4个方格的概率是?首先考虑矩形的形状,分为(1,1)(1,n),(n,m)对于(1,1)只有覆盖1个,a1的概率是1,其他的是0对于(1,n)可能覆盖1、2个,分别考虑每种的原创 2015-08-04 09:50:10 · 1169 阅读 · 0 评论 -
poj1166--The Clocks(高斯消元)
题目链接:点击打开链接题目大意:给出9个时钟初始的时间,要求全部调到12点,有9中操作,问应该怎么操作。每种操作只能出现0次、1次、2次、3次,而时钟需要调的次数也是给定的,直接列方程组,高斯消元#include #include #include using namespace std ;char str[9][10] = { "ABDE","ABC","BCEF","ADG原创 2015-08-03 20:25:55 · 970 阅读 · 1 评论 -
poj1222--EXTENDED LIGHTS OUT(高斯消元)
题目链接:点击打开链接题目大意:给出5*6的矩阵,每个格子都是一个开关(开是1,关是0),每改变一个格子,格子自身和上下左右都会改变,问最终都要变成关,需要怎么操作。每个格子只能被操作0次,或1次,多了是没有意义的,所以按照每一个格子可以影响的位置列出方程组。高斯消元#include #include #include using namespace std ;int原创 2015-08-04 08:03:26 · 697 阅读 · 0 评论 -
poj2065--SETI(高斯消元)
题目链接:点击打开链接题目大意;给出定义f(k) = ∑(0f(1) = a0 * 1^0 + a1 * 1^1 + a2 * 1^2 ,,,,,,,a(n-1) * 1^nf(2) = a0 * 1^0 + a1 * 2^1 + a2 * 2^2 ,,,,,,,a(n-1) * 2^nf(3) = a0 * 3^0 + a1 * 3^1 + a2 * 3^2 ,,,,,,,a(n原创 2015-08-03 19:28:35 · 834 阅读 · 0 评论 -
poj1487--Single-Player Games(高斯消元)+测试数据
题目链接:点击打开链接题目大意:给出从根节点遍历到所有叶子节点,每个子节点对父节点来说概率相同,计算最终得到的结果的期望给出n个字符串,也就可以得到n个方程,用高斯消元解出结果,注意,可能存在不能被计算出来的值,要注意判断,判断方式,从1到n找到第一个Map[i][j]不为0的值,也就是当前方程要求的值,如果从j向后存在Map[i][k]不为0,并且ans[k]还没有被计算出来,那么这个a原创 2015-08-03 16:37:34 · 1050 阅读 · 0 评论 -
poj2947--Widget Factory(高斯消元)
题目链接:点击打开链接题目大意:有n种零件,已知每种零件的加工时间最少为3天最多为9天,现在只知道有m个工程用的时间和加工的零件数,问可不可以求出每种零件的加工时间。列出对7取余的m个方程,用高斯消元判断是否有解,并解出来。#include #include #include using namespace std ;#pragma comment(linker,"/STACK原创 2015-08-03 14:16:13 · 1650 阅读 · 0 评论 -
hdu5338(2015多校4)--ZZX and Permutations(置换群)
题目链接:点击打开链接题目大意:给出一个序列,分成若干个置换群,要求最终的序列的字典序最大。要求字典序最大,那么从1开始向后遍历,尽量放较大的数给出序列a1 a2 a3 ,,, ai an对于第i个数来说,可能有三种情况,第一种向前找能到达的序列的最大值ak,那么ak到ai就是一个轮换;第二种ai自身,或者是以ai结尾;第三种由i想后找,对于轮换来说,只能在i位置放ai+1,那原创 2015-07-30 21:11:39 · 1241 阅读 · 0 评论 -
zoj3690--Choosing number(dp,矩阵快速幂)
Choosing numberTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionThere are n people standing in a row. And There are m numbers, 1.2.原创 2015-01-17 16:23:07 · 682 阅读 · 0 评论 -
HDU2604-- Queuing(矩阵快速幂优化)
QueuingTime Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionQueues and Priority Queues are data structures which are known to most comp原创 2015-01-17 16:06:29 · 1222 阅读 · 0 评论 -
hdu3306--Another kind of Fibonacci(矩阵快速幂)
Another kind of FibonacciTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionAs we all known , the Fibonacci series : F(0) = 1, F(1)原创 2015-01-17 16:18:59 · 740 阅读 · 0 评论 -
hdu1573X问题(不互素的中国剩余定理)
X问题Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3295 Accepted Submission(s): 1068Problem Description求在小于等于N的正整数中有多少个X满足:X mod原创 2014-08-10 18:46:15 · 2131 阅读 · 0 评论 -
hdu4135--Co-prime(欧拉函数+容斥原理)
Co-primeTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusAppoint description: System Crawler (2015-01-07)DescriptionGiven a number N, y原创 2015-01-08 21:01:39 · 844 阅读 · 0 评论 -
hdu1695--GCD(欧拉函数+容斥原理)
GCDTime Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusAppoint description: System Crawler (2015-01-07)DescriptionGiven 5 integers: a, b,原创 2015-01-08 20:55:56 · 836 阅读 · 0 评论 -
组合数小知识
1.组合数 C(n,m) = C( (n-1),(m-1) ) + C( (n-1),m ) n个中选m个原创 2015-01-08 21:11:24 · 537 阅读 · 0 评论 -
sgu275--To xor or not to xor(高斯消元问题5,子序列异或的最大和)
275. To xor or not to xortime limit per test: 0.25 sec. memory limit per test: 65536 KBinput: standard output: standard The sequence of non-negative integers A1, A2, ..., AN is giv原创 2015-01-26 19:54:07 · 1970 阅读 · 0 评论 -
poj1681--Painter's Problem(高斯消元问题4)
Painter's ProblemTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit Status DescriptionThere is a square wall which is made of n*n small square b原创 2015-01-26 16:11:07 · 720 阅读 · 0 评论 -
hdu1796--How many integers can you find(容斥原理)
How many integers can you findTime Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusAppoint description: System Crawler (2015-01-07)Description原创 2015-01-08 20:48:24 · 575 阅读 · 0 评论