上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 28 下一页

2012年8月13日

智力题研究(二)

摘要: 续上一篇文章:“智力题研究(一)”。【IT思想类】1、 有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?(中级)2、 共有三类药,分别重1g,2g,3g,放到若干个瓶子中,现在能确定每个瓶子中只有其中一种药,且每瓶中的药片足够多,能只称一次就知道各个瓶子中都是盛的哪类药吗?如果有4类药呢?5类呢?N类呢(N可数)?(高级)如果是共有m个瓶子盛着n类药呢(m,n为正整数,药的质量各不相同但各种药的质量已知)?你能只称一次就知道每瓶的药是什么吗?(分析) 这类题目比较适合IT人做,因为要使用计算机中的概念或者思想。对于 阅读全文

posted @ 2012-08-13 17:49 mycapple 阅读(346) 评论(0) 推荐(0) 编辑

智力题研究(一)

摘要: 不管是找工作还是考公务员,常见的一种面试或者笔试题目就是智力题,这种题目有的比较简单,有的难度很大,有的是一种技巧,有的需要数学知识推导,不管怎样,绝对对于一个人锻炼自己的思维能力非常有益。本文整理了当前比较常见的智力题目,供大家一块研究与学习。【绳子类】1、 一条绳子(粗细不均,长短不一),从一头点燃,全部烧完要耗时1个小时,问如何用这条绳子测出半个小时?(初级)2、 有一些绳子(粗细不均,长短不一),但是每根绳子点燃后都烧一个小时,问用什么方法可以用这些绳子计算45分钟的时间,计算1小时15分钟时间呢?(中级)(分析)这类题目比较简单。由于绳子是双向的,只需同时点燃绳子的两端,便可得到1/ 阅读全文

posted @ 2012-08-13 17:19 mycapple 阅读(424) 评论(0) 推荐(0) 编辑

HDU 1232 畅通工程

摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1232思路:并查集的运用,最小生成树并查集的精髓(即它的三种操作,结合实现代码模板进行理解):1、Make_Set(x) 把每一个元素初始化为一个集合n初始化后每一个元素的父亲节点是它本身,每一个元素的祖先节点也是它本身(也可以根据情况而变)。2、Find_Set(x) 查找一个元素所在的集合n查找一个元素所在的集合,其精髓是找到这个元素所在集合的祖先!这个才是并查集判断和合并的最终依据。判断两个元素是否属于同一集合,只要看他们所在集合的祖先是否相同即可。合并两个集合,也是使一个集合的祖先成为另一个集合 阅读全文

posted @ 2012-08-13 16:17 mycapple 阅读(281) 评论(0) 推荐(0) 编辑

NYOJ 44 子串和

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=44思路:这道题也是动态规划的问题,开始的时候受导弹拦截的干扰,以为也要从数据的最后面开始处理呢,结果自己觉得思路不对,感觉别扭,后来写出来之后果然是错误的。然后从最开始进行处理,WA了三次,发现很多小的细节没有做好。最后一次提交,AC。解题思路就是从前往后处理数据,判断前面的数据是否大于0,不断的累加,最后输出最大的和。一些小的细节和思想都可以在代码和注释中有所体现。 1 #include<stdio.h> 2 int a[1000001];//防止函数内部数组过大,出现错误 阅读全文

posted @ 2012-08-13 16:01 mycapple 阅读(360) 评论(0) 推荐(0) 编辑

NYOJ 274 正三角形的外接圆面积

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=274 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int n; 6 double m,pi=3.1415926; 7 scanf("%d",&n); 8 while(n--) 9 {10 scanf("%lf",&m);11 printf("%.2lf\n",(pi*m*m)/3.0);12 }13 //system 阅读全文

posted @ 2012-08-13 12:16 mycapple 阅读(312) 评论(0) 推荐(0) 编辑

NYOJ 273 字母小游戏

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=273 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 int main() 5 { 6 char a[205]; 7 int n,m,i,count; 8 scanf("%d",&n); 9 while(n--)10 {11 count=0;12 scanf("%s",a);13 m=strlen(a);14 ... 阅读全文

posted @ 2012-08-13 12:03 mycapple 阅读(266) 评论(0) 推荐(0) 编辑

NYOJ 32 组合数

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=32 1 #include<stdio.h> 2 #include<string.h> 3 int n,m; 4 int ok[15];// 5 int num[15];//存放 6 int ac[15];//标记 7 void f(int l) 8 { 9 int a,b;10 if(l==m)11 {12 for(a=0;a<m;a++)13 printf("%d",num[a]);14 printf("\n... 阅读全文

posted @ 2012-08-13 11:43 mycapple 阅读(248) 评论(0) 推荐(0) 编辑

NYOJ 366 D的小L

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=366方法;用next_permutation(pɝmjʊ'teʃə)来求解,递归调用代码 1 #include<stdio.h> 2 #include<algorithm> 3 using namespace std; 4 int main() 5 { 6 int a[]={1,2,3,4,5,6,7,8,9}; 7 int k,n,i; 8 scanf("%d",&k); 9 while(k--)10 {11 scanf(&qu 阅读全文

posted @ 2012-08-13 10:37 mycapple 阅读(171) 评论(0) 推荐(0) 编辑

全排列生成算法:next_permutation

摘要: 概念全排列的生成算法有很多种,有递归遍例,也有循环移位法等等。但C++/STL中定义的next_permutation和prev_permutation函数则是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列。本文将详细的介绍prev_permutation函数的内部算法。按照STL文档的描述,next_permutation函数将按字母表顺序生成给定序列的下一个较大的排列,直到整个序列为降序为止。prev_permutation函数与之相反,是生成给定序列的上一个较小的排列。二者原理相同,仅遍例顺序相反,这里仅以next_permutation为例介绍算法。先对序列大小的比 阅读全文

posted @ 2012-08-13 10:19 mycapple 阅读(367) 评论(0) 推荐(0) 编辑

全排列问题的STL用法(next_permutation类)

摘要: 标准库全排列next_permutation()在标准库算法中,next_permutation应用在数列操作上比较广泛.这个函数可以计算一组数据的全排列.但是怎么用,原理如何,我做了简单的剖析.首先查看stl中相关信息.函数原型:template<class BidirectionalIterator> bool next_permutation( BidirectionalIterator _First, BidirectionalIterator _Last );template<class BidirectionalIterator, class BinaryPred 阅读全文

posted @ 2012-08-13 10:17 mycapple 阅读(3194) 评论(1) 推荐(2) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 28 下一页

导航