- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 Ugly Numbers
Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... shows the first 11 ugly numbers. By convention, 1 is included. Writ
2013-07-31 10:48:39 2146
转载 数独求解(Sudoku) C++版
今天翻手机里的游戏时,找到了以前经常玩的九宫格,也就是数独。拼出一个20个已知数字的数独后,我又想写代码解数独了...思路比较清晰,依旧是DFS,感觉应该不难写。花了2个小时搞定代码,用手机里的数独游戏测试了几次,全部通过...意外发现PKU 2676就是数独求解,用我写的代码交了2次全是TLE...看了Discuss以后得知要AC必须从后面开始搜...囧,数据问题,数据问题...恩,
2013-07-31 08:36:08 1509
转载 C程序实践 哈夫曼(Huffman)树代码
/*Slyar2009.10.29*/ #include #include #include #define N 255#define M 2*N - 1 /* 运行成功标记 */int ok = 0; /* 保存原文件名 */char file[20] = {}; /* 哈夫曼树节点类型 */typedef struct{ int data; /
2013-07-31 08:30:54 770
转载 使用STL的next_permutation函数生成全排列(C++)
文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。 下午研究了一下全排列算法,然后发现C++的STL有一个函数可以方便地生成全排列,这就是next_permutation在C++ Reference中查看了一下next_permutation的函数声明:#include bool next_permutation
2013-07-31 08:23:17 764 1
转载 位运算应用口诀和实例
位运算应用口诀和实例 位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算
2013-07-30 14:17:36 424
转载 POJ题目分类
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:
2013-07-29 20:36:42 581
原创 标准C++中的string类的用法总结
要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstri
2013-07-29 20:29:21 414
转载 训练计划
初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法
2013-07-29 20:23:35 509
原创 STL容器学习总结
借用别人的东西,也是一种积累~~~ 本文主要讨论C++标准库中的顺序容器及相应的容器适配器,这些内容主要涉及顺序容器类型:vector、list、deque,顺序容器适配器类型:stack、queue、priority_queue。 标准库中的容器分为顺序容器和关联容器。顺序容器(sequential container)内的元素按其位置存储和访问,顾名思义,这些内部元素是顺
2013-07-29 19:35:05 434
原创 浅谈C++多态性
大神的东西,借过来一用~~~~ C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是
2013-07-29 19:31:23 405
原创 约瑟夫环的数学优化方法
约瑟夫问题,在数据结构课上老师讲过用链表解决,但是代码很长很繁琐,又是结构体又是指针的,无力吐槽……其实这个问题可以用数学手段优化~下边是某位大牛的数学优化方法,值得一看~~~~首先,约瑟夫环的数学优化方法为: 为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利
2013-07-29 19:04:58 703
原创 STL源码剖析---STL容器特征总结(含迭代器失效)
转载别人的,很有价值~~~~查看原网页点击此处Vector1、内部数据结构:连续存储,例如数组。2、随机访问每个元素,所需要的时间为常量。3、在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。4、可动态增加或减少元素,内存管理自动完成,但程序员可以使用reserve()成员函数来管理内存。5、迭代器失效插入:vect
2013-07-29 18:47:13 490
原创 STL源码剖析---deque
值得一看!查看原网页点击这里 一、deque的中控器 deque是连续空间(至少逻辑上看来如此),连续线性空间总令我们联想到array或vector。array无法成长,vector虽可成长,却只能向尾端成长,而且其所谓的成长原是个假象,事实上是(1)另觅更大空间;(2)将原数据复制过去;(3)释放原空间三部曲。如果不是vector每次配置新空间时都有留下一些余裕,其成长
2013-07-29 18:39:43 617
原创 STL源码剖析---list
灰常给力的STL源码剖析~查看原网页点击这里 相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。 list不仅是一个双向链表,而且还是一个环状双向链表。另外,还有一个重要性质,插入操作和接
2013-07-29 18:35:25 552
原创 STL源码剖析---vector
某位大牛写的,很有学习价值~原址vector容器概述 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统。vector是动态空间,随着元素的加入,它的内
2013-07-29 18:13:51 425
转载 C++_引用类型
引用(reference)有时候也称作别名(alias),它可以用作对象的另一个名字。通过引用我们可以间接地操纵对象,使用方式类似于指针,但是不需要指针的语法。 在实际程序中,引用主要被用作函数的形式参数--通常将类对象传递给一个函数。 引用必须被初始化。 语法:int ival = 1024;// ok: refVal 是一个指向ival的引用int &refV
2013-07-28 09:47:59 511
转载 C++_const限定修饰符
常量==================================为了防止程序员因不小心的错误而修改掉某个变量的值,我们可以给这类型的变量加上const限定修饰符。 它把一个对象转换成了一个常量(constant)。这样在程序中任何改变这个值的企图都将导致编译错误。因此它被称为是只读的。语法:const int bufSize = 512;常量必须初始化: 因
2013-07-28 09:46:21 416
转载 C++_字符串类型
C++提供了两种字符串的表示。C风格字符串=============================字符串被存储在一个字符数组中,一般通过一个char*类型的指针来操纵它。所以一般看到一个char*类型的指针,那就是C风格的字符串。该char*类型的指针指向的就是是该字符数组的第一个元素。如const char *st = "The expense of spiri
2013-07-28 09:45:19 476
转载 C++_标准数组-向量
vector是向量类型,它是一种对象实体,具有值,所以可以看作是变量。 它可以容纳许多其他类型的相同实体,如若干个整数,所以称其为容器。 vector类与一般的Array类的区别在于: 1. vector支持“向现有的数组元素赋值”的概念以及“插入额外元素”的概念--即vector数组可以在运行时动态增长。 2. 代表了更加广泛的应用。它只提供了最小集的操作(如等于、小于操作符
2013-07-28 09:33:42 1039
转载 TSP 路径构造算法
TSP 路径构造算法(tour construction algorithm)[email protected]前言:Tsp是经典的NP问题之一,其现实意义也是不言而喻的。该问题的研究很有些年头了,现在多集中于新型智能算法,如模拟退火,禁忌搜索,蚁群算法,粒子群算法,遗传算法等。这些算法虽很有效,但使用良好的初始解得时候,效果会更优。本文系统介绍并详细讲解了前辈们的关于构建优良TSP路
2013-07-27 08:07:05 3454 1
原创 zoj 3323 Somali Pirates
#include#include#include#includeusing namespace std;int main(){ int ncases; char ch; cin>>ncases; getchar(); //一个字符一个字符判断 while(ncases--) { ch=getchar();
2013-07-26 16:18:20 585
转载 ZOJ 1242
Carbon DatingTime Limit:2 Seconds Memory Limit: 65536 KBUntil the second half of the 20th century, determining the actual age of an archaeological find had been more or less a matter of
2013-07-26 15:13:34 486
原创 HDU 1047 Integer Inquiry(高精度加法)
HDU 1047 Integer Inquiry(高精度加法)Integer InquiryTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6755 Accepted Submission(s): 1723
2013-07-25 19:12:02 498
原创 STL sort源码剖析
STL sort源码剖析STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort。如果递归层次过深,还会改用Heap Sort。本文先分别介绍这个三个Sort,再整合分析STL sort算法(以上三种算法的综合) --Introspect
2013-07-14 21:31:04 550
原创 三十分钟掌握STL
三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:[email protected]概述STL的一个重要特点是数据结构和算法的分离。尽
2013-07-14 21:24:42 419
原创 #include<algorithm>里的函数
#include里的函数#include 非修改性序列操作(12个) 循环对序列中的每个元素执行某操作for_each() 查找在序列中找出某个值的第一次出现的位置find() 在序列中找出符合某谓词的第一个元素find_if() 在序列中
2013-07-14 21:17:02 416
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人