Redian新闻
>
Percy jackson 第二部太弱了
avatar
Percy jackson 第二部太弱了# Movie - 无限影话
c*f
1
给个int 让你找它的binary表示里面的1的个数
我想到把它转成binary以后数多少个1就可以了
有没有什么用位操作之类的好办法可以让它更快?
感觉位操作这块很不熟悉 什么时候该和什么& | ~什么的
谁能给说说呢?
avatar
c*x
2
www.aa.com/AAdvantage30
Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
the AAdvantage® program, the AAdvantage® program would like to
thank you with 1,000 AAdvantage® bonus miles.1, 2
Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
174; credit cardmembers who register a valid AAdvantage® number below
will receive 1,000 AAdvantage® bonus miles.1, 2
The AAdvantage® number you enter must belong to the primary credit
cardmember.
avatar
w*a
3
里面大眼美女和男主角最多就是个拥抱。 连亲个嘴儿都没有。
艹 这叫什么电影啊。
后来我一查, 女的28,男的22。 确实没法亲嘴儿,整个一个姐弟恋。
avatar
l*u
4

int i = 100123311
int counter;
可以
while(i>0){
if(i%10==1) counter ++;
i=i/10;
}
avatar
d*l
5
only need AAdvantage #, don't need citi credit card #
avatar
x*6
6
那个啥,他们是表叔侄关系,属于三代内血亲吧。楼主口味偏重。

【在 w*********a 的大作中提到】
: 里面大眼美女和男主角最多就是个拥抱。 连亲个嘴儿都没有。
: 艹 这叫什么电影啊。
: 后来我一查, 女的28,男的22。 确实没法亲嘴儿,整个一个姐弟恋。

avatar
m*n
7
int numberofones(unsigned int number)
{
if(number == 0)
return 0;
number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
number = ((0xcccccccc&number)>>2) + (0x33333333&number);
number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
number = (number>>16) + (0x0000ffff&number);
return number;
}

【在 c******f 的大作中提到】
: 给个int 让你找它的binary表示里面的1的个数
: 我想到把它转成binary以后数多少个1就可以了
: 有没有什么用位操作之类的好办法可以让它更快?
: 感觉位操作这块很不熟悉 什么时候该和什么& | ~什么的
: 谁能给说说呢?

avatar
f*r
8
我在那个连接里怎么没看到说要送1000
我的是显示这个
May 10SPECIAL ANNIVERSARY OFFERS UP TO 60K MILES
First time Citi® / AAdvantage® credit cardmembers can earn 30,000
AAdvantage bonus miles after making $1,000 in purchases within 4 months of
becoming a cardmember. Plus, earn an additional 30,000 AAdvantage bonus
miles after making $10,000 in purchases during your first 12 months as a
credit cardmember!* (offer ends May 27, 2011)
avatar
h*r
9
这个电影的cast太弱了,选的演员都太老了

【在 w*********a 的大作中提到】
: 里面大眼美女和男主角最多就是个拥抱。 连亲个嘴儿都没有。
: 艹 这叫什么电影啊。
: 后来我一查, 女的28,男的22。 确实没法亲嘴儿,整个一个姐弟恋。

avatar
m*n
10
这个算的不是binary的
要是算binary,要%2 和/2的

【在 l**u 的大作中提到】
: 用
: int i = 100123311
: int counter;
: 可以
: while(i>0){
: if(i%10==1) counter ++;
: i=i/10;
: }

avatar
m*s
11
+1
这个1000 in first 4 months是什么意思啊

000

【在 f******r 的大作中提到】
: 我在那个连接里怎么没看到说要送1000
: 我的是显示这个
: May 10SPECIAL ANNIVERSARY OFFERS UP TO 60K MILES
: First time Citi® / AAdvantage® credit cardmembers can earn 30,000
: AAdvantage bonus miles after making $1,000 in purchases within 4 months of
: becoming a cardmember. Plus, earn an additional 30,000 AAdvantage bonus
: miles after making $10,000 in purchases during your first 12 months as a
: credit cardmember!* (offer ends May 27, 2011)

avatar
l*u
12
啊。我看错料。你的那个方法应该也可以。效率可能会比较高吧。

【在 m****n 的大作中提到】
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x33333333&number);
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
: number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
: number = (number>>16) + (0x0000ffff&number);
: return number;

avatar
r*e
13
有两个选项。 第二个“already a citi card memeber?..."

000

