Problem Description
Fackyyj loves the challenge phase in TwosigmaCrap(TC). One day, he meet a task asking him to find shortest path from vertex 1 to vertex n, in a graph with at most n vertices and m edges. (1 ≤ n ≤ 100,0 ≤ m ≤ n(n-1))

Fackyyj solved this problem at first glance, after that he opened someone's submission, spotted the following code:

long long spfa_slf() {
int n,m;
cin >> n >> m;

vector<pair<int,int> > edges[111];
for(int i = 0;i < m;i++) {
int x,y,w;
cin >> x >> y >> w;
edges[x].push_back(make_pair(y,w));
}

deque<int> q;
vector<long long> dist(n+1, ~0ULL>>1);
vector<bool> inQueue(n+1, false);
dist[1] = 0; q.push_back(1); inQueue[1] = true;

int doge = 0;
while(!q.empty()) {
int x = q.front(); q.pop_front();
if(doge++ > C) {
puts("doge");
return 233;
}
for(vector<pair<int,int> >::iterator it = edges[x].begin();
it != edges[x].end();++it) {
int y = it->first;
int w = it->second;
if(dist[y] > dist[x] + w) {
dist[y] = dist[x] + w;
if(!inQueue[y]) {
inQueue[y] = true;
if(!q.empty() && dist[y] > dist[q.front()])
q.push_back(y);
else
q.push_front(y);
}
}
}
inQueue[x] = false;
}
return dist[n];
}

Fackyyj's face lit up with an evil smile. He immediately clicked button "Challenge!", but due to a hard disk failure, all of his test case generators were lost! Fackyyj had no interest on recreating his precise generators, so he asked you to write one. The generator should be able to generate a test case with at most 100 vertices, and it must be able to fail the above code, i.e. let the above code print "doge". It should NOT contain any negative-cost loop.

 For those guys who doesn't know C++, Fackyyj explain the general idea of the above algorithm by the following psuedo-code:

Input
Input contains several test cases, please process till EOF.
For each test case, there will be a single line containing an integer C. It is the constant C in the above code. (C <= 23333333)
Output
For each test case, on the first line, print two integers, n and m, indicating the number of vertices and the number of edges of your graph. Next m lines, on each line print x y w, means there is a road from x to y, cost w.
1 ≤ n ≤ 100,0 ≤ m ≤ n(n-1),|w| < 231. Note that your output shouldn't contain any negative-cost loop.
Sample Input
1
Sample Output
4 3 1 2 1 2 3 1 3 4 1
Author
Fudan University
Source
2014 Multi-University Training Contest 3

题意:给出spfa_slf优化的代码,要你写示例使得代码坏掉==

做法:首先应该分析这堆代码,每次拿出队首元素并弹出,查找队首元素相连的点,与现在的队首元素比较,距离比队首元素大的放到队尾,小的放到队首。每个元素跳出的次数大于给定值的时候输出”doge“。这个SLF其实对于有些数据来说是可以做到优化的,因为可以认为距离较小的点可能更新的点比较多。

造一组数据模拟一下这个过程:(就是正解)

