随笔分类 - 数学
摘要:题意:生日Party结束的那天晚上,剩下了一些糖果,Gandon想把所有的都统统拿走,Speakless于是说:“可以是可以,不过我们来玩24点,你不是已经拿到了一些糖果了吗?这样,如果谁赢一局,就拿走对方一颗糖,直到拿完对方所有的糖为止。”如果谁能算出来而对方算不出来,谁就赢,但是如果双方都能算出或者都不能,就算平局,不会有任何糖果的得失。Speakless是个喜欢提前想问题的人,既然他发起了这场糖果大战,就自然很想赢啦(不然可就要精光了-_-)。现在他需要你的帮忙,给你他每局赢的概率和Gardon每局赢的概率,请你给出他可能获得这场大战胜利的概率。分析:Markov过程(马尔科夫过程)。f
阅读全文
摘要:题意: Zty很痴迷数学问题.。一天,yifenfei出了个数学题想难倒他,让他回答1 / n。但Zty却回答不了^_^. 请大家编程帮助他.输出1/n. (是循环小数的,只输出第一个循环节).分析: 找循环节的时候看看是否出现了相同的被除数即可。#include <stdio.h>#include <string.h>#define maxn 100010#define clr(x) memset(x,0,sizeof(x))int res[maxn];int vis[maxn];int main(){ int top, i; int k, t, n; scanf(&
阅读全文
摘要:题意:输入两个非负整数a, b,找到非负的整数 X, Y使其满足 X*a + Y*b = 1.#include <stdio.h>#include <string.h>void extend_gcd(int a, int b, int& d, int& x, int& y){ if(!b) { d = a; x = 1; y = 0; } else { extend_gcd(b, a%b, d, y, x); y -= x*(a/b); }}int main(){ int a, b...
阅读全文
摘要:题意: 求出 n 以内的最大反素数。分析: 如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数. 求[1..N]中最大的反素数–>求约数最多的数 如果求约数的个数 756=2^2*3^3*7^1 (2+1)*(3+1)*(1+1)=24 基于上述结论,给出算法: 按照质因数大小递增顺序搜索每一个质因子,枚举每一个质因子 剪枝: 性质一: 一个反素数的质因子必然是从2开始连续的质数. 因为最多只需要10个素数构造:2,3,5,7,11,13,17,19,23,29 性质二:p=2^t1*3^t2*5^t3*7^t4…..必然t1>
阅读全文
摘要:题意: 有n 个数从1 到 n 有序排好,对应两种操作: 1 x y p 找出区间【x,y】内与p互质的数的和 2 x c 将第x位置的数变成 c分析: 由于修改的次数比较少,可以先计算出没有修改时候指定区间内与p 互质的数的和,再去根据替换的数去修改, 找出连续数字区间内与p 互质数的和可以先将p分解质因数,然后用容斥原理快速的计算出区间满足条件的数的 和即可。#include<stdio.h>#include<string.h>#define clr(x)memset(x,0,sizeof(x))#define maxn 400005bool v[maxn];int
阅读全文
摘要:题意: 已知K,找出 满足等式 X^Z + Y^Z + XYZ = K 的X,Y,Z组合数。分析:固定X,Z,二分枚举Y。#include<stdio.h>#include<string.h>#include<math.h>#define clr(x)memset(x,0,sizeof(x))long long x[50000];int main(){ long long top,i,k,z; while(scanf("%I64d",&k),k) { top=0; clr(x); for(i=1;i*i<=k;i++) ..
阅读全文
摘要:题意: 给出一个A~Z的置换,问是否可以被表示为一个置换的平方(即G=G'*G')结论: 通过观察可以发现: 一个置换乘上它本身,其中长度为偶数的循环节必然会分裂为两个长度相等的循环节,长度为奇数的循环节还是一个循环节,长度不变 ○ 置换中长度为偶数的循环节必然是原置换中的循环节分裂出来的○ 长度为奇数的循环节有可能是原置换中的循环节分裂出来的 因为只要判断能否被表示,所以可以忽略长度为奇数的循环节,只对长度为偶数的循环节进行考虑即可。 因为一个长度为偶数的循环节分裂出来的两个循环节的长度相等且同为原循环节长度的一半, 所以,只要给出置换中所包含的长度为偶数的循环节能一一配对,
阅读全文
摘要:题意:给你一个运动员的起始分数,分数为N,你需要计算出有多少种投掷飞镖的方式能够把分数降到0.不同的方式意味着:两两方式之间至少有一种方式的某个步骤和另一个不同,如果两个方式可以通过改变其中某种方式相应步骤的顺序来使其和另一个方式相同的话,这两种方式算作一种。分析:比较明显的母函数,只不过有个地方需要注意,就是要开两个数组来维护总的情况数,即 先求出不包含X2 的情况的组合数,然后用滚动数组c1 c2来存放至少含有一个X2的情况数,也就是 C数组里面存的都是符合条件的情况,c[j+step]+={ c[j] 里面的每种情况都符合要求 { tmp[j] 里面的每种情况都不符...
阅读全文
摘要:题意: 让你找出1 到 n 之间所有可以构成 x^2 +y^2 =z^2 的个数,且 x,y,z互质。分析:数论中有本原勾股数组的公式x=2*s*t,y=s*s-t*t,z=s*s+t*t;其中s>t>=1而且gcd(s,t)==1View Code #include<stdio.h>#include<string.h>#include<math.h>int gcd(int y,int x){ return x==0?y:gcd(x,y%x);}int v[1000001];int main(){ int n,x,y,z,t1,t2,i,j,k;
阅读全文
摘要:DescriptionSuppose there is a tree named A. All nodes of A have a weight v(0<v<4000000).Now, we will give the definition of "Prime Node".A node is a Prime Node if the following conditions are satisfied.The subtree of A whose root node is b will be marked as B. If all nodes in B have
阅读全文
摘要:DescriptionUnit Fraction is a special fraction.For example,1/2 , 1/3 and so on are Unit Fractions, as their numerator is 1 and denominator is the positive integer greater than 1.The ancient Greeks worship this type fraction.They think that everything in the world can be measured by the Unit Fraction
阅读全文
摘要:Input输入数据首先包含一个正整数N,表示测试实例的个数,然后是N行数据,每行包括三个正整数A,B,C。Output对每个测试实例请输出计算后的结果,每个实例的输出占一行。Sample Input3 2 3 4 3 3 5 4 4 6Sample Output0 2 4code:View Code #include<stdio.h>int mod;int fu(long long a,long long b){ long long ans=1,m=a; while(b) { if(b&1) ans=(ans*m)%mod; ...
阅读全文
摘要:Problem Description假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值<=50的单词呢?单词的价值就是组成一个单词的所有字母的价值之和,比如,单词ACM的价值是1+3+14=18,单词HDU的价值是8+4+21=33。(组成的单词与排列顺序无关,比如ACM与CMA认为是同一个单词)。Input输入首先是一个整数N,代表测试实例的个数。然后包括N行数据,每行包括26个<=20的整数x1,x2,.....x26.Output对于每个测试实例,
阅读全文
摘要:Problem Description2007年到来了。经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部给背了下来。接下来,CodeStar决定要考考他,于是每问他一个数字,他就要把答案说出来,不过有的数字太长了。所以规定超过4位的只要说出前4位就可以了,可是CodeStar自己又记不住。于是他决定编写一个程序来测验zouyu说的是否正确。Input输入若干数字n(0 <= n <= 100000000),每个数字一行。读到文件尾。Out
阅读全文
摘要:Problem Description妈妈你别哭泪光照亮不了我们的路让我们自己慢慢的走妈妈我会记住你和爸爸的模样记住我们的约定来生一起走上面这首诗节选自一位诗人纪念遇难同胞的作品,并没有华丽的语言,但是每位读者都应该能感受到作品传达的浓浓爱意,也许还有丝丝无奈。确实,太多的关于孩子不幸的报道冲击着我们每一颗柔弱的心。正如温家宝总理所说“多难兴邦”,这场灾难让我们很多80后的年轻人一下子成熟了起来,其中很多人以自愿者的身份走上了抗震救灾的第一线。今天,灾区又来了n位志愿者,抗震救灾指挥部需要将他们分为若干个小组,小组的数量不限,但是要求每个小组的人数必须为素数,请问我们有几种分组的方法呢?特别说
阅读全文
摘要:Description将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。Input有多则测试数据。对于每组测试数据,仅有一行,包括两个整数n,k (6<n<=200,2<=k<=6)。Output对于每组测试数据,输出一个整数,即不同的分法。Sample Input7 3Sample Output4Hint输入: 7 3输出:4 {四种分法为:1,1,5; 1,2,4; 1,3,3; 2,2,3;}分析:此题和母函数①的不同之处在于划分数目是固
阅读全文
摘要:Problem Description开学了,杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法?Input数据的第一行包括一个正整数T,接下来有T组数据,每组数据占一行。每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)Output每组数据输出一个整数,每个输出占一行Sample Input53 25 34 43 68 0Sample Output310101方法一: 为防止溢出,可以采用乘一个除一个的方法。View Code #
阅读全文
摘要:Problem DescriptionTo improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) cows with a distinct serial number in the range 1..20,000. Unfortunately, he is unaware that the cows interpret some serial numbers as better than others. In particular, a cow whose s
阅读全文
摘要:Problem DescriptionIn many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are given a number, you have to determine the number of digits in the factorial of the number.InputInput c
阅读全文
摘要:DescriptionIn 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture:Every even number greater than 4 can bewritten as the sum of two odd prime numbers.For example:8 = 3 + 5. Both 3 and 5 are odd prime numbers.20 = 3 + 17 =
阅读全文


浙公网安备 33010602011771号