摘要:
题意: 给一个矩形,矩形中某些点有一定数量的矿石,有些点为传送点,有些点为障碍。你驾驶采矿车(ore-miner truck,我也不知道是什么),从左上角出发,采尽量多的矿石,矿石不可再生。不能往左边或者上面走。传送点可以往左边或上面传。2<=n,m<=40 分析: 可以把矩形看作一张图,每个格子为 阅读全文
摘要:
首先我们先介绍一下普通的插排,就是我们现在一般写的那种,效率是O(n^2)的。 普通的插排基于的思想就是找位置,然后插入进去,其他在它后面的元素全部后移,下面是普通插排的代码: 可以看出,这个代码的复杂度应该是T((1+n)*n/2)=O(n^2)的,让我们仔细分析到底时间费在哪里。 1.查找过程太 阅读全文
摘要:
题目大意: 给一个范围[1,n],从中找出两个数x,y,使得gcd(x,y)为质数,问有多少对(x,y有序) 解法: 不难,欧拉函数练手题,可以定义集合P ={x|x为素数},那么我们枚举gcd(x,y)可能等于的情况,对于任意p∈P可以得到:gcd(k1·p,k2·p) = p,当且仅当gcd(k 阅读全文
摘要:
第一次发BZOJ的题解,先从水题开始吧,好不容易找到一道水题,那就从这题开始吧。 1.题设部分{ 题目描述: 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R。现在lxh 阅读全文
摘要:
线段树简介: 线段树是一种高效的数据结构,他的应用非常广泛,主要可以求区间和,求区间最小值,求区间最大值,求区间中某个数据出现的次数……为什么它效率这么高呢?因为它用到了二分的思想,将一个完整的线段的区间答案保存在根节点,左边是线段的左半部分,右边是线段的右半部分,以此类推。如下面就是一个线段树(求 阅读全文
摘要:
二叉查找树又称二叉搜索树,是一种效率极高的数据结构。 二叉查找树的定义是: 对于一棵二叉查找树上的一个节点,他的左子树上的任何一个值都比它小,右子树上的任何一个值都比它大(不考虑相等的情况)。他的左右子树又是一棵二叉查找树。 比如下图就是一个二叉查找树: 主要功能有: 插入,查找和删除。 我们还需要 阅读全文
摘要:
题目描述: 有n个函数,分别为F1,F2,...,Fn。定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。 输入样例: 3 10 4 5 3 3 4 5 1 7 1 输出样例: 9 12 12 19 阅读全文
摘要:
众所周知二叉树有四种遍历,即先序(DLR),中序(LDR),后序(LRD)和层序。而层序和其它三种不同,因为它是用的BFS即广度优先搜索。我们可以简单证明中序遍历和其它的任何一种遍历可以确定一棵树。常见的有已知先序中序求后序,已知中序后序求先序(比如noip2001PJ的那道水题)。还有一种不常见的 阅读全文
摘要:
问题描述 简单来说就是当你在第i层时可以上i层下i层,问需要这样多少次能到达需要到的终点 n<=200 分析 楼层数不大,考虑最坏情况:所有楼层都走过了但还是没有到终点的复杂度: 因为走过的楼层不会再走,队列内最多只有200个元素,所以可以用广度优先搜索,每次搜索向上和向下两种情况,找到了想到的楼层 阅读全文