摘要: 找规律题,这种题目比较巧妙,要仔细观察找出规律1. 假设只有一行,一共有n列,那么由一个小矩形构成的矩形个数为n, 由两个小矩形构成的矩形个数为 n - 1个 .... 由 n 个小矩形构成的矩形个数为1个,所以所有的矩形个数就是n + (n - 1) + (n - 2) + ...+ 2 + 1 ... 阅读全文
posted @ 2014-12-09 10:49 Howe_Young 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 这道题是刚好装满的背包问题,刚好选取k个,状态转移方程为dp[i][j] = max( dp[i - 1][j], dp[i - 1][j - 1] + Li - Bi(j - 1) )dp[i][j] 表示从前 i 个男孩中选取 j 个的 Li 的最大值, 首先按照Bi 排一下序,这个是利用贪心的... 阅读全文
posted @ 2014-12-08 21:35 Howe_Young 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 主元素这个问题,有个nlogn的算法,但是还有比它更快的,有O(n)的算法,基本思想是,从头到尾遍历,先将第一个元素保存到一个变量中,然后依次往后遍历,每遍历到与它的值相同的元素时,就要将它的个数+1,不同时-1,这样是因为如果存在主元素,那么主元素的个数一定是大于n/2的,所以最后这样抵消下来剩下... 阅读全文
posted @ 2014-12-07 21:20 Howe_Young 阅读(1824) 评论(0) 推荐(0) 编辑
摘要: 此题可以找到规律f(n) = 1! * 2! *...*n!,如果直接打表的话,由于n比较大(10000000),所以会超内存,这时候就要用到离线处理数据,就是先把数据存起来,到最后在暴力一遍求解就行了,代码如下代码一(超内存): 1 #include 2 3 const long long m... 阅读全文
posted @ 2014-12-07 18:50 Howe_Young 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 这个问题直接用4个while循环就可以写出来,注意一下边界处理就行了 1 #include 2 #include 3 int a[103][103]; 4 int main() 5 { 6 int n; 7 while(~scanf("%d", &n)) 8 { 9 ... 阅读全文
posted @ 2014-12-06 10:38 Howe_Young 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 这个辗转相除由于当时不太理解,所以在一次测试的时候有忘了,当时凭着印象算推,算写,花了20分钟大概才写出来额,浪费了赛场上宝贵的20分钟啊,以此当个教训,学过的东西不能只是做过一遍就完事了,要彻底吃透才行,昨天考试考的很差劲,也是这段时间太贪玩的结果吧,感觉题考的很基础,就是写不出来,还是没有真正的... 阅读全文
posted @ 2014-12-06 10:20 Howe_Young 阅读(271) 评论(0) 推荐(0) 编辑
摘要: lower_bound它有三个参数, 第一个和第二个是给定区间起点和终点的指针,第三个参数是要查找的数,它的作用原理是在给定的区间中进行二分查找,这个二分区间是前开后闭的,他返回第一个大于等于它的函数指针,例如数组a[100] = {3, 4, 5, 6, 7, 10, 12, 34, 55}; 想... 阅读全文
posted @ 2014-11-25 21:11 Howe_Young 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 这类带权的边的图,直接广搜不行,要加上优先队列,这样得到的结果才是最优的,这样每次先找权值最小的,代码如下 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef struct No... 阅读全文
posted @ 2014-11-23 20:52 Howe_Young 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树(AVL)是一种特殊的二叉搜索树,他满足两个性质:1. 此树是二叉搜索树2. 任意节点的左右子树高度差的绝对值不超过1这样是为了提高查询的效率,因为一般的二叉搜索树有可能不会是完全二叉树或者接近完全二叉树情况,有的甚至退化成链表,所以平衡二叉树将二叉树平衡一下,使得查询效率满足logn,主... 阅读全文
posted @ 2014-11-20 18:07 Howe_Young 阅读(242) 评论(0) 推荐(0) 编辑
摘要: bfs题,用数组模拟水杯的状态,尝试每一种可能的状态,如果找到就返回,详解见代码注释: 1 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 const int MAX = 1... 阅读全文
posted @ 2014-11-19 20:41 Howe_Young 阅读(782) 评论(0) 推荐(0) 编辑