61 90
1 2 0
3 4 0
5 6 0
7 8 0
9 10 0
11 12 0
13 14 0
15 16 0
17 18 0
19 20 0
21 22 0
23 24 0
25 26 0
27 28 0
29 30 0
31 32 0
33 34 0
35 36 0
37 38 0
39 40 0
41 42 0
43 44 0
45 46 0
47 48 0
49 50 0
51 52 0
53 54 0
55 56 0
57 58 0
59 60 0
2 3 -1073741824
4 5 -536870912
6 7 -268435456
8 9 -134217728
10 11 -67108864
12 13 -33554432
14 15 -16777216
16 17 -8388608
18 19 -4194304
20 21 -2097152
22 23 -1048576
24 25 -524288
26 27 -262144
28 29 -131072
30 31 -65536
32 33 -32768
34 35 -16384
36 37 -8192
38 39 -4096
40 41 -2048
42 43 -1024
44 45 -512
46 47 -256
48 49 -128
50 51 -64
52 53 -32
54 55 -16
56 57 -8
58 59 -4
60 61 -2
1 3 -536870912
3 5 -268435456
5 7 -134217728
7 9 -67108864
9 11 -33554432
11 13 -16777216
13 15 -8388608
15 17 -4194304
17 19 -2097152
19 21 -1048576
21 23 -524288
23 25 -262144
25 27 -131072
27 29 -65536
29 31 -32768
31 33 -16384
33 35 -8192
35 37 -4096
37 39 -2048
39 41 -1024
41 43 -512
43 45 -256
45 47 -128
47 49 -64
49 51 -32
51 53 -16
53 55 -8
55 57 -4
57 59 -2
59 61 -1

(注意加边的顺序!)

然后按着题意的操作就出来如下的结果,每行的表示当前队列中的点

front:1
  2
  3  2
front:3
  4  2
  5  4  2
front:5
  6  4  2
  7  6  4  2
front:7
  8  6  4  2
  9  8  6  4  2
front:9
 10  8  6  4  2
 11 10  8  6  4  2
front:11
 12 10  8  6  4  2
 13 12 10  8  6  4  2
front:13
 14 12 10  8  6  4  2
 15 14 12 10  8  6  4  2
front:15
 16 14 12 10  8  6  4  2
 17 16 14 12 10  8  6  4  2
front:17
 18 16 14 12 10  8  6  4  2
 19 18 16 14 12 10  8  6  4  2
front:19
 20 18 16 14 12 10  8  6  4  2
 21 20 18 16 14 12 10  8  6  4  2
front:21
 22 20 18 16 14 12 10  8  6  4  2
 23 22 20 18 16 14 12 10  8  6  4  2
front:23
 24 22 20 18 16 14 12 10  8  6  4  2
 25 24 22 20 18 16 14 12 10  8  6  4  2
front:25
 26 24 22 20 18 16 14 12 10  8  6  4  2
 27 26 24 22 20 18 16 14 12 10  8  6  4  2
front:27
 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 29 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:29
 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 31 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:31
 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 33 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:33
 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 35 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:35
 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 37 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:37
 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 39 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:39
 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 41 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:41
 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 43 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:43
 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 45 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:45
 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 47 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:47
 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 49 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:49
 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 51 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:51
 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 53 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:53
 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 55 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:54
 55 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:52
 53 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:53
 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 55 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 54 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:54
 55 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:50
 51 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:51
 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 53 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:53
 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 55 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 54 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:54
 55 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 56 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 52 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:52
 53 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:53
 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 55 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61http://write.blog.csdn.net/postedit/51828493
front:60
 61 56 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:56
 57 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 54 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:54
 55 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:55
 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 57 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:57
 58 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 59 58 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 58 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 58 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60
 61 58 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:58
 59 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:59
 60 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
 61 60 56 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2
front:61
front:60

分析一下结果:从开头开始看每次操作相当于取出的如果是奇数,就把与其相连的偶数放到队首,然后把下一个奇数放到这个偶数前面。这样每次取出的队首都是奇数。把所有奇数遍历过一遍之后,就轮到从大到小的偶数了,偶数只连着比他大一的奇数,所以这些奇数又一次入队列了。换言之f(i)>2*f(i+2) ,那么这个复杂度就很高很高~~

再从结果分析建边方式:之所以要先写权值是0的边,因为我需要先让偶数的点入队列啊,不然+2的奇数点入队列之后偶数点就进不去了,导致+2的奇数点无法再次进入队列!

再分析思路:题中想要每个点进入队列的次数多一些,那么就要尽可能多入队列

