自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 扩展欧几里德算法

在学习扩展欧几里德算法之前,先来回顾一下欧几里德算法。欧几里德算法又称辗转相除法,它是用来求两个数的最大公约数其依赖于一个定理:gcd(a,b) = gcd(b,a%b);欧几里德算法:void gcd(int a,int b){ return b?gcd(b,a%b):a;}扩展欧几里德算法是用来在已知a,b求解一组x,y使得a*x+b*y=gcd(a,b)(根据数论中不定方程解

2014-12-13 12:21:07 374

转载 母函数详解

母函数(Generating function)详解在数学中,某个序列的母函数是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。母函数可分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数。对每个序列都可以写出以上每个类型的一个母函数。构造母函数的目的一般是为了解决某个特定的问题,因此选用何种母函数视乎序列本身

2014-12-12 10:48:46 477

原创 HDU—— 1028

题意:将一个整数分解成几个整数相加的形式,有多少种分解方法。解题思路:母函数(模板直接套用)。不理解母函数的请查阅相关资料。Code:#include using namespace std;const int len = 1e4+5;int C1[len],C2[len];int main(){ int N; while(cin>>N) {

2014-12-12 10:07:08 451

转载 DP大全

动态规划动态规划 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740, 1742, 1887, 1926, 1936, 1952, 1953, 195

2014-12-11 20:46:09 618

转载 HDU—— 2057 A + B Again

题意:对十六进制进行加减运算。解题思路:看了网上的才知道c语言当中专门有十六进制八进制等的输入方式,无语了,起初自己写了一个WA,仔细检查后发现十六进制的长度不超过15位,int不行了,因为我用了pow(),所以想不出其他的了,看来还是要多看多练啊!Code:#include #include using namespace std;typedef long long LL;in

2014-12-11 09:39:09 509

转载 C语言中%d,%o,%f,%e,%x的意义

格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。 格式字符有d,o,x,u,c,s,f,e,g等。 如%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,大于9的数用小写字母表示;用%X时,大于9的数用大写字母表示%

2014-12-11 09:30:43 4424

原创 HDU—— 2078 复习时间

题意:中文题目,自行理解。解题思路:将难度系数用数组接收下来后排序,然后从小到大按题意要求计算效率,除第一门课外,其余课都是与相邻前一项作差然后平方,输出最大的一个。Code:#include #include #include using namespace std;int main(){ //freopen("input.txt","r",stdin); i

2014-12-08 22:16:07 590

原创 HDU——2061 Treasure the new start, freshmen!

题意:输入N代表示例个数,K代表课程数,然后输入课程名、Credit、Score,GPA = (C1 * S1 + C2 * S2 +……+Ci * Si……) / (C1 + C2 + ……+ Ci……) (1 <= i <= K, Ci != 0)根据公式计算GPA,如果 0 Code:#include #include using namespace std;int main

2014-12-08 20:02:36 1304

原创 HDU—— 2060 Snooker

题意:斯诺克,规则为15个红球6个有色球,每个红球分值为1,其余有色球分值分别为:yellow(2), green(3), brown(4), blue(5), pink(6), black(7)规则为每打一个红球后需要打一个有色球,打进洞即可得分,当桌子上红球没有完全进洞前,每次在打进红球打进有色球之后需要经有色球拿出,直到红球全部进洞之后才不用讲有色球拿出,当桌子上没有红球之后,接着就将所

2014-12-08 16:39:49 986

转载 HDU——2058 The sum problem

题意:给定整数N和整数M,求在1~N之间和等于M的子序列,然后输出此区间左右边界。解题思路:起初准备开数组打表,可数据太大,然后就没思路了,于是就上网搜一下绝大多数用的都是等差数列,即设以a为起始点的区间且长度为len,该区间可写成a+1,a+2,.....a+len,然后利用等差数列的求和公式计算:M = (a +1+ a + len ) * len / 2,得出a = M/len -

2014-12-08 15:24:50 484

原创 HDU—— 2673 shǎ崽 OrOrOrOrz

题意:给一组数据,将数据排序后按第一大第一小,第二大第二小,第三大第三小等的顺序输出。解题思路:用数组接收排序后,要考虑N的奇偶,详见代码:Code:#include #include #include using namespace std;const int MAX = 1e4+10;int array[MAX];int main(){ int N; w

2014-12-08 12:25:36 361

原创 HDU—— 2050 折线分割平面

题意:中文题目,自行理解。解题思路:首先从最简单的直线开始1、N条直线平分平面:第N条直线与前N-1条直线有N-1个交点,而每增加N个交点对应的就增加N+1个平面,所以f[n] = n*(n+1)/2+1;2、N对平行线相交当把直线改成平行线后,第N对平行线时,前面有2*(n-1)条直线,第2N-1条直线与前面的直线交点为2*(n-1),增加的平面数为2*(n-1)+1,所

2014-12-07 21:26:39 337

原创 HDU—— 5138 CET-6 test

题意:给你一个整数N,然后分别减去1,2,4,7,15(相减时N必须大于减数)然后按递增序列输出。解题思路:简单暴力。Code:#include #include using namespace std;int main(){ int N; while(~scanf("%d",&N)) { int a,b,c,d,e; if

2014-12-07 09:42:12 434

原创 HDU—— 2088 Box of Bricks

题意:Bob有一些砖,他用来摆成N个栈,每个栈的高度不一样,现在他需要将这些栈的高度变成一样,求他最少的移动次数。解题思路:求出平均值,然后将那些高出平均值的栈高度与平均值作差,将所有差相加既得结果,本题有个非常坑的地方就是第一次输出前不加回车,之后每次的输出前都要加回车,因为这个PE了好几次,无语了。详见代码。Code:#include #include #include usin

2014-12-05 20:39:34 785

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除