您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页一些比赛的题目

一些比赛的题目

来源:化拓教育网

题意:

给定的三个由'0','1','2','3','?'构成的字符串A,B,C。其中'?'表示该位可能是0,1,2,3,现在如果有三个四进制的数依次是这三个字符串,若有A+B=C,则称[A,B,C]是这三个字符串的一组解,现在给定A,B,C,求解的个数。

题解 1:

搜索:一开始觉的就是用搜索的办法枚举 a和b的所有情况然后和c比较;这个想法是对的,但怎么实现呢,一开是以为将 a,b分别放到两个数组里 分别搜索,但是 怎么搜啊,两个数组

后来想到 ,将a和b 存到一个数组里面,前六位存a 从第七为开始 存b (首先要使a,b倒置,再存),然后搜索就可以了;

题解2:

 运用dp

  因为到达以为时无非有两种情况, 有进位,没进位

  dp[i][0]表示前i位,第i位没有进位时,有多少中

  dp[i][1]表示前i位,第i位有进位时,有多少种

1002:题意 想必大家已经知道如何建立二叉排序树了吧.二叉排序树的介绍如链接所示 http://baike.baidu.com/view/922220.htm
例如依次给出9个正整数:8 ,3, 10, 1, 6, 14 ,4 ,7 ,13,建立后的二叉排序树如下图所示.


现在依次给出N个不同的正整数,每个数都不大于10^9,利用这N个有顺序的正整数可以建立出一颗二叉排序树.对于建成的这颗二叉排序树,询问某个节点的祖父节点的值(若该节点没有祖父节点则输出-1).
一般的二叉排序树建图的话,会超时,这里用的了另一种高级的数据结构 笛卡尔树 ,迪卡而数和treap 基本上一样支部过时,他的alue值是预先设定好的,
介绍“:
笛卡尔树又称笛卡儿树,在数据结构中属于二叉树的一种。   笛卡尔树结构由Vuillmin在解决范围搜索的几何数据结构问题时提出的,从数列中构造一棵 笛卡尔树可以线性时间完成,需要采用基于栈的算法来找到在该数列中的所有最近小数。由此可知,笛卡尔树是一种特定的二叉树数据结构,可由数列构造,在范围 最值查询、范围top k查询(range top k queries)等问题上有广泛应用。它具有堆的有序性,中序遍历可以输出原数列。   可以这么说:笛卡尔树是一棵二叉树,树的每个节点有两个值,一个为key,一个为value。 光看key的话,笛卡尔树是一棵二叉搜索树,每个节点的左子树的key都比它小,右子树都比它大;光看value的话,笛卡尔树有点类似堆,根节点的 value是最小(或者最大)的,每个节点的value都比它的子树要大
题解:

 



转载于:https://www.cnblogs.com/acSzz/archive/2012/07/24/2606767.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务