【floyd】 poj 2240】的更多相关文章

#include <iostream> #include <map> #include <string> #include <memory.h> using namespace std; ; int n; //货币种类 int m; //兑换方式 mapSTL; //建立一个字符串与整数一一对应的容器STL,以便利用邻接矩阵存储数据 double rate; ],str1[],str2[]; ][]; int i,j,k; void floyd(void)…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1033 http://poj.org/problem?id=1141 ZOJ目前挂了. 题目大意: 给一个括号序列,要求输出,最少增加括号数情况下,任意一个合法括号序列即可. 匹配是指()和[]完全合法,可以嵌套. 题目思路: [动态规划] 区间DP,枚举左右区间端点,两种匹配方法:中间拆开匹配或者直接头尾匹配. 转移得到最优值,同时记录得到最优值的方法,最后逆推得到不用增加的括号位置…
题目链接 BZOJ1599 题解 最小环模板?周末了养生一下[逃] 解释一下原理 \(floyd\)算法每一轮求出以\([1,k]\)为中介点的最短路 我们对于一个环,考虑环上编号最大的点,在\(k\)枚举到那个点时,\(k\)两边的点之间不经过\(k\)的最短路已经计算出来,相连接便是一个环 容易发现最小的环一定会被计算 #include<algorithm> #include<iostream> #include<cstring> #include<cstdi…
简单题 素数打表   根据数据量  用n2算法遍历  开一个save[k]素数存前k个素数和即可. #include <iostream> #include <cstdio> #include <memory.h> #include <cmath> using namespace std; ; ]; +]; +]; void make_pri() { pri[]=; pri[]=; ;i<=maxn;i++) { pri[i]=; } ;i*i<…
不错的dp入门题  画出dp矩阵  每个dp[i][j]是由“其上”的状态或是“其左上”的状态转化而来,那我们选对角线和上边进行三角dp推导 #include<stdio.h> #include <iostream> using namespace std; #define MAX 110 int value[MAX][MAX]; int f[MAX][MAX]; int F,V; int main() { // freopen("in.txt","r…
[原创] 题目大意 John有N个农场,一共有M条边,在农场上出现了W个虫洞(W是一条边),其中M是双向普通边,W是单向虫洞边.John穿行于农场之间每经过一条边(S到E)的时间为+T,每经过虫洞会时间倒流,经过-T.问John会不会在某一刻看到以前的自己.这个题目即问的是,存不存在负权环.bollman_ford 先粘一下百度百科的话: Bellman - ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写.其原理为持续地进行松弛(原文是这么写的,为什么要叫松弛,争议很大),…
[题目描述] 有n颗形状和大小都一致的珍珠,它们的重量都不相同.n为整数,所有的珍珠从1到n编号.你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位.下面给出将一对珍珠进行比较的办法: 给你一架天平用来比较珍珠的重量,我们可以比出两个珍珠哪个更重一些,在作出一系列的比较后,我们可以将某些肯定不具备中间重量的珍珠拿走. 例如,下列给出对5颗珍珠进行四次比较的情况: 1.珍珠2比珍珠1重 2.珍珠4比珍珠3重 3.珍珠5比珍珠1重 4.珍珠4比珍珠2重…
题目链接: http://poj.org/problem?id=3660 题目大意: 给出n头牛,m个关系,关系为a的战力比b高.求最后可以确定排名的牛的数量 思路: 1.如果一头牛跟其他所有牛都确定了一个输赢关系,那么该牛的排名就得到了确定,所以用floyd跑一遍传递闭包.然后求得每个点的出度(赢了), 入度(输了).若该点的度之和为 n - 1 ,即确定排名. #include<stdio.h> #include<string.h> #define mem(a, b) mems…
题意:给出n个站点,每个站点都有铁路通向其他站点 如果当前要走得路恰好是该站点的开关指向的铁路,则不用扳开关,否则要手动扳动开关,给出起点和终点,问最少需要扳动多少次开关 输入的第一行是n,start,end 接下来的n行,每一行中,第一个数是该站点向外连接的铁路条数, 第二个数是该站点的开关指向的铁路(因为这儿没有读懂= =所以都建不出图来--5555参见这一句话:Switch in the i-th intersection is initially pointing in the dire…
题目大意:求点1到所有点最短路径的最大值 思路:水题,单源最短路,网上解题清一色dijkstra,但是点数小于100显然floyd更简洁嘛 #include<cstdio> #include<string.h> #define maxn 101 #define inf 100000 using namespace std; int read(){ int f=1,x=0;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='x…