#include <iostream>
#include<cstdio>
using namespace std;
int a;
int main()
{//   freopen("cin.txt","w",stdout);while(~scanf("%d",&a)){int t=30;printf("%d %d\n",t*2+1,t*3);for(int i=0;i<t;i++)printf("%d %d %d\n",i*2+1,2+i*2,0);for(int i=0;i<t;i++)printf("%d %d %d\n",2*i+1,2*i+3,-(1<<t-i-1));for(int i=0;i<t;i++)printf("%d %d %d\n",2*i+2,2*i+3,-(1<<t-i));}return 0;
}
//#include <algorithm>
//#include <iostream>
//#include <cstring>
//#include <cstdio>
//#include <deque>
//#include<vector>
//using namespace std;
//long long spfa_slf() {
//    int n,m;
//    cin >> n >> m;
//
//    vector<pair<int,int> > edges[111];
//    for(int i = 0;i < m;i++) {
//        int x,y,w;
//        cin >> x >> y >> w;
//        edges[x].push_back(make_pair(y,w));
//    }
//
//    deque<int> q;
//    vector<long long> dist(n+1, ~0ULL>>1);
//    vector<bool> inQueue(n+1, false);
//    dist[1] = 0; q.push_back(1); inQueue[1] = true;
//
//    int doge = 0;
//    while(!q.empty()) {
//        int x = q.front(); q.pop_front();
//        printf("front:%d\n",x);
//        if(doge++ > 200) {
//        puts("doge");
//        return 233;
//        }
//        for(vector<pair<int,int> >::iterator it = edges[x].begin();it != edges[x].end();++it) {
//            int y = it->first;
//            int w = it->second;
//            if(dist[y] > dist[x] + w) {
//                dist[y] = dist[x] + w;
//                if(!inQueue[y]) {
//                    inQueue[y] = true;
//                    if(!q.empty() && dist[y] > dist[q.front()])
//                    q.push_back(y);
//                else
//                    q.push_front(y);
//                }
//                for(int i=0;i<q.size();i++)printf("%3d",q[i]);puts("");
//               // for(int i=0;i<q.size();i++)printf("%3d",dist[q[i]]);puts("");
//            }
//        }
//        inQueue[x] = false;
//
//    }
//    return dist[n];
//}
//int main()
//{
//    freopen("cin.txt","r",stdin);
//    spfa_slf();
//    return 0;
//}