【在 f******r 的大作中提到】
: 我在那个连接里怎么没看到说要送1000
: 我的是显示这个
: May 10SPECIAL ANNIVERSARY OFFERS UP TO 60K MILES
: First time Citi® / AAdvantage® credit cardmembers can earn 30,000
: AAdvantage bonus miles after making $1,000 in purchases within 4 months of
: becoming a cardmember. Plus, earn an additional 30,000 AAdvantage bonus
: miles after making $10,000 in purchases during your first 12 months as a
: credit cardmember!* (offer ends May 27, 2011)

avatar
l*c
14
1. bit op
2. loop
3. x&(x-1)
avatar
l*8
15
为嘛我信用卡号都没输,就直接说注册好了……
avatar
l*u
16
不过说实话,我没太看懂。
我看的这些a呀f呀就晕掉了
可以用bit运算做的话,不知道对不对。
int counter =0;
int i = 1212321;
i = Math.abs(i);
while (i > 0) {
i = i >>> 1;
if ((i & 0X1) == 1) {
counter++;
}
}
System.out.println(counter);

【在 m****n 的大作中提到】
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x33333333&number);
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
: number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
: number = (number>>16) + (0x0000ffff&number);
: return number;

avatar
r*e
17
3x

174;
of


【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
m*n
18
我那个意思就是:
假设 X = 4*a + 2*b + 1*c
我们要求的是:Y = a +b+c;
把 X >> 1, 得到的是 2*a + b,加上之前的X 就得到了 a+b
用掩码保护下 a+b ,继续吧X 右移相加,移动了 32位之后就得到最高的那个了
我说不好。。。你google下吧

【在 l**u 的大作中提到】
: 不过说实话,我没太看懂。
: 我看的这些a呀f呀就晕掉了
: 可以用bit运算做的话,不知道对不对。
: int counter =0;
: int i = 1212321;
: i = Math.abs(i);
: while (i > 0) {
: i = i >>> 1;
: if ((i & 0X1) == 1) {
: counter++;

avatar
b*s
19
thanks
avatar
s*t
20
int a = 12345;
int count = 0;
for( int i = a; i != 0; i = i>>1 ){
count += i & 1;
}
printf("%d", count);

【在 c******f 的大作中提到】
: 给个int 让你找它的binary表示里面的1的个数
: 我想到把它转成binary以后数多少个1就可以了
: 有没有什么用位操作之类的好办法可以让它更快?
: 感觉位操作这块很不熟悉 什么时候该和什么& | ~什么的
: 谁能给说说呢?

avatar
i*2
21
xiexie
avatar
w*1
22
这个方法不错啊。

【在 s*********t 的大作中提到】
: int a = 12345;
: int count = 0;
: for( int i = a; i != 0; i = i>>1 ){
: count += i & 1;
: }
: printf("%d", count);

avatar
s*z
23
我有两长,我以为可以搞两次,sigh....

174;
of


【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
s*t
24
楼主这个careercup上的题目,我刚好看过,见笑了

【在 w******1 的大作中提到】
: 这个方法不错啊。
avatar
C*a
25
thanks!

174;
of


【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
s*a
26
这个best

【在 l******c 的大作中提到】
: 1. bit op
: 2. loop
: 3. x&(x-1)

avatar
N*S
27
我怎么看不见提交的地方?
avatar
l*o
28
这个方法有意思。

int numberofones(unsigned int number)
{
if(number == 0)
return 0;
number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
number = ((0xcccccccc&number)>>2) + (0x03333333&number);
number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
number = (number>>16) + (0x0000ffff&number);
return number;
}

【在 m****n 的大作中提到】
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x33333333&number);
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
: number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
: number = (number>>16) + (0x0000ffff&number);
: return number;

avatar
c*g
29
me too.

000

【在 f******r 的大作中提到】
: 我在那个连接里怎么没看到说要送1000
: 我的是显示这个
: May 10SPECIAL ANNIVERSARY OFFERS UP TO 60K MILES
: First time Citi® / AAdvantage® credit cardmembers can earn 30,000
: AAdvantage bonus miles after making $1,000 in purchases within 4 months of
: becoming a cardmember. Plus, earn an additional 30,000 AAdvantage bonus
: miles after making $10,000 in purchases during your first 12 months as a
: credit cardmember!* (offer ends May 27, 2011)

avatar
x*y
30
Actually, it's just a process of storing the number of bit 1 of every 2^n
bits in every 2^n bits, n=1,2,...5.... The in-place bit operations makes it
seem complicated...

【在 l******o 的大作中提到】
: 这个方法有意思。
:
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x03333333&number);
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
: number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);

avatar
h*n
31
me three,是不是显示这个就没戏了.

【在 c****g 的大作中提到】
: me too.
:
: 000

