上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页
摘要: 前言第1章代码应当易于理解代码的写法应当使别人理解它所需的时间最小化;第一部分表面层次的改进第2章把信息装到名字里使用专业的单词:例如,不用Get,而用Fetch或者Download可能会更好,这由上下文决定;避免空泛的名词,像tmp和retval,除非使用它们有特殊的理由;使用具体的名字来更细致地描述事物:ServerCanStart()这个名词就比CanListenOnPort更不清楚;给变量名带上重要的细节:例如,在值为毫秒的变量后面加上_ms,或者在还需要转义的,未处理的变量前面加上raw_;为作用域大的名词采用更长的名字:不要用让人费解的一个或两个字母的名词来命名在几屏之间可见的变量 阅读全文
posted @ 2012-10-11 08:31 蚀 阅读(1505) 评论(0) 推荐(0) 编辑
摘要: 因为做手术,耽误了不少时间。贪心的就是选择当前最优(大,小)的,所以经常要用排序,最大堆,枚举。排序2782BinPacking选定一个,再选一个尽可能大的枚举3066Maximum这题过的糊里糊涂的,不知道是不是数据弱的缘故,每次在条件允许的范围下选择尽可能大的数2076AllRoadsLeadtoAlbuquerque,er,Rome一开始直接想的是O(n^3)的算法,想不出来。一看题解居然是从O(n^4)优化到O(n^3)的,以后直接想想不出来的话,可以先想复杂度高的,再优化。和1153类似,枚举过渡法。动态规划1784Huffman'sGreed比较经典的动态规划,除了题名,跟 阅读全文
posted @ 2012-09-17 12:04 蚀 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 250pt题意:给定一个字符串,求没有重复字符的最长子串。分析:直接暴力枚举所有子串(开始位置和结束位置)。View Code class ChocolateBar { public: int maxLength(string s) { int i,j,k,t,ii,flag,a[28],n=s.size(); for(i=k=0;i<n;i++) for(j=i;j<n;j++) { ... 阅读全文
posted @ 2012-09-17 08:19 蚀 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 250pt题意:给定二维格点图和一个在格点图中的禁止点,每个格点包含0或1,求最多有多少个1被包含在一个不包含在禁止点的矩形里。分析:以禁止点所在行,列为边界,枚举,共4种情况。View Code #include <cstdlib> #include <cctype> #include <cstring> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <string> #incl 阅读全文
posted @ 2012-09-14 11:13 蚀 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 250pt题意:鸡兔同笼类问题,求三种动物总数。分析:第二个变量完全没用,直接推公式可以跳过个数求总数。View Code #include <cstdlib> #include <cctype> #include <cstring> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <string> #include <iostream> #include <sst 阅读全文
posted @ 2012-08-27 08:56 蚀 阅读(147) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页