
Simple Example
文章平均质量分 76
HelloWorldOnly
这个作者很懒,什么都没留下…
展开
-
Num 23 : HDOJ : 2199 Can you solve this equation? + HDOJ : 1969 Pie [ 二分法 ]
在处理计算数学上某函数零点的时候,我们通常是这样做的: 1. 先判断这个零点在某个单调区间 [ a,b ]上( 假设为递增区间 ); 2. 之后判断 f(x) 在 (a+b)/2 [ a,b中点处 ]是否为零; 3. 若中点处大于零,b=( a+b )/2 ;否则,同理,a=( a+b )/2 ; 4. 重复2.3.过程,直到原创 2015-08-07 15:33:56 · 894 阅读 · 0 评论 -
Num 36 : ZOJ 2100 [ 深度优先搜索算法 ] [ 回溯 ]
该题是用回溯法来解决的题:题目:SeedingTime Limit: 2 Seconds Memory Limit: 65536 KB It is spring time and farmers have to plant seeds in the field. Tom has a nice field,which is a rectangle wit原创 2015-08-14 14:32:00 · 1091 阅读 · 0 评论 -
Num 8 : 一年之中的第几天的问题( 闰年 )
问题如题; 刚一开始的时候想到的就是用 switch 函数,从一月开始,到十二月; 写完代码,发现计算量不小,需要计算每一种情况下的天数,而且还需要分闰年的情况,break 函数也是写到手疼; 一开始的代码:#include #include int main(){ int y,m,d,days,flag; flag=0;原创 2015-07-23 16:58:31 · 615 阅读 · 0 评论 -
Num 11 : HDOJ: 题目1002 : A+B ( 大数问题 )
原题链接 由于C语言定义的数值型的数据范围有限, 所以不能用简单的加减法来计算数据特别大的数; 这时候就要用到: 字符数组来进行计算; 字符数组: 通过定义两个数组( 一个为 int 型,一个为 char 型 ); 现将输入的数字用 char 型数组存储,之后再用原创 2015-07-24 12:54:09 · 1158 阅读 · 0 评论 -
Num 20 : HDOJ: 题目1402 : A*B ( 大数问题 )
与大数加法类似,大数乘法如下:#include #include #include#include#include char chara[50010];char charb[50010];int a[50010];int b[50010];int c[100010];int main() { int i,j,lena,lenb; while(gets(chara原创 2015-08-05 19:35:19 · 463 阅读 · 0 评论 -
Num 21 : HDOJ: 题目1272 : 小希的迷宫 ( 并查集问题 )
题目:小希的迷宫Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 35368 Accepted Submission(s): 10808Problem Description上次Gardon的迷宫城堡小希原创 2015-08-06 15:28:05 · 706 阅读 · 0 评论 -
Num 19: 最大公约数.最小公倍数.素数的判断
在c语言的学习之中,经常会碰到: 计算最大公约数,最小公倍数和素数判断的问题; 在这里由浅入深总结一下:1. 最大公约数与最小公倍数 : 由数学知识我们知道: 两个数的最小公倍数 = 这两个数的乘积 / 两个数的最大公约数; 所以求最大公约数和最小公倍数的问题其实是一类问题; ①.最小公倍数: 方法原创 2015-08-05 17:27:26 · 766 阅读 · 0 评论 -
Num 22 : NYOJ : 0055 懒省事的小明 [ 优先队列 ]
生活中我们会遇到各种各样的队列的问题,在C语言中,也有几类关于队列的问题: 普通队列.链队列.循环队列.优先队列( 算法中应用最为广泛,常出现在BFS中); 今天就在这里总结一下有关优先队列的一些用法: 优先队列: 对于一般的队列,遵循的是简单地FIFO( first input first output原创 2015-08-06 16:14:53 · 1073 阅读 · 0 评论 -
Num 38 : HDOJ : 2028 Lowest Common Multiple Plus [ 多个数的最小公倍数 ]
求几个自然数的最小公倍数,有两种方法: 1)分解质因数法: 先把这几个数分解质因数,再把它们一切公有的质因数和其中几个数公有的质因数以及每个数的独有的质因数全部连乘起来,所得的积就是它们的最小公倍数。 例如,求[12,18,20,60]; 因为12=(2)×[2]×[3],18=(2)×[3]×3,2原创 2015-08-21 16:16:31 · 914 阅读 · 0 评论 -
Num 35 : HDOJ : 1241 Oil Deposits [ 深度优先搜索算法 ] [ 非回溯 ][ 图论 ]
DFS( Depth-First-Search ) 深度优先搜索算法 : 深度优先搜索算法是图论的基础算法,在介绍DFS之前,我们先来介绍一下什么是深度优先搜索: 一、DFS概念: 正如算法名称那样,深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。 在深度优先搜索中,对于最新发现的顶点,如果它还有以此为起点原创 2015-08-14 10:38:14 · 1144 阅读 · 0 评论 -
Num 34 : HDOJ : 1205 吃糖果 [ 狄利克雷抽屉原理 ]
抽屉原理: 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。 这一现象就是我们所说的“抽屉原理”。 如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1个元素放到n个集合中去,其中必定有一个集合里至少有两个元素。 最差原创 2015-08-13 10:51:24 · 2507 阅读 · 2 评论 -
Num 33 : 函数递归 [ 全排列 ]
数学上的全排列问题: 给定m个数,可以排列成n位数的所有情况; 例:3 个数 ( 1,2,3 ) 排列成两位数[ 含有重复数字 ]有: 11,12 ,13,21,22,23,31,32,33; 例:2个数( 1,2 ) 排列成三位数: 111, 112, 121, 122, 211, 21原创 2015-08-12 11:09:41 · 1016 阅读 · 0 评论 -
Num 16: HDOJ: 题目1061 : Rightmost Digit [ 求个位数 ] [ 快速幂算法 ]
题目: Rightmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39386 Accepted Submission(s): 14861Problem D原创 2015-07-27 15:18:44 · 925 阅读 · 2 评论 -
Num 27 : NYOJ : 0448 寻找最大数 [ 贪心 ]
一道经典的贪心问题:如题:寻找最大数时间限制:1000 ms | 内存限制:65535 KB难度:2描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888 输入第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一原创 2015-08-10 14:13:16 · 928 阅读 · 0 评论 -
Num 15: NYOJ: 题目0002 : 括号配对问题 [ 栈(stack) ]
原题连接 首先要了解有关栈的一些基本知识,即: 什么是栈,栈有什么作用; 1、什么是栈: 仅允许在表的一端进行插入和删除运算。( 先进后出的一种数据结构形式 ); 这一端被称为栈顶( top ),相对地,把另一端称为栈底( bottom ); 向一个栈插入新元素又称作进栈(原创 2015-07-27 10:26:48 · 1111 阅读 · 0 评论 -
Num 24 : NYOJ:0006 喷水装置 [ 贪心算法 ]
It seems that everyone has had the sense of that : When u buy somethin' ( spend your money as much as possible ),you may choose to buy the most expensive stuff first,and then the second,ect.原创 2015-08-09 20:23:59 · 645 阅读 · 0 评论 -
Num 25 : NYOJ0014 会场安排问题 + HDOJ2037:今年暑假不AC [ 贪心 ][ 选择不相交区间 ]
贪心算法解决的另一类问题: 在区间不重叠的情况下选择尽可能长[ 数量多 ]的的区间; 算法思想: 要想选出尽可能多的区间,我们应该遵循下面的原则: 1. 每次从区间结束较小的一段开始选择; 2. 若区间结尾相同,则选择区间开始选对较大的,保证下一次选择有更多的可能; 其实要做到这两点并不难:原创 2015-08-09 21:29:53 · 808 阅读 · 0 评论 -
Num 17: NYOJ: 题目2016 :数据的交换输出[ 寻找数组中的最大(最小)数 ]
题目:数据的交换输出Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 69078 Accepted Submission(s): 26276Problem Description输入n(n原创 2015-07-29 11:26:39 · 874 阅读 · 0 评论 -
Num 18: HDOJ: 题目1232 : 畅通工程 [ 并查集 ]
并查集: 是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题; 如图所示: 就是讲原本分散的单个数据建立起联系; 例:亲戚关系,食物链等, x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。有点类似传递关系。原创 2015-07-29 11:33:32 · 973 阅读 · 0 评论 -
Num 31 : HDOJ : 1863 畅通工程 [ kruskal( 克鲁斯卡尔 )算法 ] [ 最小生成树 ]
克鲁斯卡尔算法是用来解决最小生成树问题的算法,我们先来看看什么是生成树吧: 生成树: 给定一个无向图,如果它某个子图中任意两个顶点都互相连通并且是一颗树( 一个根节点,多个父节点 ). 如图:( 图片摘自百度 ) 易知生成树不唯一; 最小生成树:原创 2015-08-11 10:50:58 · 754 阅读 · 0 评论 -
Num 39 : HDOJ : 2030 汉字统计 [ 汉字的字符处理 ] [ 转载 ]
题目:汉字统计Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30589 Accepted Submission(s): 16770Problem Description统计给定文本文件中汉转载 2015-08-21 17:00:03 · 867 阅读 · 0 评论