04 2016 档案
摘要:题目大意 求一个最小环 分析 在floyd的同时,顺便算出最小环 g[i][j]=i,j之间的边长 dist:=g; for k:=1 to n do begin for i:=1 to n do for j:=i+1 to n do ...
阅读全文
摘要:题目大意 FJ想按照奶牛产奶的能力给她们排序。现在已知有N头奶牛(1 ≤ N ≤ 1,000)。FJ通过比较,已经知道了M(1 ≤ M ≤10,000)对相对关系。每一对关系表示为“X Y”,意指X的产奶能力强于Y。现在FJ想要知道,他至少还要调查多少对关系才能完成整个排序。 分析 ...
阅读全文
摘要:题目大意 给你n个城市(1~n)和一个PIZZA店(0),要求找一条回路,从0出发,又回到0,而且距离最短。 分析 先用floyd把任意I,j两点的最短路找出来。 再DP: D[I,j]=min(d[I,j],d[i xor (1 shl (j-1)),k]+f[k,j])((i a...
阅读全文
摘要:题目大意 要建一棵圣诞树,使得总的花费最小。具体规则是:圣诞树是一颗无向树形图,其中,编号为1的节点为根节点,原始图中每条边具有边权,每个点也有一值权。圣诞树中,各条边的花费是该边权*该边的子树中所有点值,总的花费则是圣诞树中所有边的花费之和。 分析 1.对点u,只有从点u到根结点之间的...
阅读全文
摘要:题目大意 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加,因为货币的交换是可以重复多次...
阅读全文
摘要:题意 John的农场里N块地,M条路连接两块地(双向),w个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts(即是一条单向负权边)。我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己(找有没有负权回路)。 分析 找有没有负权回路可是bellman的强项,用bel...
阅读全文
摘要:题目大意 中文题,题目大意就不说了。(注意,等级限制是包括间接地交易的。如一的等级是3,二的等级是5,三的等级是7,等级限制是2;那就不能一和二交易,二又和三交易,因为一和三的等级相差超过2) 分析 如果没有等级限制,那就分两步: 一.建图,把每个物品看成一个节点,酋长的允诺也看作一...
阅读全文
摘要:邻接表 利用链式储存结构。对于每一个顶点,开一条链,依次存储以该点为起点的边。 下面的代码用g数组储存边的信息,ls[i]储存i这个顶点对应的链的起始位置。 通时g中的next域使所有起始点为i的边连成一条链。 const MaxE=100000; MaxV=50000; type ...
阅读全文
摘要:题目大意 给一个无向图(点数10 do begin with a[j] do begin if f[x]+wans then ans:=f[i]; write(ans+q); close(input); close(out...
阅读全文
摘要:题目大意 现在给出一系列的的父子关系,输出找到某个人的最早的祖先。 分析 直接用并查集把同一家族的人放入一个集合就好了,但要用hash把名字储存起来(要想一个好的方法把字符串变成数字,这很重要!) 反思 并查集和hash都是很久之前学的,但没有复习,所以这题一打出来就低级错误不断,一...
阅读全文
摘要:题目大意 给一个无向图,给定起点(s)和终点(e),要走过t条边(t给定)(可以重复走)。求从起点到终点经过t条边的最短路。 分析 我们先从动态规划开始想,很容易就可以推出一条状态转移方程: F[I,j]=min(f[i-1,k]+g[k,j])(1x[i,k]+x1[k,j] ...
阅读全文
摘要:题目大意 给一个无向图,起点和终点(stand,end)。从起点到终点,要走过t条边(t给定)。每条边的权值都是单位1。一些点中会有食人鱼,食人鱼会在k(2type arr=array[0..100,0..100] of longint;var a:array[1..100] of a...
阅读全文

浙公网安备 33010602011771号