滚动数组
dp中经常卡内存,而利用滚动数组可以大大节省内存空间。 滚动数组的作用在于优化空间,主要应用在递推或动态规划中。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。 一个简单的例子: 斐波那契数列: 一般代码: #includ…
「音乐」否定先生——邵夷贝
音乐故事: 邵夷贝,音乐人。想写首歌,关于很多人心里都住着的一个否定先生—— 他并非一无是处、甚至有过阶段性的成就,但从未对自己满意。就像从记事以来,父母很少对他满意一样。 他顶着一张毫无表情的面庞,有着一副低沉且有距离感的嗓音。善于清晰而准确地看到周遭的一切漏洞,口无遮拦地讲出来,并期待倾听者心服口服的认同。 若是碰到反驳,会忍不住生气,严重的时…
[HDU#1785]You Are All Excellent
Problem Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限,只能选拔部分队员参加省赛。从学校的角度,总是希望选拔出最优秀的18人组成6支队伍来代表学校。但是,大家也知道,要想做到完全客观,是一件很难的事情。因为选拔的标准本身就很难统一。 为了解决这个难题,我现在把问题作了简化,现在假设每个队…
关于我
        愿风裁取每一粒尘埃          愿灵魂抵达记忆的尽头          愿一切浩瀚都归于渺小          愿每身孤独都拥抱共鸣          愿衣襟带花          愿岁月风平     这是我的个人博客。主要用来记录自己的成长记录,主题大多为IT业技术。 热爱的 新鲜电子产品Android,做过几挺low的 A…
筛法求素数
素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功。 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 。。N^(0.5) ,看看能否整除N。 如果需要判断的次数较多,则用下面介绍的办法预处理。 void make_prime() { memset(prime, 1, sizeof(prime)); prime[0]=fa…
欧几里德算法(求最大公约数)
欧几里德算法也就是辗转相除法,有着2000年的历史了。欧几里德算法依据的算法理论是一个定理:gcd(a,b) = gcd(b,a mod b)。 实现源码为: //递归实现 int gcd(int m, int n) { if (m < n) { int tem = m; m = n; n = tem; } if (n == 0) return m…
HDOJ分类
模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 11…
ACM进阶指南
ACM队不是为了一场比赛而存在的,为的是队员的整体提高。 大学期间,ACM队队员必须要学好的课程有: l C/C++两种语言 l 高等数学 l 线性代数 l 数据结构 l 离散数学 l 数据库原理 l 操作系统原理 l 计算机组成原理 l 人工智能 l 编译原理 l 算法设计与分析 除此之外,我希望你们能掌握一些其它的知识,因为知识都是相互联系,触…
[HDU#1720]A+B Coming
Problem Description Many classmates said to me that A+B is must needs. If you can’t AC this problem, you would invite me for night meal. ^_^ Input Input may contain multiple t…
[HDU#1718]Rank
Problem Description Jackson wants to know his rank in the class. The professor has posted a list of student numbers and marks. Compute Jackson’s rank in class; that is, if he …