题目概述

给定N个矩形左下角和右上角顶点的坐标,求其面积并
矩形的边一定与坐标轴平行或垂直

时限

1000ms/3000ms

输入

第一行正整数N,其后N行,每行四个浮点数,代表两个顶点的坐标,输入到N=0结束

限制

1<=N<=100;0<=坐标值<=100000

输出

每组数据输出在两行中,第一行
Test case #A
其中A为数据序数,从1开始,第二行
Total explored area: B
其中B为一保留两位小数的浮点数,为所求面积并,每组输出后带一空行

样例输入

2
10 10 20 20
15 15 25 25.5
100
0 0 50100 50100
500 500 50600 50600
1000 1000 51100 51100
1500 1500 51600 51600
2000 2000 52100 52100
2500 2500 52600 52600
3000 3000 53100 53100
3500 3500 53600 53600
4000 4000 54100 54100
4500 4500 54600 54600
5000 5000 55100 55100
5500 5500 55600 55600
6000 6000 56100 56100
6500 6500 56600 56600
7000 7000 57100 57100
7500 7500 57600 57600
8000 8000 58100 58100
8500 8500 58600 58600
9000 9000 59100 59100
9500 9500 59600 59600
10000 10000 60100 60100
10500 10500 60600 60600
11000 11000 61100 61100
11500 11500 61600 61600
12000 12000 62100 62100
12500 12500 62600 62600
13000 13000 63100 63100
13500 13500 63600 63600
14000 14000 64100 64100
14500 14500 64600 64600
15000 15000 65100 65100
15500 15500 65600 65600
16000 16000 66100 66100
16500 16500 66600 66600
17000 17000 67100 67100
17500 17500 67600 67600
18000 18000 68100 68100
18500 18500 68600 68600
19000 19000 69100 69100
19500 19500 69600 69600
20000 20000 70100 70100
20500 20500 70600 70600
21000 21000 71100 71100
21500 21500 71600 71600
22000 22000 72100 72100
22500 22500 72600 72600
23000 23000 73100 73100
23500 23500 73600 73600
24000 24000 74100 74100
24500 24500 74600 74600
25000 25000 75100 75100
25500 25500 75600 75600
26000 26000 76100 76100
26500 26500 76600 76600
27000 27000 77100 77100
27500 27500 77600 77600
28000 28000 78100 78100
28500 28500 78600 78600
29000 29000 79100 79100
29500 29500 79600 79600
30000 30000 80100 80100
30500 30500 80600 80600
31000 31000 81100 81100
31500 31500 81600 81600
32000 32000 82100 82100
32500 32500 82600 82600
33000 33000 83100 83100
33500 33500 83600 83600
34000 34000 84100 84100
34500 34500 84600 84600
35000 35000 85100 85100
35500 35500 85600 85600
36000 36000 86100 86100
36500 36500 86600 86600
37000 37000 87100 87100
37500 37500 87600 87600
38000 38000 88100 88100
38500 38500 88600 88600
39000 39000 89100 89100
39500 39500 89600 89600
40000 40000 90100 90100
40500 40500 90600 90600
41000 41000 91100 91100
41500 41500 91600 91600
42000 42000 92100 92100
42500 42500 92600 92600
43000 43000 93100 93100
43500 43500 93600 93600
44000 44000 94100 94100
44500 44500 94600 94600
45000 45000 95100 95100
45500 45500 95600 95600
46000 46000 96100 96100
46500 46500 96600 96600
47000 47000 97100 97100
47500 47500 97600 97600
48000 48000 98100 98100
48500 48500 98600 98600
49000 49000 99100 99100
49500 49500 100000 100000
1
0 0 100000 100000
20
0 0 50100 50100
500 500 50600 50600
1000 1000 51100 51100
1500 1500 51600 51600
2000 2000 52100 52100
2500 2500 52600 52600
3000 3000 53100 53100
3500 3500 53600 53600
4000 4000 54100 54100
4500 4500 54600 54600
5000 5000 55100 55100
5500 5500 55600 55600
6000 6000 56100 56100
6500 6500 56600 56600
7000 7000 57100 57100
7500 7500 57600 57600
8000 8000 58100 58100
8500 8500 58600 58600
9000 9000 59100 59100
9500 9500 59600 59600
1
0 0 0.01 0.02
2
10 10 20 20
15 15 25 25.5
2
0 0 1 1
0 0 1 1
2
0 0 1 1
0 1 1 2
99
3.7 2.2 3.8 3.2
7.4 4.4 7.6 5.4
11.1 6.6 11.4 7.6
14.8 8.8 15.2 9.8
18.5 11.0 19.0 12.0
22.2 13.2 22.8 14.2
25.9 15.4 26.6 16.4
29.6 17.6 30.4 18.6
33.3 19.8 34.2 20.8
37.0 22.0 38.0 23.0
40.7 24.2 41.8 25.2
44.4 26.4 45.6 27.4
48.1 28.6 49.4 29.6
51.8 30.8 53.2 31.8
55.5 33.0 57.0 34.0
59.2 35.2 60.8 36.2
62.9 37.4 64.6 38.4
66.6 39.6 68.4 40.6
70.3 41.8 72.2 42.8
74.0 44.0 76.0 45.0
77.7 46.2 79.8 47.2
81.4 48.4 83.6 49.4
85.1 50.6 87.4 51.6
88.8 52.8 91.2 53.8
92.5 55.0 95.0 56.0
96.2 57.2 98.8 58.2
99.9 59.4 102.6 60.4
103.6 61.6 106.4 62.6
107.3 63.8 110.2 64.8
111.0 66.0 114.0 67.0
114.7 68.2 117.8 69.2
118.4 70.4 121.6 71.4
122.1 72.6 125.4 73.6
125.8 74.8 129.2 75.8
129.5 77.0 133.0 78.0
133.2 79.2 136.8 80.2
136.9 81.4 140.6 82.4
140.6 83.6 144.4 84.6
144.3 85.8 148.2 86.8
148.0 88.0 152.0 89.0
151.7 90.2 155.8 91.2
155.4 92.4 159.6 93.4
159.1 94.6 163.4 95.6
162.8 96.8 167.2 97.8
166.5 99.0 171.0 100.0
170.2 101.2 174.8 102.2
173.9 103.4 178.6 104.4
177.6 105.6 182.4 106.6
181.3 107.8 186.2 108.8
185.0 110.0 190.0 111.0
188.7 112.2 193.8 113.2
192.4 114.4 197.6 115.4
196.1 116.6 201.4 117.6
199.8 118.8 205.2 119.8
203.5 121.0 209.0 122.0
207.2 123.2 212.8 124.2
210.9 125.4 216.6 126.4
214.6 127.6 220.4 128.6
218.3 129.8 224.2 130.8
222.0 132.0 228.0 133.0
225.7 134.2 231.8 135.2
229.4 136.4 235.6 137.4
233.1 138.6 239.4 139.6
236.8 140.8 243.2 141.8
240.5 143.0 247.0 144.0
244.2 145.2 250.8 146.2
247.9 147.4 254.6 148.4
251.6 149.6 258.4 150.6
255.3 151.8 262.2 152.8
259.0 154.0 266.0 155.0
262.7 156.2 269.8 157.2
266.4 158.4 273.6 159.4
270.1 160.6 277.4 161.6
273.8 162.8 281.2 163.8
277.5 165.0 285.0 166.0
281.2 167.2 288.8 168.2
284.9 169.4 292.6 170.4
288.6 171.6 296.4 172.6
292.3 173.8 300.2 174.8
296.0 176.0 304.0 177.0
299.7 178.2 307.8 179.2
303.4 180.4 311.6 181.4
307.1 182.6 315.4 183.6
310.8 184.8 319.2 185.8
314.5 187.0 323.0 188.0
318.2 189.2 326.8 190.2
321.9 191.4 330.6 192.4
325.6 193.6 334.4 194.6
329.3 195.8 338.2 196.8
333.0 198.0 342.0 199.0
336.7 200.2 345.8 201.2
340.4 202.4 349.6 203.4
344.1 204.6 353.4 205.6
347.8 206.8 357.2 207.8
351.5 209.0 361.0 210.0
355.2 211.2 364.8 212.2
358.9 213.4 368.6 214.4
362.6 215.6 372.4 216.6
366.3 217.8 376.2 218.8
100
1012 1012 1067.5 1043.4
2012 1012 2067.5 1043.4
0 0 3 98
0 0 4 97
0 0 5 96
0 0 6 95
0 0 7 94
0 0 8 93
0 0 9 92
0 0 10 91
0 0 11 90
0 0 12 89
0 0 13 88
0 0 14 87
0 0 15 86
0 0 16 85
0 0 17 84
0 0 18 83
0 0 19 82
0 0 20 81
0 0 21 80
0 0 22 79
0 0 23 78
0 0 24 77
0 0 25 76
0 0 26 75
0 0 27 74
0 0 28 73
0 0 29 72
0 0 30 71
0 0 31 70
0 0 32 69
0 0 33 68
0 0 34 67
0 0 35 66
0 0 36 65
0 0 37 64
0 0 38 63
0 0 39 62
0 0 40 61
0 0 41 60
0 0 42 59
0 0 43 58
0 0 44 57
0 0 45 56
0 0 46 55
0 0 47 54
0 0 48 53
0 0 49 52
0 0 50 51
0 0 51 50
0 0 52 49
0 0 53 48
0 0 54 47
0 0 55 46
0 0 56 45
0 0 57 44
0 0 58 43
0 0 59 42
0 0 60 41
0 0 61 40
0 0 62 39
0 0 63 38
0 0 64 37
0 0 65 36
0 0 66 35
0 0 67 34
0 0 68 33
0 0 69 32
0 0 70 31
0 0 71 30
0 0 72 29
0 0 73 28
0 0 74 27
0 0 75 26
0 0 76 25
0 0 77 24
0 0 78 23
0 0 79 22
0 0 80 21
0 0 81 20
0 0 82 19
0 0 83 18
0 0 84 17
0 0 85 16
0 0 86 15
0 0 87 14
0 0 88 13
0 0 89 12
0 0 90 11
0 0 91 10
0 0 92 9
0 0 93 8
0 0 94 7
0 0 95 6
0 0 96 5
0 0 97 4
0 0 98 3
0 0 99 2
0 0 100 1
1
3 3 3.1 3.1
0

