自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Up Stairs

1、突破口:每次交换时处于上方的人马上回头向下,处于下方的人回头向上,将二人的身份互换之后,相当于每个人分别在搬运行李。2、花费时间最长的那个人所用的时间就是整个任务完成所需要的时间。1006. Up the StairsTotal:111Accepted:58   

2015-11-07 17:39:11 532

转载 Google 软件工程师的简历建议

Google的一名软件工程师(之前是在微软做一个开发团队的队长)曾浏览过成百上千的简历,从中挑选出可以进行下一步面试过程的应聘者。所以他就收集了一些我见过的简历中出现的最常见的问题,并给出了如何避免这些问题的建议:   1. 简历里要有你工作的技术细节:编程语言,你的个人成就和水平。 我有时会看到一些简历,里面的工作描述就只有一行话,像这样:   * 在一个3人组成的团队里开发

2015-05-08 18:42:52 415

原创 减少历遍和用桶排思想

减少开销的思路:1、关于因子问题,从1还是一直历遍到n开销较大,历遍到sqrt(n)即可,因为知道一个因子x,用n/x即可知道另一个因子2、已知所有的可能出现的情况(有限个),可以用数组标记每种情况。3、一个内容承载多重信息:如果涉及数字,可将数组下标与数字本身联系起来。B - Little Elephant and NumbersTime Limit:2000MS  

2015-04-06 14:49:45 362

原创 练习1

DescriptionThe Little Elephant enjoys recursive functions.This time he enjoys the sorting function. Let a is a permutation of an integers from 1 to n, inclusive, and ai denotes the i-th elemen

2015-04-06 14:40:50 226

原创 类的构造函数的调用

1、构造函数只会被调用一次;2、当设置对象是没有显式地调用重载的构造函数,那么类的默认构造函数(无形参)就会被调用(如果在类中没有显式地声明,则编译器会自动生成一个)例如:#include #include #include using namespace std; class Date { public: Date() { year=5; } Dat

2015-03-28 17:07:03 470

原创 算法之分治——期望线性时间的选择(基础版本的选择)

//线性选择:在快速排序的基础上来选择 #includeusing namespace std;int a[1000];int sort(int left,int right,int k){ if(left==right) return left;//递归后只剩一个元素,必然是要找的元素 if(right>left) { int i=left-1; int j=left

2015-02-10 23:04:01 484

原创 算法之分治——最坏情况线性时间的选择

思路:在基础版本的选择算法上,保证每一次都是平衡的划分#includeusing namespace std;int a[1000];int part(int b,int r,int x)//划分 { swap(a[x],a[r]); int i=b-1; int j=b; while(j<=r) { if(a[j]<a[r]) { swap(a[j],a[i+

2015-02-10 23:02:06 515

原创 插入排序

思路:把第一个元素看作是有序的,从第二个元素起,每次都从右向左地与前面的元素比较;如果该小于前面的某个元素,则把大的元素往右移动;直到该元素放在了正确的位置上。 (每次循环开始时都保证前面的元素是有序的)复杂度:(要求升序排序) 最好情况:比较n-1次最坏情况:比较n(n-1)次,赋值操作n(n-1)+n-1 次平均:O(n^2) #includeusin

2015-02-09 20:18:23 226

原创 Multiplying by Rotation

换一种思路进行模拟//从已知的情况尽可能从多角度进行模拟#includeusing namespace std;int main(){ int base,fst,sec,n; while(cin>>base>>fst>>sec) { int t1=0;//进位 int t2;//剩下的数 int t3=fst;//第一个因子中的digit int t4;

2015-02-09 17:31:09 350

原创 KTV

思路:在多种情况中要选择三种作为一组进行分析,用到了三重循环这种方法有待改进#include#includeusing namespace std;int a[90][4];int c[10];int main(){ int n; int cases=1; while(cin>>n&&n!=0) { for(int i=0;i<n;i++)

2015-02-08 20:08:55 884

转载 装箱子

/*思想:1、统一化(体现在:能用2填补的地方就先用2填补,最终若a[2]变成了负数再处理) 2、简化( 体现在:在原来数组,即/数组a上处理,已经装进箱子的相应a[i]就减一 技巧:1、断多个数中有1个0,乘积为0;判断多个数都是0,和为0 2、有多个特殊的情况(如:不同余数对应不同的情况)可用数组来存储数值 */ #includeusing namespace s

2015-02-07 20:37:56 314

原创 快速排序

//快速排序:分治思想,边分边排//划分方法:以最右边的为枢轴元素进行划分,枢轴元素的左边的元素都比它小,右边的元素都比它大 #includeusing namespace std;int a[1000];//算法的复杂度计算要熟练掌握 void sort(int left,int right){ if(right>left) { int i=left-1; int j=

2015-02-06 17:05:35 251

原创 几何

基本思路:枚举数学方法:用叉积判断点与直线的关系#include//几何,枚举 using namespace std;int cherryx[105];//可以用一维数组的时候尽量避免用二维 int cherryy[105];int main(){ int n; int x,y; while(cin>>n&&n!=0) { for(int i=0

2015-02-05 20:46:19 278

原创 字典全排序

其实字典全排序并没有想象中的那么难,基本思想方法是:复杂问题分步解决。此处体现为:1要输出整个全排序,只需先实现“给出一串字符之后判断它的后面是否还可输出字符串,如果有的话,如何给出它的下一个字符串”的问题。2、用递归把问题步骤1的解决过程包裹起来。算法:设P是1~n的一个全排列:p=p1p2......pn=p1p2......pj-1pjpj+1......pk-1pk

2015-02-03 22:47:23 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除