
算法
文章平均质量分 50
68kg
这个作者很懒,什么都没留下…
展开
-
算法题集1
1 题目:输入一个正数n,输出所有和为n 连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8思路:n=连续i个整数的和,那他们的均值在n/i附近,所以想到在n/i附近找i个数,判断他们的和是否为n即可代码木有写,可以参考小俞同志的代码,猛击这里2、编程实现两个正整数的除法,当然不能用除法操作符。思原创 2011-10-28 09:25:21 · 771 阅读 · 0 评论 -
阿里巴巴20121009 研发/算法工程师 笔试试题【修正】
第19题a[i]在排序后的位置是[i-k, i+k],a[i+2k]在排序后的位置是[i+k, i+3k],必然有a[i] 所以数组a里实际上有2k个各自有序的、交错的子序列,如a1={a[0], a[2k], a[4k]...},a2={a[1], a[2k+1], a[4k+1], ...} 所以可以用2k-路归并排序,用一个大小为2k的小顶堆辅助归并,时间复杂度是O(原创 2012-10-10 10:13:21 · 14702 阅读 · 16 评论 -
2012百度之星初赛第一场题B小小度刷礼品
初赛第一场完整题目见这里第二题:小小度刷礼品一年一度的百度之星又开始了,这次参赛人数创下了吉尼斯世界纪录,于是百度之星决定奖励一部分人:所有资格赛提交ID以x结尾的参赛选手将得到精美礼品一份。小小度同学非常想得到这份礼品,于是他就连续狂交了很多次,提交ID从a连续到b,他想问问你他能得到多少份礼品,你能帮帮他吗?输入第一行一个正整数T表示数据组数;原创 2012-06-03 15:07:03 · 1731 阅读 · 0 评论 -
2012百度之星初赛第一场题A度度熊就是要第一个出场
第一题:度度熊就是要第一个出场贴图不方便, 完整题目见这里我的思路:1,从下向上,找第一名的路径,把横线段做标记1,没有横线段的地方添加横线段出来,标记22,从上向下,找第K名(即度度熊的位置)的路径,遇到有标记的即表示本身就是第一(标记1),或加线段后可以是第一(标记2)代码如下, 测试用例可以通过, 又做了几个简单的测试// 2012 百度之星 初赛原创 2012-06-03 15:14:47 · 1814 阅读 · 1 评论 -
十道面试题
50、一道SPSS笔试题求解题目:输入四个点的坐标,求证四个点是不是一个矩形关键点:1.相邻两边斜率之积等于-1,2.矩形边与坐标系平行的情况下,斜率无穷大不能用积判断。3.输入四点可能不按顺序,需要对四点排序。求纵坐标最大的点T,最小的点B,横坐标小的L,大的R。判断向量TL,TR的数量积,向量BL,BR的数量积,向量TL,BL的数量积51、矩阵式螺旋输出深度原创 2012-03-07 14:06:58 · 1249 阅读 · 0 评论 -
HDOJ 1019 多个数的最小公倍数
#include int gcd(int a,int b){ while(a!=b) if(a>b) a-=b; else b-=a; return a;}int n,m;int main(){ scanf("%d",&n); while(n--) { int a,LCM; scanf("%d",&m); scanf("%d",&LCM);原创 2012-02-05 11:12:29 · 1999 阅读 · 2 评论 -
推理游戏
假期里和同学聚会,玩骰子玩纸牌是必不可少的。有一种玩法很有趣:每人从牌堆中抽取一张牌,自己不能看,贴到额头上,让其他人可以看到。然后从某人开始,依次说话,制定喝酒规则,要更改规则先得喝一盅,直到大家都同意此规则。N圈下来,所有符合最终规则的人每人喝2盅。比如A说大于9点的人喝,B看到没有人比9点大,则推测自己的点数大于9,就想改规则,就先喝一盅,改成小于5点的、点数相同的、红色的、偶数的或直接N点原创 2012-02-04 11:45:31 · 1827 阅读 · 0 评论 -
Arnold置乱
%%%%%% matlab source code %%%%%%%%function arnold_pic = Arnold(Image,Frequency,crypt)%图像数值矩阵Arnold转换函数%输入参数% Image: 待加密(待解密)图像文件名(注意写格式后缀),只能为二维% Frequency: 图像需要变换迭的次数% crypt: 0原创 2011-11-04 09:36:55 · 3423 阅读 · 0 评论 -
HDOJ 水题 1000
//#include "stdafx.h"//#include #include using namespace std;int main(int argc, char* argv[]){ //fstream cin("1000.txt"); int a,b; while(cin>>a>>b) { cout<<a+b<<endl; } return 0;}10原创 2011-10-20 14:29:23 · 569 阅读 · 0 评论 -
HDOJ 水题 1001
//#include "stdafx.h"////#include //#include using namespace std;int main(int argc, char* argv[]){ //fstream cin("1001.txt");// int a; while(cin>>a) { int sum=0; for(int i=1;i<=a;sum+=i+原创 2011-10-20 14:32:45 · 757 阅读 · 0 评论 -
浅谈用极大化思想解决最大子矩形问题
【摘要】 本文针对一类近期经常出现的有关最大(或最优)子矩形及相关变形问题,介绍了极大化思想在这类问题中的应用。分析了两个具有一定通用性的算法。并通过一些例题讲述了这些算法选择和使用时的一些技巧。 【关键字】 矩形,障碍点,极大子矩形 【正文】一、 问题最大子矩形问题:在一个给定的矩形网格中有一些障碍点,要找出网格内部不包含任何障碍点,且边界与坐标轴平行的最大转载 2012-10-28 10:16:46 · 13091 阅读 · 1 评论