样例输出

Test case #1
Total explored area: 180.00

Test case #2
Total explored area: 7485400000.00

Test case #3
Total explored area: 10000000000.00

Test case #4
Total explored area: 3457160000.00

Test case #5
Total explored area: 0.00

Test case #6
Total explored area: 180.00

Test case #7
Total explored area: 1.00

Test case #8
Total explored area: 2.00

Test case #9
Total explored area: 495.00

Test case #10
Total explored area: 8532.40

Test case #11
Total explored area: 0.01

讨论

计算几何,扫描线+离散化,搭配线段树,具体思想,先考虑扫面线的方向,额的扫描线是平行于x轴,之后将整个图形按y坐标切割为若干块,确保每一块中不会有其他和x轴平行的线段,计算每一小块的面积,最后相加即可

这是样例1的图示,红色的是扫描线,现在已经计算了黄色了蓝色的面积,还剩下最后一块没有计算
从思想上说确实不难理解,但是到实现层面会略有麻烦,首先,怎样知道每一块小矩形的宽?每次扫描线经过一个下底边,求出这条边和之前小矩形宽度的并,作为新的小矩形的宽,而当遇到上底边时就将这部分并施放掉,为此,需要一个计数器计数该区域一共有多少线段叠加,初始都为0,遇到下底边,+1,上底边,-1,这样所有非0的部分的总长就是小矩形的宽
不过这样会带来两个麻烦,其一,每次遇到底边,需要更新的计数器数量太多,其二,浮点数几乎可以无限细分,无法构造那么多计数器,于是便需要用到离散化,对新人(比如额自己)这个名词看上去很复杂,实际上就是另开一个数组,将不同的值都塞进去,然后用下标来表示他们,还是样例1,由于扫描线是水平的,因而需要将横坐标离散化,观察到只有4种横坐标取值,10,15,20,25,于是将其塞到数组下标1到4的位置(为什么不用0?下面解释),然后就相当于是横坐标只有1到4的范围了,非常容易处理了

