数据结构-线性表
flowser
you are what you want to be
展开
-
uva1169 - Robotruck
题意: n个垃圾,有其坐标(x,y)即重量w,一机器人最多承受重量C,要按其编号依次去捡垃圾(它只能上下左右走)然后倒垃圾,垃圾桶在原点(0,0),求倒完所有垃圾需走的最小距离。 思路:直接dp的话复杂度O(100000*100)过大,因而用单调队列来优化。 dp[i]表示倒前i个垃圾的最小距离,sumd[i]表示前i个垃圾的曼哈顿距离,sumw[i]表示前i个垃圾的重量和,p[i].d表示i原创 2016-02-13 12:55:48 · 283 阅读 · 0 评论 -
UVA1422 - Processor
题意: move onto: 将a,b上的积木清空,然后将a放在b上。 move over: 将a上的积木清空,然后将a放在b的最上方。 pile onto: 将b上的积木清空,然后将a和a上的积木放在b上。 pile over: 将a和上的积木放在b的随上方。 a和b同一个积木堆时,任何操做都时无效的。代码:#include <stdio.h>int place[25];原创 2016-02-13 20:37:42 · 344 阅读 · 0 评论 -
uva11134 -Fabled Rooks
题意: 一个n*n的矩阵上放n个车,第i辆车在第i个区间上,每个区间给出左上角和右下角的坐标。任意两个车之间同行同列不能互相攻击,求这些车放置 的坐标。 思路: 第一眼看以为是N皇后的变形,后来发现车子斜上角不会相互攻击。则行列不会相互影响,即该问题可分别分解求行,求列的位置的问题,和上一题uva1422的做法一样,按左区间排序后通过优先级队列按右区间的优先级来做。 代码如下:#inclu原创 2016-02-13 20:53:30 · 243 阅读 · 0 评论 -
自行实现ArrayList(底层结构数组)--Java版
package Collection;/* * 自行实现ArrayList:底层结构数组 * 注意注释部分 * 目的仅为更加了解该结构、编码部分不考虑细节 * */public class TestArrayList <E> { private E[] elementData; private int size; TestArrayList() {原创 2016-07-19 10:42:56 · 1620 阅读 · 0 评论 -
自行实现LinkedList (链表) --Java版
package Collection;import java.util.NoSuchElementException;/* * 自行实现LinkedList * 仅实现部分功能,忽略细节部分 * */class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element,原创 2016-07-19 10:47:16 · 381 阅读 · 0 评论