题目:
链接:点击打开链接
题意:
思路:
对dijkstra稍作修改即可,每次更新dis[]时改为乘积。
代码:
#include
#include
#include
using namespace std;
#define INF 100000000
const int N = 1010;
int n,m;
double map[N][N]...
分类:
其他好文 时间:
2014-07-01 10:53:50
阅读次数:
180
题目:
链接:点击打开链接
题意:
思路:
代码:
#include
#include
#include
using namespace std;
int map[110][110];
int dp[110],next[110],ins[110];
int t,n,m;
void output(int x)
{
if(x == -1)...
分类:
其他好文 时间:
2014-07-01 08:55:28
阅读次数:
174
题目:
链接:点击打开链接
题意:
输入n,给出n行数据,每行有两个字符串,输出关系网络中朋友的个数,n行。
思路:
代码:
#include
#include
#include
#include
using namespace std;
const int N = 22;
const int M = 200020;
st...
分类:
其他好文 时间:
2014-07-01 08:14:07
阅读次数:
189
题目:
链接:点击打开链接
题意:
思路:
冲突的条件是:两个人坐在同一行,同时他们到根节点的差值等于他们之间的差值,这时就产生冲突了。于是我们可以用一个dist数组来保存节点到根的距离,而这个距离在路径压缩的时候更新一下就可以了,dist[x]+=dist[parent[x]]。然后就是合并后的距离,令r1=Find(u),r2=Fin...
分类:
其他好文 时间:
2014-07-01 08:13:34
阅读次数:
201
题目:
链接:
题意:
思路:
代码:
#include
#include
#include
using namespace std;
const int N = 30030;
int root[N];
int sum[N],rank[N];//sum[i]表示i下面的积木个数
int q;
int findset(int x)
{
if(x == r...
分类:
其他好文 时间:
2014-07-01 08:12:55
阅读次数:
178
问题:
链接:点击打开链接
题意:
思路:
代码:
#include
#include
#include
using namespace std;
#define INF 1000000000000
typedef __int64 LL;
const int N = 110;
__int64 dis[N][N],place[N];
__int64 L1,L2,L...
分类:
其他好文 时间:
2014-07-01 07:16:25
阅读次数:
248
题目:
链接:点击打开链接
题意:
给一个图,求1到各点和各点到1最短路。
思路:
先spfa,然后反向建图,在spfa就行了。
代码:
#include
#include
#include
#include
using namespace std;
#define INF 100000000
const int N = 10...
分类:
其他好文 时间:
2014-07-01 07:15:44
阅读次数:
230
题目:
链接:点击打开链接
题意:
求最大流速。
思路:
Edmond_karp就行。
代码:
#include
#include
#include
#include
using namespace std;
#define INF 100000000
const int N = 220;
int cap[N][N],flo...
分类:
其他好文 时间:
2014-07-01 07:15:11
阅读次数:
226
题目给了你一串序列,然后每次 把最后一个数提到最前面来,直到原来的第一个数到了最后一个,每次操作都会产生一个新的序列,这个序列具有一个逆序数的值,问最小的你逆序数的值为多少
逆序数么 最好想到的是树状数组,敲了一把很快,注意把握把最后一个数提上来对逆序数的影响即可,
#include
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-01 06:42:09
阅读次数:
186