07 2017 档案

摘要:最近一周多没写过博客了,因为我自我反省了下,发现自己基础不扎实,所以就买了本算法竞赛基础入门的书看,今天看到一道开灯题目觉得不错 写出来分享下。 有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将 阅读全文
posted @ 2017-07-29 19:25 糖小俊 阅读(157) 评论(0) 推荐(0)
摘要:map映照容的元素数据是由一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系。 map映照容器的数据结构也是采用红黑树来实现的,插入元素的键值不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来。由于map与set采用的都是红黑树的数据结构,所以,用法基本相似 阅读全文
posted @ 2017-07-08 15:30 糖小俊 阅读(180) 评论(0) 推荐(0)
摘要:有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b。若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c。 Input第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b。 Output输出对应的c,每组测试数据占一行。 Sample Input Sa 阅读全文
posted @ 2017-07-07 21:16 糖小俊 阅读(206) 评论(0) 推荐(0)
摘要:You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. The 阅读全文
posted @ 2017-07-07 21:08 糖小俊 阅读(310) 评论(0) 推荐(0)
摘要:set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放在适当的位置,以确保每个字数根节点的键值大于左子树所有节点 的键值,而小于右子树所有节点的键值;另外,还得确保根节点左子树的高度与右子树的高度相等,这样,二叉树的高 阅读全文
posted @ 2017-07-06 21:50 糖小俊 阅读(163) 评论(0) 推荐(0)
摘要:通俗解释: ToString()函数能用来完成数值型数据向字符串类型的转换 而Convert.ToString()则是强制转换,无论数据是什么样类型的都可以通过使用这个方法将其转换成字符串类型的。 Convert类提供了将一个基础数据类型转换成另一个基础数据类型的方法。tostring也可来完成字符 阅读全文
posted @ 2017-07-06 16:06 糖小俊 阅读(861) 评论(0) 推荐(0)
摘要:今天学了关于string的一些基本字符容器,下面我就摘要几种。 一.用reverse反向排序string对象(要用#include<algorithm>头文件) 二.string对象作为vector元素(类似于字符串数组) 运行结果 三.string类型的数字化处理 运行结果 四.string对象与 阅读全文
posted @ 2017-07-06 16:01 糖小俊 阅读(124) 评论(0) 推荐(0)
摘要:辗转相除法(欧几里得算法)是求最大公约数的算法,首先用较大的数除以较小的数,求得商与余数,把余数作为除数,即用原来的除数除以余数,求得商与余数。以此类推,直到余数为零时,除数即为原来两数的最大公约数。 一.递归算法 二.循环版本 阅读全文
posted @ 2017-07-04 22:47 糖小俊 阅读(231) 评论(0) 推荐(0)
摘要:小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到以这个字符串开头的所有单词呢?” 身经百战 阅读全文
posted @ 2017-07-04 22:41 糖小俊 阅读(135) 评论(0) 推荐(0)
摘要:字典树可以用来快速查找字符串前缀 a.b.e.h汇聚于一点,该点为根节点。从根节点开始,每遇到一个红点就可以组成一个单词(相当于红点被标记)。 节点的建立: 插入 删除:很多题目有很多组数据,如果不删除释放空间的话,很容易导致Memory Limit Exceeded(内存超限) 查找 阅读全文
posted @ 2017-07-04 17:29 糖小俊 阅读(112) 评论(0) 推荐(0)
摘要:求两数的最大公约数,可采用欧几里得的方法:只要两数不相等,就反复用大数减小数,直到相等为止,此相等的数就是两数的最大公约数。 方法一: 方法二: 1 #include<bits/stdc++.h>//表示包括编程中经常用到的头文件(有c和c++) 2 using namespace std; 3 t 阅读全文
posted @ 2017-07-03 17:28 糖小俊 阅读(301) 评论(0) 推荐(0)
摘要:以前求0~n之内的素数是一个一个的判断,时间复杂度是O(n^2),速度很慢。 而今天讲的这种方法速度快多了,时间复杂度是nlong(n),模板如下: 1 a[0] = a[1] = 1;//把不是素数的数看成1,把素数看成0,0和1不是素数 2 for(int i = 2; i <= MAXN; i 阅读全文
posted @ 2017-07-02 08:41 糖小俊 阅读(145) 评论(0) 推荐(0)