- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 5.1.5(大数阶乘)
诶呀呀,,其实很久以前就是看过别人写的大数阶乘了的,,但是,今天写起来还是想了半天还是没有写出来呀看了看书,才豁然开朗..诶哟哟,这次一定要掌握了,这都多长时间了 如果还是没有掌握的话,那真的就是自己没有用心学..呜呜贴出代码:#include #include #include #include using namespace std;const int maxn =
2013-01-29 10:36:07 567
转载 5.1.4小学生算术
这个其实就是一个简单的大数相加问题,以前也写过,不过现在我还是写出来了,嘿嘿.还是不错的 就是不知道 写的完善不完善,因为也没有什么可以让我提交的网站,悲催哈..贴出代码:#include #include #include #include using namespace std;int main(){ char s1[22], s2[22]; s1[0] =
2013-01-29 09:47:16 595
原创 5.1.2-Tex括号
这道题目还是不错的,最起码提供了一种关于解决括号的问题,那就是设置一个标志变量可以解决了,那种隔着一些东西,但是又交替变化的情况.贴出代码:#include #include #include #include using namespace std;int main(){ char c; int q = 1; //设计一个标志变量, 因为就有两种情况, //而
2013-01-28 12:09:48 869 1
原创 5.1.1-Wertyu
这里主要设计的难点就是使用常量数组 *s其实还是比较好理解的,先找到这个字符,然后再输出这个字符前面的字符,这个思想就类似于筛选法的那样,先把答案的所有可能都列出来,然后再选取你需要的答案,这样就省去了你以后的工作量了.贴出代码:#include #include #include using namespace std;int main(){ char c;
2013-01-28 11:55:58 726
原创 POJ-1328(贪心算法)
晕死了,就是过不了,换了中思想还是过不了,,不清楚是怎么回事,寒假刷题还是不怎么样呀,没什么紧张感,但是我会坚持的.#include #include #include #include #include #include using namespace std;struct Point{ int x; int y; bool operator < (Point
2013-01-21 20:25:24 830
原创 数学初步之素因数分解(快速)
上次写了一次,有次选拔赛,自己还是没有写出来,后悔死了,现在又重新巩固了一遍,明天继续巩固一下,一定要记住,像这些经常用的算法,唯一的办法就是多运用了.多做题目就能记得更清楚;贴出代码:/*素因数分解继续写*/#include #include #include #include #include using namespace std;int mai
2013-01-10 22:35:27 1040
原创 数论初步之快速幂取模
快速幂的写法完全是我自己完成的哦,你们不要跟我强功,呵呵,其实是自己找不到,呵呵;没事自己写的感觉还不错呢.快速幂取模就是用到了线性取模,呵呵.很简单的,.现在贴出我的代码:/* *输入正整数a,n和m,输出a^n % m 的值,a,n,m <= 10^9; *这是一个幂取模的题目 *下面的就是一个比较朴素的算法了,时间复杂度是O(n); */ #include
2013-01-05 22:49:06 817
原创 数论初步之大整数取模(同余取模)
首先应该是把整数写成"自左向右"的形式,例如 123 = (1 * 10 + 2) * 10 + 3;有了这个就很容易看出 123 % m = (1 * 10 + 2) * 10 + 3 % m;这样就可以一步一步的取模了贴出代码:/* *大整数的取模取模 *运用到的是同于取模 *如果有需要改正的 *请指出,呵呵 *题目描述:输入正整数,n和m,输出n % m的值,
2013-01-05 22:08:14 2115
原创 HDU-2669(数论初步之扩展欧几里德)
晕死,原来HDU上面是不支持long long的,诶,,,郁闷死了,以后还是用_int64吧.真的不知道该肿么办了, 应该是_int64 都能用吧?这是个很裸的扩展gcd不想说了呵呵贴出代码:/**如此赤裸的扩展gcd*我都不好意思了*/ #include #include #include #include using namespace std;int
2013-01-05 21:11:52 900
原创 数论初步之扩展欧几里德
扩展欧几里德算法主要是用来解决二元线性方程的整数解的问题,,运用到的主要是gcd的一些性质,把ax + by = n; 先利用:如果n % gcd(a, b) == 0 则存在着整数解,并且是无数组;否则,不成立,不存在着任何一组整数解使得成立,然后再进行一定的转换就可以 利用 扩展gcd了还是没有弄清楚他的运作步骤,但是还是把代码给记下来了,,一会在细细的研究一下下,用扩
2013-01-05 18:15:46 542
原创 数论初步之欧几里德
这里一定要注意,还有一种情况,当然这中情况以前没有接触到,就是任何数和0的最大公约数,应该是那个数本身的,原因就是,0除以任何数都可以整除.任何一个数都是零的约数,张见识了,原来gcd应该是那样写的忘了还是要再加一个点就是gcd的时间复杂度O(ln n^3 );看下面的代码:#include #include #include #include using n
2013-01-04 22:34:08 660
原创 数论初步之欧几里德算法
欧几里德算法,也就是那个辗转相除法求最大公约数,最小公倍数的算法,就是要注意求最小公倍数的时候一定要先乘后除!#include #include #include #include using namespace std;/*辗转相除法-即欧几里德算法*/ int gcd(int a, int b){ return a % b == 0 ? b : gcd(b,
2013-01-04 22:21:15 549
原创 HDU-1166(树状数组写法)
晕死,这也太坑爹了吧,,居然用cin会超时,这以后还让人怎么办呀,,我都快崩溃了,,为什么会出现这种情况呢? 那岂不是,c++的方便也不是那么狠明显了么? 因为你的方便都体现在了耗费时间上,那怎么能行!!!贴出代码:#include #include #include using namespace std;int a[50010];int Lowbit(int i
2013-01-02 09:52:51 478
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人