摘要:
floyd算法是被大家熟知的最短路算法之一,利用动态规划的思想,f[i][j]记录i到j之间的最短距离,时间复杂度为O(n^3),虽然时间复杂度较高,但是由于可以处理其他相似的问题,有着广泛的应用,这些变形的问题也是考察重点之一。 伪代码大致如下: a) 初始化:D[u,v]=A[u,v] b) F 阅读全文
摘要:
先来看一种简单的石子合并:有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。 不管最小或者最大,我们会发现,当一堆石子一旦被合并,后面每次合并石子的重量(或者价值)都会被重复累加。所以我 阅读全文
摘要:
题意:在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 .在满足条件1 的情况下使路径最短。 注意:图G 中可能存在重边和自环,题目保证终点没有出边。 请你输出符合条件的 阅读全文
摘要:
题目描述:无向连通图G 有n 个点,n - 1 条边。点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 。图上两点( u , v ) 的距离定义为u 点到v 点的最短距离。对于图G 上的有序点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值。 阅读全文
摘要:
题目大意:小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘是一行 N个格子,每个格子上一个分数(非负整数)。棋盘第 1 格是唯一 的起点,第 N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中 M 张爬行卡片,分成 4 种不同的类型(M 张卡片中不一定包含所有 4 种类 阅读全文
摘要:
NOIP中二分应该是很简单的算法了,去年noip的day2-t1就是裸的二分,这里有两个例题 1、poj2456:Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are loca 阅读全文
摘要:
题意:有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 阅读全文