avatar
f*4
32
int bitCounter(int number){
int counter = 0;
int n = sizeof(int) * 8;
int mask = 1 << (n - 1);
for(int i = 1; i <= n; ++i)
{
if((mask & number) != 0)
++counter;
number <<= 1;
}
return counter;
}
只能做<>会有1多出来的
avatar
f*n
33
Thank you. It works!

; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
the AAdvantage® program, the AAdvantage® program would like to
reg; credit cardmembers who register a valid AAdvantage® number below
will receive 1,000 AAdvantage® bonus miles.1, 2
cardmember.
NUMBER>

【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
w*1
34
number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
看起来很复杂啊?
这是怎么回事
1010
0101
1100
0011
1111
avatar
y*n
35
Is it expired? I got following message after click "REGISTER NOW":
"Oops! You've reached your maximum number of entries allowed. Please see
rules for more details."

; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
the AAdvantage® program, the AAdvantage® program would like to
reg; credit cardmembers who register a valid AAdvantage® number below
will receive 1,000 AAdvantage® bonus miles.1, 2
cardmember.
NUMBER>

【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
m*n
36
掩码....
0101保护末位
0011保护末两位
不过这个code有bug,0xffffffff应该返回32,它只能返回30,不晓得哪里有问题

【在 w******1 的大作中提到】
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: 看起来很复杂啊?
: 这是怎么回事
: 1010
: 0101
: 1100
: 0011
: 1111

avatar
r*l
37
same error here.

of

【在 y***n 的大作中提到】
: Is it expired? I got following message after click "REGISTER NOW":
: "Oops! You've reached your maximum number of entries allowed. Please see
: rules for more details."
:
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: reg; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: cardmember.
: NUMBER>

avatar
l*o
38

int numberofones(unsigned int number)
{
if(number == 0)
return 0;
number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
number = ((0xcccccccc&number)>>2) + (0x03333333&number);
~~~~~~~
0x33333333吧
number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
number = (number>>16) + (0x00

【在 m****n 的大作中提到】
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x33333333&number);
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);
: number = ((0xff00ff00&number)>>8) + (0x00ff00ff&number);
: number = (number>>16) + (0x0000ffff&number);
: return number;

avatar
b*k
39
thx
but dead here

174;; / AAdvantage® credit cardmember. To celebrate the 30th
anniversary of the AAdvantage® program, the AAdvantage® program
would like to
® credit cardmembers who register a valid AAdvantage® number below
will receive 1,000 AAdvantage® bonus miles.1, 2
cardmember.
NUMBER>

【在 c*****x 的大作中提到】
: www.aa.com/AAdvantage30
: Thank you for being a Citi® / AAdvantage® and/or CitiBusiness®
: ; / AAdvantage® credit cardmember. To celebrate the 30th anniversary of
: the AAdvantage® program, the AAdvantage® program would like to
: thank you with 1,000 AAdvantage® bonus miles.1, 2
: Eligible Citi® / AAdvantage® and CitiBusiness® / AAdvantage
: 174; credit cardmembers who register a valid AAdvantage® number below
: will receive 1,000 AAdvantage® bonus miles.1, 2
: The AAdvantage® number you enter must belong to the primary credit
: cardmember.

avatar
m*n
40
哦,对!谢谢!
bug!我写错了!
我刚想了好久好久!怎么觉得这个算法没错....没想到居然写错了一个数字!
你debug很好啊!这么一对数字里看出来了.

【在 l******o 的大作中提到】
:
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x03333333&number);
: ~~~~~~~
: 0x33333333吧
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);

avatar
m*n
41
我说怎么老丢两位,还以为是overflow,或者负数之类的原因
没想到是这样的,嗯。。。