如图所示,现在仅需要3个计数器就能解决问题,红色的值为刚刚更新的计数器值,黑色是没有更新
但是细想,还有一点问题,就是统计总长的办法,虽说离散化后最多也就200个不同的横坐标,但是每次都要去逐一数出小矩形的宽,未免太麻烦,于是引出了线段树,利用线段树进行高效的修改和统计,而众所周知,线段树和下标0无缘,这也就是为什么之前离散的时候没有用下标0,仍然是样例1,根节点(下标1)范围1到4,也就是横坐标10到25,左子树(下标2)范围1到2,右子树(下标3)范围2到4,右子树的左子树范围2到3,右子树的右子树范围3到4,对于这里,需要注意到两点,其一,注意和普通的线段树构造的差异,普通线段树这里应是右子树范围是3到4,那是因为普通线段树2到3之间没有东西,而这里2到3之间是横坐标15到20的范围,有东西,其二,注意到叶子节点不是诸如1到1,2到2这样的,而是1到2,2到3之类,因为线段树所表示的是一段线段,不是一个点,点没有长度,不用表示
其他的细节问题会在代码中指出,这里就不在赘述了
样例数据来自讨论版,额自己只用了第一组样例就过了(然而这之前对着题解和代码啃了一整天)
题解会给出两种,第一种是提交的最初方案,第二种是经过一点改进后的方案,由于第二种需要频繁查询离散数组,效率受到一定影响,由于主体部分都是一样的,注释会少一些