hdu4889Scary Path Finding Algorithm【构造】搞坏spfa-slf 2014多校联合相关推荐

  1. [多校联考-西南大学附中]切面包(线段树/概率与期望)+ Slow Path Finding Algorithm(拓扑排序/DP)+ 分数转化(数论)

    文章目录 T1:分数转换 题目 题解 代码实现 T2:Slow Path Finding Algorithm 题目 题解 代码实现 T3:切面包 题目 题解 代码实现 T1:分数转换 题目 Time ...

  2. 《房债》书中的精髓:现代金融系统让全世界的人同处一艘经济大船上,一些人搞坏了船,所有的人都跟着遭殃。

    <房债>书中的精髓:现代金融系统让全世界的人同处一艘经济大船上,一些人搞坏了船,所有的人都跟着遭殃. 开始于2007年的次贷危机,之所以造成非常严重的后果,最可能的原因是大部分华尔街的人, ...

  3. 感觉各种知道,问答,百科的真实性和可信性都被网络营销给搞坏了

    感觉各种知道,问答,百科的真实性和可信性都被网络营销给搞坏了 我以前经常百度下,可以看到相关的百度知道,百度百科,以为都是真的真实感受和体验,自从看到猪八戒的口碑营销任务帖,再也不相信这些人说的到底是 ...

  4. [BZOJ 2200][Usaco2011 Jan]道路和航线 spfa+SLF优化

    Description Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到T个城镇 (1 <= T <= 25,000),编号为1T.这些城镇之间通过R条 ...

  5. AcWing 342. 道路与航线 (连通块Dijkstra+拓扑序||spfa+slf优化)

    整理的算法模板:ACM算法模板总结(分类详细版) 农夫约翰正在一个新的销售区域对他的牛奶销售方案进行调查. 他想把牛奶送到T个城镇,编号为1~T. 这些城镇之间通过R条道路 (编号为1到R) 和P条航 ...

  6. HDU 5385 The path(贪心、构造、最短路径树)

    HDU 5385 题目大意:给定一个图,dis表示第i个点到1点的最短路,dis1=0,给有向图上的边赋权值(1~n)满足dis1<dis2<dis3<--<disk>d ...

  7. python会搞坏电脑吗_搞python,把原本php环境所需的libjpeg搞坏了

    前面因为搞python,安装过程中,系统默认的libjepg貌似被升级了.从我原有的libjpeg.8升级到了libjpeg.9.结果导致了我的apache没法启动了(一开始并不知道),我原有的php ...

  8. python会搞坏电脑吗_Python 操作几个坏习惯,你中了吗?

    原标题:Python 操作几个坏习惯,你中了吗? 很多文章都有介绍怎么写好 Python,我今天呢,相反,说说写代码时的几个坏习惯.有的习惯会让 Bug 变得隐蔽难以追踪,当然,也有的并没有错误,只是 ...

  9. python升级或者其他原因把yum搞坏了

    第一个命令查询出来,原本是安装的啥版本 rpm -qa | grep python- | grep 2.6 然后执行下一个命令,就可以安装原本的python版本了,注意链接要换成你对应的那个版本 rp ...

  10. 如何 拆 贴片电容 而不是把焊盘给搞坏

    遇到问题 一个电路板 上的电容 焊接错了,需要更换,贴片电容 用电烙铁 把他 焊下来,不小心,把两边的 焊盘,都弄得脱落了. 水平不行,既浪费时间 ,又浪费材料. 得多练练 ,但是 怎么 练习呢? 焊 ...

最新文章

  1. FPGAtestbench中如何产生差分时钟
  2. jsp,OGNL调用后台Action的某方法
  3. SppNet 多尺度训练
  4. 机器学习面试题合集Collection of Machine Learning Interview Questions
  5. 2019牛客暑期多校训练营(第五场)
  6. Express中post请求req.body为空
  7. vs 窗体连接mysql_vs2008 c#开发windows窗体程序,怎么连接数据库?
  8. 简单粗暴的肢体语言解读攻略 | 今日最佳
  9. android java split_Java中的split函数的用法
  10. 群晖编译LCD4Linux,LCD4LINUX配置文件一些参数使用解释。
  11. mysql 传输表空间_Oracle传输表空间总结
  12. JavaScript格式化金额及格式化输出
  13. 强悍的 ubuntu —— samba 实现 ubuntu 与 windows 之间的文件共享
  14. Android studio 权限大全
  15. 互联网快讯:粉笔科技双轨并进未来可期;猿辅导优质教学获赞赏;网红奶茶古茗被罚
  16. window7电脑屏幕亮度调节的方法
  17. 华三防火墙能直连服务器吗,华三防火墙配置求教
  18. 推荐一个免费服务器网站|亲测可用
  19. 谷歌百度脸书IBM,人工智能四巨头2014盘点
  20. TCl显现价值投资潜力

热门文章

  1. 查看 PCD 点云 windows
  2. 【NLP】电影评论情感分析(基础篇)
  3. 压力变送器matlab,总结压差变送器三种不同故障以及处理方法[理论结合实际]
  4. 音乐资源免费_3个免费的音乐研究在线资源
  5. c语言程序规定必须用main作为,C语言学习必须清楚的事情,这就是C语言的开始...
  6. Environment 的使用
  7. DS博客作业06——图
  8. 云南农职《JavaScript交互式网页设计》 综合机试试卷④——蔚蓝网导航栏
  9. 广告学毕业论文选题有哪些?
  10. win10系统cpu内核或逻辑核心缺少缺少,解决办法