【在 l******o 的大作中提到】
:
: int numberofones(unsigned int number)
: {
: if(number == 0)
: return 0;
: number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
: number = ((0xcccccccc&number)>>2) + (0x03333333&number);
: ~~~~~~~
: 0x33333333吧
: number = ((0xf0f0f0f0&number)>>4) + (0x0f0f0f0f&number);

avatar
l*o
42
我一开始也以为是进位,后来一想不可能是进位问题,那就只能是代码本身的问题了。

我说怎么老丢两位,还以为是overflow,或者负数之类的原因
没想到是这样的,嗯。。。

【在 m****n 的大作中提到】
: 我说怎么老丢两位,还以为是overflow,或者负数之类的原因
: 没想到是这样的,嗯。。。

avatar
x*y
43
For the first one,in the 2nd step it should be (0x33333333&number) instead
of (0x03333333&number);
In the link,
int NumberOfSetBits(int i)
{
i = i - ((i >> 1) & 0x55555555);
i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
return ((i + (i >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
}
It's basically the same as the first one. The first two steps are the same
as
number = ((0xaaaaaaaa&number)>>1) + (0x55555555&number);
number = ((0xcccccccc&number)>>2) + (0x33333333&number);
and in the last s

【在 m****n 的大作中提到】
: 我说怎么老丢两位,还以为是overflow,或者负数之类的原因
: 没想到是这样的,嗯。。。

avatar
m*n
44
嗯,这个bug隐藏的还蛮深,因为好像只有跑这3个数才能导致错误
哈哈,要是人家算是failure sensitive比较低的bug。。。

【在 l******o 的大作中提到】
: 我一开始也以为是进位,后来一想不可能是进位问题,那就只能是代码本身的问题了。
:
: 我说怎么老丢两位,还以为是overflow,或者负数之类的原因
: 没想到是这样的,嗯。。。

avatar
m*n
45
嗯,大家都发现这个bug了。。。
我为啥就发现不了呢。。。

【在 x***y 的大作中提到】
: For the first one,in the 2nd step it should be (0x33333333&number) instead
: of (0x03333333&number);
: In the link,
: int NumberOfSetBits(int i)
: {
: i = i - ((i >> 1) & 0x55555555);
: i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
: return ((i + (i >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
: }
: It's basically the same as the first one. The first two steps are the same

avatar
b*v
46
unsigned int t = 0;
for(unsigned int i=0; i<32; i++) {
t += (n>>i)&1;
}
cout << "The number " << n << " has " << t << " one's" << endl;

【在 c******f 的大作中提到】
: 给个int 让你找它的binary表示里面的1的个数
: 我想到把它转成binary以后数多少个1就可以了
: 有没有什么用位操作之类的好办法可以让它更快?
: 感觉位操作这块很不熟悉 什么时候该和什么& | ~什么的
: 谁能给说说呢?

avatar
c*f
47
怎么感觉职业杯上的题目跟考研题库似地~~做之! 感谢各位的回答
avatar
x*n
48
这里的 i 要定义成unsigned int吧,不然如果a是负数,会陷入死循环的。

【在 s*********t 的大作中提到】
: int a = 12345;
: int count = 0;
: for( int i = a; i != 0; i = i>>1 ){
: count += i & 1;
: }
: printf("%d", count);

avatar
m*9
49
这个题目在编程之美上有, 最快的方法是查表, O(1)的复杂度.
不过面试的时候, 还是写个bitwise+loop的方法吧
avatar
f*u
50
by the way, you can also mention that the instruction POPCNT in x86 SSE4 can
do it by hardware.
avatar
s*t
51
刚才有人说那个bitcount很好呀。
怎么一眨眼没了。
java
Integer.bitCount(n);
avatar
I*A
53
我是想,这个Integer.bitCount是最简单的,可是不一定是最快的,所以删掉了
谁知道Java Integer自己的bitCount是怎么设计的?LZ找的是最快的方法不是?
估计还是这个快
int countBit(int a){
int count=0;
while(a!=0){
count+=a & 1;
a=a>>1;
}
}

【在 s******t 的大作中提到】
: 刚才有人说那个bitcount很好呀。
: 怎么一眨眼没了。
: java
: Integer.bitCount(n);

avatar
r*o
54
查表最快,
a&(a-1)也比较快。

【在 I**A 的大作中提到】
: 我是想,这个Integer.bitCount是最简单的,可是不一定是最快的,所以删掉了
: 谁知道Java Integer自己的bitCount是怎么设计的?LZ找的是最快的方法不是?
: 估计还是这个快
: int countBit(int a){
: int count=0;
: while(a!=0){
: count+=a & 1;
: a=a>>1;
: }
: }

avatar
b*v
55
a&(a-1)为什么可以找出里面含1的个数?

【在 r****o 的大作中提到】
: 查表最快,
: a&(a-1)也比较快。

avatar
r*o
56
每次可以消去一个1,
然后再把这个结果作为a

【在 b******v 的大作中提到】
: a&(a-1)为什么可以找出里面含1的个数?
avatar
b*v
57
这和a&1,然后每次a右移一位,速度是一样的吧?

【在 r****o 的大作中提到】
: 每次可以消去一个1,
: 然后再把这个结果作为a

avatar
r*o
58
这个复杂度是O(k),k是1个个数。
那个复杂度是O(n),n是所有bit个数。

【在 b******v 的大作中提到】
: 这和a&1,然后每次a右移一位,速度是一样的吧?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。