题解状态

第一版:252K,0MS,C++,1880B
第二版:216K,16MS,C++,1710B

题解代码

第一版:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define INF 0x3f3f3f3f
#define MAXN 2002//范围开这么大只是为了保险 实际1000足矣
#define memset0(a) memset(a,0,sizeof(a))
#define EPS 1e-8struct Ln//line 线的结构 确切说是水平线的结构
{double l, r, y;//left right 水平线左右端点横坐标 y 水平线的纵坐标int f;//flag 配合计数器使用 下底边为1 上底边为-1bool operator<(const Ln &b)const//为了方便排序{return y < b.y;}
}lns[MAXN];//存放所有水平线
struct It//item 线段树的节点结构 实际上将每个元素单独作为一个数组也一样 只是为了有整体观念
{int l, r;//left right 该节点所指代的离散值的下标范围int c;//cover 计数器 或者说覆盖层数 只要非0就可以算入长度double lf, rf, len;//left_float right_float 离散下标所指代的实际值 length 该节点的有效宽度
}its[MAXN];
int N;//矩形总数
double hashx[MAXN];//离散化用数组 实际上离散化的英文是discretization 不过叫做哈希方便一点
void build(int i, int l, int r)//构造线段树
{its[i].l = l, its[i].r = r, its[i].lf = hashx[l], its[i].rf = hashx[r], its[i].c = its[i].len = 0;//初始化所有量 并为每个节点赋上离散前实际的横坐标值if (l + 1 != r) {//注意是+1后不等 构造一个点没有任何意义build(i * 2, l, (l + r) / 2);build(i * 2 + 1, (l + r) / 2, r);}
}
void length(int i)//求有效宽度
{if (its[i].c)//如果有覆盖标记its[i].len = its[i].rf - its[i].lf;//那整段都是有效宽度else//没有覆盖标记 没覆盖 或没有完全覆盖its[i].len = its[i * 2].len + its[i * 2 + 1].len;//直接取左右子树的和即可 对于叶节点其左右节点有效长度都是0 不用担心未清零的数据造成的影响 因为最后所有计数器一定都是0 因而有效长度都会被清零 这个可以在调试中观察一下
}
void modify(int i, Ln &a)//利用线段更新线段树
{if (a.l == its[i].lf&&a.r == its[i].rf) {//如果线段和节点表示范围一致its[i].c += a.f;//对覆盖层进行处理length(i);//算出有效宽度return;}if (a.l >= its[i * 2 + 1].lf)//如果线段都在右子树范围内modify(i * 2 + 1, a);//递归去更新右子树else if (a.r <= its[i * 2].rf)//如果都在左子树范围内modify(i * 2, a);//递归去更新左子树else {//如果线段横跨左右子树的范围Ln b = a;//先构造一条临时线段b.r = its[i * 2].rf;//以左右子树的横坐标分界点进行切割 这是切成的左边半段 使得其完全在左子树范围内modify(i * 2, b);//用切割后的线段去更新b = a;//重置线段b.l = its[i * 2 + 1].lf;//再切割出右边半段modify(i * 2 + 1, b);//同样去更新右边 如此做以确保最后总有和节点表示范围等宽的时候 可以直接更新该节点的计数器 比如若有某线段和根节点表示范围等宽时 只要修改根节点覆盖层即可 不用再递归}length(i);//处理后再计算有效宽度
}
double fun()
{for (int p = 1; p <= N; p++) {//从1开始以配合线段树double x1, y1, x2, y2;scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);//inputlns[p].l = x1, lns[p].r = x2, lns[p].y = y1, lns[p].f = 1;//读出下底边数据lns[N + p].l = x1, lns[N + p].r = x2, lns[N + p].y = y2, lns[N + p].f = -1;//读出上底边数据hashx[p] = x1, hashx[N + p] = x2;//加入新的离散化值}sort(lns + 1, lns + 2 * N + 1);//将线段按纵坐标排序以得到小矩形高度sort(hashx + 1, hashx + 2 * N + 1);//对离散化值排序以使得线段树节点表示范围有序build(1, 1, 2 * N);//构造树modify(1, lns[1]);//以第一条线段更新树double area = 0;for (int p = 2; p <= 2 * N; p++) {area += its[1].len*(lns[p].y - lns[p - 1].y);//求出面积 树根节点的有效宽度即是所有有效宽度modify(1, lns[p]);//用下一条线段更新线段树}return area;//最后返回结果
}
int main(void)
{//freopen("vs_cin.txt", "r", stdin);//freopen("vs_cout.txt", "w", stdout);int times = 0;while (~scanf("%d", &N) && N)//inputprintf("Test case #%d\nTotal explored area: %.2lf\n\n", ++times, fun());//output
}

第二版:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define INF 0x3f3f3f3f
#define MAXN 1002
#define memset0(a) memset(a,0,sizeof(a))
#define EPS 1e-8struct Ln
{double l, r, y;int f;bool operator<(const Ln &b)const{return y < b.y;}
}lns[202];//100个矩形 最多200条水平线
int N;
int L[MAXN], R[MAXN], c[MAXN];
double hashx[202], len[MAXN];//将原本节点结构拆分为四个数组 lf和rf直接利用离散数组查询 不再单独记录
void build(int i, int l, int r)
{L[i] = l, R[i] = r, c[i] = len[i] = 0;if (l + 1 != r) {build(i * 2, l, (l + r) / 2);build(i * 2 + 1, (l + r) / 2, r);}
}
void modify(int i, Ln &a)
{if (a.l == hashx[L[i]] && a.r == hashx[R[i]])c[i] += a.f;else if (a.l >= hashx[L[i * 2 + 1]])modify(i * 2 + 1, a);else if (a.r <= hashx[R[i * 2]])modify(i * 2, a);else {Ln b = a;b.r = hashx[R[i * 2]];modify(i * 2, b);b = a;b.l = hashx[L[i * 2 + 1]];modify(i * 2 + 1, b);}if (c[i])//这两行是原本length函数的len[i] = hashx[R[i]] - hashx[L[i]];elselen[i] = len[i * 2] + len[i * 2 + 1];
}
double fun()
{for (int p = 1; p <= N; p++) {double x1, y1, x2, y2;scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);//inputlns[p].l = x1, lns[p].r = x2, lns[p].y = y1, lns[p].f = 1;lns[N + p].l = x1, lns[N + p].r = x2, lns[N + p].y = y2, lns[N + p].f = -1;hashx[p] = x1, hashx[N + p] = x2;}sort(lns + 1, lns + 2 * N + 1);sort(hashx + 1, hashx + 2 * N + 1);build(1, 1, 2 * N);double area = 0;for (int p = 1; p <= 2 * N; p++) {modify(1, lns[p]);//变换了一下顺序 现在是先更新后求面积area += len[1] * (lns[p + 1].y - lns[p].y);}return area;
}
int main(void)
{//freopen("vs_cin.txt", "r", stdin);//freopen("vs_cout.txt", "w", stdout);int times = 0;while (~scanf("%d", &N) && N)//inputprintf("Test case #%d\nTotal explored area: %.2lf\n\n", ++times, fun());//output
}

EOF

poj 1151 hdu 1542相关推荐

  1. 扫描线三巨头 hdu1928hdu 1255 hdu 1542 [POJ 1151]

    学习链接:http://blog.csdn.net/lwt36/article/details/48908031 学习扫描线主要学习的是一种扫描的思想,后期可以求解很多问题. 扫描线求矩形周长并 hd ...

  2. 【扫描线法】 poj 1177 hdu 1828

    可以看看这里: http://www.cnblogs.com/Booble/archive/2010/10/10/1847163.html 为了写扫描线, 大概写了有史以来最丑的线段树了. poj 1 ...

  3. poj 1151 Atlantis

    类型:离散化 题目:http://poj.org/problem?id=1151 来源:Mid-Central European Regional Contest 2000 思路[一]: (1)使用m ...

  4. POJ 3278 / hdu 2717 Catch That Cow (广搜)

    POJ 3278 HDU 2717 广搜题,用一个数组标记就可以过,不标记的话会超内存. 另外,poj的数据要比hdu强一些,比如0 100,这种数据.不特判的话会RE.不过如果不特判,在poj上用C ...

  5. 【中国剩余定理】POJ 1006 HDU 1370 Biorhythms

    题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...

  6. POJ 3801/HDU 3157 Crazy Circuits | 有下界的最小流

    题目: POJ最近总是炸 所以还是用HDU吧http://acm.hdu.edu.cn/showproblem.php?pid=3157 题解: 题很长,但其实就是给个有源汇带下界网络流(+是源,-是 ...

  7. hdu 1542 Atlantis (线段树+扫描线)

    http://acm.hdu.edu.cn/showproblem.php?pid=1542 单纯的线段树+扫描线求面积并,需要离散化. code: #include <cstdlib> ...

  8. POJ 1151 Atlantis 矩形面积求交/线段树扫描线

    Atlantis 题目连接 http://poj.org/problem?id=1151 Description here are several ancient Greek texts that c ...

  9. poj 3779 hdu 3413 Single CPU, multi-tasking

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3413    http://poj.org/problem?id=3779 这是一道模拟题,但是因为数据 ...

最新文章

  1. 作为一个java程序员,常用的linux命令(越攒越多)
  2. Java中的static关键字的用法
  3. iOS传感器:实现一个随屏幕旋转的图片
  4. Simple Transformer:用BERT、RoBERTa、XLNet、XLM和DistilBERT进行多类文本分类
  5. Weka 3.7.12源码学习、阅读、分析(1)
  6. java中min用法,java11教程--类MinguoDate用法
  7. 使用SVCUtil.exe生成客户端代理类和配置文件
  8. C#中全角与半角的转换
  9. C#多线程学习(六) 互斥对象
  10. primefaces_通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表
  11. 数字图像处理--空间滤波器
  12. 解锁新的“维权方式”?车主放花圈维权!特斯拉大怒:低俗方法滋事
  13. 计算任意两个圆的交点
  14. [kuangbin带你飞]专题五 并查集 A - Wireless Network
  15. BP神经网络的数学原理及其算法实现
  16. 用C++实现跨平台游戏开发之Irrlicht引擎
  17. 纳什均衡定义、举例、分类
  18. 一年风雨几度寒,一杯浊酒敬虎年
  19. 思科交换机密码清除方法记录
  20. DIY装机之显示器(苹果显示器参数)

热门文章

  1. Java 期末试题之GeoJSON
  2. MySQL删除表中的数据
  3. JAVA代审之Struts2漏洞S2-057的调试分析
  4. java反射机制之数组转对象
  5. C语言全局变量定义方法
  6. YGG SEA 新增投资四款游戏
  7. js 获取father_JavaScript中获取高度和宽度函数总结_javascript技巧
  8. 【vue】页面缩放获取屏幕宽度、多个按钮根据屏幕宽度合并成一个按钮
  9. MQTT协议发送GPS坐标到服务器
  10. phpstduy8 redisClient 2.0 点不了_LOL转区系统2.0试运行公告:提供了贴心的转区快照预览功能...