文章分类 - 资料
[ 模运算 ] 与 [ 模取幂运算 ] 大数
摘要:分类: 1.1 C/C++ 2009-07-29 16:24 902人阅读 评论(0) 收藏 举报 很多地方用到模运算,这里说明模运算的一些规律,并加以证明。 后续会对这些理论实际的应用加以记录和说明。1. 模运算是取余运算(记做 % 或者 mod),具有周期性的特点。 m%n的意思是n除m后的余数, 当m递增时m%n呈现周期性特点, 并且n越大,周期越长,周期等于n。 例如 0 % 20 = 0,1 % 20 = 1, 2 % 20 = 2, 3 % 20 = 3, ..., 19 % 20 = 19 20 % 20 = 0,21 % 20 = 1,22...
阅读全文
搜索和动态规划的一些简单分析
摘要:(发表时间: 2007-3-14 19:12:00)【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/cruxd/23967.html 复制链接分享到: 0 tieren同学提问,“深搜和动态规划有什么区别与联系呢”,留言板上写不下,把题目扩充一下,写到这里来。 在我看来,广搜和动态规划更像些:两者都是从上往下计算,在程序中都可以从前到后分出很明显的层次。广搜采用的是队列,后进前出,队列中每一个元素需要记录下他的层次;而动归中一个状态就是一个层次。而深搜是先按第一种算法(如,搜索第一个元素)从第一层计算到最后一层,(一般而言是算那些是否有解...
阅读全文
深搜 入门
摘要:深搜(入门篇)分类: 回溯 2011-02-17 10:15 400人阅读 评论(0) 收藏 举报学习深搜有一些时间了,个人感觉深搜满足一定的形式:[cpp] view plaincopyvoid dfs (int a,……) //参数个数不确定 { if (……) //边界条件 { …… } else { dfs(a+1,……); } } 若是再具体一些的话:[cpp] view plaincopyvoid dfs (int a,……) ...
阅读全文
二维数组动态分配内存
摘要:C 二维数组动态分配和释放(1)已知第二维Code-1char (*a)[N];//指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m);printf("%d\n", sizeof(a));//4,指针printf("%d\n", sizeof(a[0]));//N,一维数组free(a); (2)已知第一维Code-2char* a[M];//指针的数组int i;for(i=0; i<M; i++)a[i] = (char *)malloc(sizeof(char) * n);printf(&qu
阅读全文
VC6.0调试大全
摘要:VC6.0调试大全VC调试方法大全一、调试基础调试快捷键F5:开始调试Shift+F5:停止调试F10:调试到下一句,这里是单步跟踪F11:调试到下一句,跟进函数内部Shift+F11:从当前函数中跳出Ctrl+F10:调试到光标所在位置F9:设置(取消)断点Alt+F9:高级断点设置跟踪调试1、尽量使用快捷键时行调试2、观察调试信息3、高级中断设置异常调试重试->取消->调试函数堆栈,用variables或者callstack窗口Release调试1、经常测试你的Debug和Release版本2、不要移除调试代码,如用ASSERT,TRACE等。3、初始化变量,特别是全局变量,m
阅读全文
string 函数
摘要:C++中string的成员函数string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &ope
阅读全文
浙公网安备 33010602011771号