上一页 1 ··· 4 5 6 7 8
  2011年4月26日
摘要: View Code 1 /************************************************************/ 2 //并查集的应用推广//POJ2492 3 /************************************************************/ 4 5 #include<iostream> 6 usingnamespace std; 7 // r[i] 0代表r[i]与i同性, 1代表i与r[i]异性 8 int n,p[2002],r[2002]; 9 10 /********************* 阅读全文
posted @ 2011-04-26 22:31 geeker 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 题目地址:http://poj.org/problem?id=1611/************************************************************************大致题意:一共有n个学生(编号0 至 n-1),m个组,一个学生可以同时加入不同的组。现在有一种传染病,如果一个学生被感染,那么和他同组的学生都会被感染。现在已知0号学生被感染,问一共有多少个人被感染。首先将每个学生都初始化为一个集合,然后将同组的学生合并,设置一个数组num[]来记录每个集合中元素的个数,最后只要输出0号学生所在集合中元素的个数即可。*************** 阅读全文
posted @ 2011-04-26 22:28 geeker 阅读(349) 评论(0) 推荐(1) 编辑
摘要: 1 /***************************************************** 2 哈希应用 3 将字符串转换成nc进制的数,判断这个数是否重复出现即可 4 其中要将字母转化成对应的数字,因为字母可能不是连续的 5 (这点一定要注意,所以不能单纯的用char[i]-'a'来转化) 6 如nc = 3时可能 会有aeccc这种字符串 7 处理后要将a,c,e,分别代表0,1,2 8 ******************************************************/ 9 10 #include<iostream&g 阅读全文
posted @ 2011-04-26 21:09 geeker 阅读(443) 评论(0) 推荐(2) 编辑
摘要: 堆排序总结堆排序思想:最大堆的堆顶元素是全部数据中的最大值,输出这个值。再将剩余元素整理成新的最大堆,此时堆顶元素有时又是剩余元素的最大值,再输出这个值。继续这个过程,每次输出堆顶元素,并将剩余元素整理成新的最大堆再输出...堆排序要解决的几个问题1:如何将数据排列成堆的形式——初始堆的建立2:输出堆顶元素后,剩余元素如何再整理成新的堆——堆的整理3:输出元素放在什么位置预备知识:1: 堆中的元素存储在一个数组中,根据堆中的各元素之间具有有序性关系,可以使用二叉树的方式来表示一个堆。因为各元素从前至后存放在数组的钱n 个单元中,所以所画的二叉树实际上是一颗完全二叉树2: 所以根据完全二叉树的性 阅读全文
posted @ 2011-04-26 18:15 geeker 阅读(4453) 评论(2) 推荐(1) 编辑
上一页 1 ··· 4 5 6 7 8