2013编程之美全国挑战赛 —– 初赛1场

题目我是从gn00转的,感谢 绯色基

第一题难度一般,主要是看A\\B\\N之间的关系,寻求最优解,压力不大,第二题第三题没看,挖坑,改日来做~

==================================我是分割线===============================

竞价

时间限制: 1000ms 内存限制: 256MB

描述

Alice和Bob都要向同一个商人购买钻石。商人[……]

更多

题目这个题目是在数学中国上看到的,具体的题目描述如下:

问题示例:连通性(connectivity)
  假如已知一个整数对(pair)序列,其中每个整数代表某种类型的一个对象,而且将p-q对解释成“p与q连通”。
  假定关系“与…….”是可传递的:
如果p与q连通,同时q与r连通,则p与r连通.
我们的目的是编写一段程序,从集合(set)中过滤额外连接对;当程序输入一个对p-q,仅当程序此时已经看到的对不能通过可传递性证明p与q连通时,它才输出该对。如果前面的对表明p与[……]

更多

今天GE牛在问这个问题,但是由于在工作就忽略了,后来是D大去回复的,
D大的思路如下:
S1.   计算点集S的凸壳CH(S); 
S2.   计算CH(S)的直径,设为p[i]p[j],以p[i]p[j]为直径做圆C,如果S中的点都在圆C内,则C就是所求的最小覆盖圆;否则转S3; 
S3.   计算点集S的最远点意义下的Voronoi图即Vor(S); 
S4.   设v是Vor(S)中的一个Voronoi点,以v为圆心,v至S点集中3个最远点的距离为半径做圆,该圆就是所求。 

[……]

更多

一面:

第一题、任意给一个数,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制表示,5的倍数10是二进制表示,等等。

第二题、证明素数有无穷多个。
    
第三题、给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。

第四题、把一个链表逆过来,要求空间复杂度O(1),这个算简单的。

 

二面:

1、是如何统计代码行数以及注释的行数,并写出具体的实现代码。

2、要求用最快的速度求两个数组的[……]

更多

最近准备做个语音识别小玩具,接触到一些识别技术,和大家一起分享~

 隐马尔可夫模型(Hidden Markov Model,HMM)作为一种统计分析模型,创立于20世纪70年代。80年代得到了传播和发展,成为信号处理的一个重要方向,现已成功地用于语音识别,行为识别,文字识别以及故障诊断等领域。

感觉百度说的有点模糊~
 
假设:

对于一个随机事件,有一个观察值序列:O1,…,OT

该事件隐含着一个状态序列:X1,…,XT

假设1:马尔可夫假设(状[……]

更多

前几天发了一个青蛙过河https://www.xushine.net/?p=1110

D大的感叹历历在目啊

现在放个python的版本出来~

trace_stack = []

def recursive(frog_list, final_list):
    global trace_stack

    if frog_list == final_list:
        trace_stack.append(frog_list)
        retur[……]

更多

Xushine研究院一致认为模板才是王道

首先说说左偏树

1左偏树(Leftist Tree)是一种可并堆(Mergeable Heap) ,它除了支持优先队列的三个基本操作(插入,删除,取最小节点),还支持一个很特殊的操作——合并操作。
 
2左偏树是一棵堆有序(Heap Ordered)二叉树。
 
3左偏树满足左偏性质(Leftist Property)。
 
[性质1] 节点的键值小于或等于它的左右子节点的键值。[性质2] 节点的左子节点的距离不小于右子节点的距离。[……]

更多

其实这个是来自于ZOJ的一道ACM题目

题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2452

笛卡尔树是一种特定的二叉树数据结构,可由数列构造,在范围最值查询、范围top k查询(range top k queries)等问题上有广泛应用。它具有堆的有序性,中序遍历可以输出原数列。

以第一关键字 main_key 排升序,O(n*log(n));
单调栈的应用,O(n)时间构造笛卡尔树;[……]

更多

题目大意:
池塘里有n片荷叶(1≤n≤1000),它们正好形成一个凸多边形。按照顺时针方向将这n片荷叶顺次编号为1,2,…,n。
有一只小青蛙站在1号荷叶上,它想跳过每片荷叶一次且仅一次(它可以从所站的荷叶跳到任意一片荷叶上)。同时,它又希望跳过的总距离最短。
请你编程帮小青蛙设计一条路线。

这个题还是比较明显的是贪心策略解决动态规划问题~

#include<map>
#include<set>
#include<cmath>
#inc[……]

更多

今天和朋友聊天,聊到了KM,今天Xushine研究院就和大家讨论下KM算法~

先来看看KM的算法描述:

KM算法求的是完备匹配下的最大权匹配: 在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接XiYj有权wij,求一种匹配使得所有wij的和最大。

再来看看基本原理~

该算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一[……]

更多