欢迎辞欢迎来到“笃志以砺,决起而飞”! 如果您是第一次来到本站,建议访问 本站导读以便更快地了解本站。 如果您喜欢本站, 欢迎订阅。 | 有时候,一个好梦或许比梦魇还让人恐怖。 当不得不从美梦中惊醒,看到一个完全陌生的世界时,即使一声鸟鸣,一丝晨光,都会是对自己美好梦境的绝妙讽刺。 这时候我是多么想继续睡下去,继续演绎之前的梦境。 这种失落和无奈,让人失魂落魄,神魂颠倒,恍若隔世。是谁盗走了我的美梦。 在床上坐着,一个颤抖,一个激灵。要努力让自己相信,那只是一个梦。这是一件多么残酷却又真实的事。 看了看表,时间指向了早上八点钟。又是新的一天。四周的床铺已经空无一人。 一声叹息之后,整理一下自己的心情,爬下自己的床。 音乐传播技术和播放载体的变化给音乐产业带来了一场变革。传统唱片业日渐萎缩,传统唱片的盗版也随之日渐销声匿迹,数字音乐如日中天,产值不断攀升。 然而,中国原创音乐人并没有如同世界其他国家的音乐人一样迎来一场数字音乐的春天,反而发现自己的权益更加无法保护,因为他们面临一个更为强大、更为肆无忌惮的敌人,那就是无处不在的盗版网站。而这些盗版网站赖以生存的重要手段之一,那就是百度的深度链接。 百度在明知不法网站盗版行径的前提下,仍然不惜助纣为虐,为他们提供深度链接这一同路和生存土壤,目的是获得巨额流量,从而获得广告收入,壮大公司利润,进而在国外股票市场上有所斩获。在这方面,百度确实成功了,以千亿计算的公司市值,李彦宏中国首富的耀眼头衔,都证明了这一成功。而这一辉煌成果的背后,又有多少音乐从业人员在无奈叹息? 其实在今天的中国,网站直接购买版权,或者经过权利人许可,通过消费者提供免费正版音乐获取流量,并将广告收入和权利人分享的商业模式已经成熟。新浪乐库、巨鲸音乐网等正版音乐网站就做出了有益的尝试。而百度则一意孤行,为一己之私利,至今仍在为盗版网站提供深度链接,担任盗版的帮凶,损害音乐权利人的利益。 中国音像协会唱片工作委员会通过这封公开信呼吁所有中国原创音乐产业人员团结起来,通过你们的博客、微博等工具和你们的公众影响力,让我们一起: 抗议百度通过成为盗版帮凶获取不义之财的行径,敦促百度终止盗版网站的深度链接,弃暗投明; 呼吁政府有关部门加大管理力度和执法力度,严惩盗版,关闭盗版音乐网站; 恳请音乐消费者到正版音乐网站欣赏和消费音乐,支持正版,支持你们喜爱的音乐人。 让我们一起迎接数字音乐产业的明媚春天! 中国音像协会唱片工作委员会 最近刷题得进度可以说慢到一定境界上了,今天中午抽空终于把n天前残留的 1703 给过掉了。 这个题目也是一个并查集的题目。但是在这道题目中,有一个非常重要的性质: 这样,假设 A、B 两个人不是在同一个 gang 中,A、C 两个人不是在同一个 gang 中,就必定有 B、C 两个人在同一个 gang 中。因此我们可以放心地将 B、C 两个人合并。 也就是说,每次发现 X Y 在不同的集合中,我们都可以将与 X 不在同一集合的与 Y 合并,将与 Y 不在同一集合的与 X 合并。根据并查集的性质,为了在每次合并时找到与其不在一个集合的元素,我们只需要记录他们的一个代表元素即可,于是我们使用 opt[x] 代表一个与 x 不在同一个集合的元素。 另外,本题读入必须使用 scanf,因为即使取消同步,cin 也会超时。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/* POJ 1703
* By Ceeji
* Union
*/
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
#define MAX_N 100000
int case_num, n, m;
int parent[MAX_N];
int opt[MAX_N];
void init_set ()
{
for (int i = 0; i < MAX_N; ++i)
parent[i] = i;
memset(opt, 0, sizeof(opt));
}
int get_parent (int p)
{
if (parent[p] == p)
return p;
parent[p] = get_parent(parent[p]);
return parent[p];
}
void set_union (int x, int y)
{
int px = get_parent (x);
int py = get_parent (y);
if (px == py)
return;
parent[px] = py;
}
void do_work ()
{
cin >> n >> m;
init_set ();
char c;
int x, y;
while (m--)
{
scanf("\n%c %d %d", &c, &x, &y);
//cin >> c >> x >> y;
if (c == 'D')
{
if (opt[x] == 0)
{
opt[x] = y;
}
else
{
set_union (opt[x], y);
}
if (opt[y] == 0)
{
opt[y] = x;
}
else
{
set_union (opt[y], x);
}
}
else
{
bool finish = false;
int px = get_parent (x);
int py = get_parent (y);
if (px != py)
{
if ((opt[x] != 0 && get_parent(opt[x]) == py) || (opt[y] != 0 && get_parent(opt[y]) == px))
printf("In different gangs.\n");
else
printf("Not sure yet.\n");
}
else
{
printf("In the same gang.\n");
}
}
}
}
int main ()
{
cin >> case_num;
while (case_num--)
{
do_work ();
}
return 0;
} |
【大学里有两种人,一种人占了大多数,他们“只有两件值得关心的事:一是把朋友交好,以后有结婚的对象,一是把功课读好,将来有满意的出路。”而另一种人极少极少,他们拥有“对社会的关心,对是非的判断能力,择善固执的勇气”。】 【我们的大学生天真、单纯、安分、听话。可是,如果“闹事”也可以解释为“以行动来改变现状”的话,我们这不会闹事的一代就值得令人忧虑了。四年一过,他就成为社会中坚——一个不懂得关心社会,不会判别是非,不敢行动的社会中坚!】 今年5月27日的《纽约客》杂志有这样一篇文章: 我的母亲生在柏林,侥幸逃过犹太人的大屠杀。今年母亲节,我请她去看场电影。这部影片非常卖座,故事好像与非洲的黑人有关。排队买票的行列很长。有一个年轻白人在行列间来往发散传单,劝大家不要买票,因为这部片子是南非制作的。排队的人大概都想的和我一样:“看不看由我自己决定,不用你来告诉我。”所以没人理他。 入场之后,灯黑了电影正要开始,前座的两个年轻女孩突然站起来面对观众,大声地演讲,解释这部影片如何地蔑视南非黑人的惨境,希望大家抵制。 观众中嘘声四起,有人不耐烦地大叫:“这里是美国;你要抗议到外面去!”也有生气的声音喊着:“我们付了五块钱电影票,让我们自己决定爱看不看!”偶尔有 个微弱的声音说:“听听她们说什么也好!”但是群众的喊声愈来愈大:“出去!出去!出去!” 坐在我身边的母亲显得很难过,她转身对我说:“这两个年轻女孩竟然愿意花十块钱买票进入一个人人喊打的地方来——或许她们真有点道理也说不定。” 在大家的鼓掌声中,戏院的工作人员很粗暴地把那两个女生架走了。灯又黑下来,但是没几分钟,一个年轻人,带着浓厚的英国腔,站起来说:“这是 一部充满种族歧视的影片——”愤怒的观众打断了他的话,有人在叫警察,但这个青年毫无惧色,继续大声说:“你们不让我把话说完,我是不会走的!”群众喊着:“滚蛋!滚蛋!”好不客易,来了两个警察,笑容满面地把那家伙给请了出去。 观众情绪还没有完全稳定下来,一个廿来岁、一脸胡子的小伙子在后排突然站了起来,说:“不不,我跟他们不是一道的;我跟你们一样买了票纯粹来 看戏的。我只是想到,或许对于这样一个影响千万人一生的问题,我们应该有个坚定的道德立场,而不只是追求消遣而已。如果五十年前的人也像刚刚这几个人这样 对被迫害的犹太人执着的话,我的祖父也许可以活到今天,不至于死在德国的煤气房里。”然后我就听到一个非常熟悉沙哑的声音突然响起:“他说的一点不错;你 可别想叫我闭嘴!”我发觉我六十四岁的老母亲站了起来,面对着整个戏院;她全身在颤抖。 这一则不起眼的小故事可以招引出许多值得争议的问题来。譬如说,这几个为道德感所驱使的年轻人有没有权利阻止别人看这部“种族歧视”的电影? 如果我也在戏院里,我会是愤怒的群众之一,叫他们“滚蛋”主要的原因是,他们没有权利主宰我的思想——这个电影究竟如何要由我自己看过了再作决定。其次, 如果这一撮以“道德感”为理由的小团体能打断我的电影,那么,一个宗教团体、政治党派、商业集团等等,都可以肆意地来强迫推销它的理想,那个人还有什么自由自主可言? 南非的是非善恶也是个棘手的问题。它的种族隔离政策现在是千夫所指,万人唾弃。南非的白人简直是廿世纪的污点。事情的另外一面却是:南非若由黑人自决自主,恐怕歧视与屠杀会比现况更为剧烈——看看乌干达!看看整个非洲大陆! 但是《纽约客》这篇短文令我沉思许久的,却是这几个年轻抗议分子的行为。他们不算少数;哥伦比亚大学在南非有金钱的投资,哥大的学生也曾经热烈地示威过,反对学校当局“善恶不分”的和稀泥作风。而在戏院里“捣乱”的这些年轻人,事实上是一次一次地花五块钱买票——对学生而言,五块钱不是个小数目;进到戏院去让群众嘘骂,然后一次一次地被踢出来。这些人中,当然难免会有少数是为了幼稚的英雄主义或纯粹嬉闹,但大部分的,是为了一个道德立场,择善固执的理想。在一个人决定到戏院去“闹事”之前,他必须先具有三个条件。第一,他关心这个世界;因为关心,所以才会去注意南非黑人的困境。第二,他能作价值判断。对南非种族问题的报导纷纭不一,他得自己决定站在黑白那一边。第三,他有充分的道德勇气,充分到促使他付诸行动的地步。于是,他走到戏院去买票;五块钱,他很可以拿去溜冰或吃掉。 我们的年轻人呢?或者,缩小一点范围,我们的大学生呢?有多少人具备这三个品质? 就我有限的观察,非常、非常的少。以对社会的关心而言,我们的学生在大学的四面围墙里自给自足地活着,不常把头伸出来。几个月前,当十四位省议员集体辞职时,我曾经对几百位学生作过测验,要他们写下议员辞职的原因,结果正如预料,有少数给了支离破碎而模糊的答案,显然是浏览报纸后的残余印象。 百分之八十却很率直地回答:“不知道!” 为什么不知道?当然是因为缺乏兴趣,不关心。坊间杂志选出来的大学校园“美女”,被人问到社会问题时,娇滴滴地说:“好可怕哟!”吐吐舌头。这样“可爱” 又“纯洁”的大学女生为数不少,而且讨人喜欢。我们的学生不仅只对台湾本身的社会、政治问题印象模糊,对台湾以外的国际情况就更陌生了。伊索匹亚的饥荒、 乌干达的政变、南美的游击战、天主教廷对堕胎与离婚的立场、菲律宾的军队暴行等等,都不存在,都没有意义。没有关心,自然没有做价值判断的需要。根本不知道南非有严重的种族问题。当然就不必去思索谁是谁非,因为无从思索起。没有关心,也就无所谓道德勇气和道德行动。非洲的幼儿可以死光,南美的军队可以强暴妇女,因为事不关己。海山的煤矿可以一崩再崩,桃园的古迹可以拆了又拆,内湖的垃圾山可以烧了再烧,事不关己。大学四年之中,只有两件值得关心的事:一是把朋友交好,以后有结婚的对象,一是把功课读好,将来有满意的出路。对社会的关心,对是非的判断能力,择善固执的勇气,都不在大学的围墙以内。 换句话说,我们的年轻人天真、单纯、听话;他们绝对不会到戏院里去“闹事”。 为什么大学生的关心面那样狭窄?主要原因之一是,他的环境不鼓励,甚至于试图阻碍,他对书本以外的兴趣。大概很少有父母没说过这句话:“你只要把书读好,其他什么都不要管!”大学以前这样说,为了应付联考。进了大学之后这样说,为了应付留考、托福、高考、研究所人考等。“只要把书读好,其他什么都不要管” 这个金玉良言是应现代科举制度而产生的。读书的目的在求技能,用来敲开一层一层考试的门。研读哲学、历史、文学、经济等等,都不是为了增加人生的智慧与了解,而是为了取得谋生的技术。因为这种技术与人生无关,所以可以“什么都不要管”。可是这个金玉良言实在是经不起考验的。在“其他什么都不要管”的前提下,书,根本就不可能读得好。譬如读经济,一个学生可以用课本里的各种定义与学理来解释“通货膨胀”,可是要他分析为什么公务员的薪水要加百分之八他却目 瞪口呆,我们能说他书读好了吗?譬如读文学,他可以熟读欧威尔的《一九八四》,洋洋洒洒地写篇论文讨论制度与个人的关系,但是要他对江南案件提出看法,他却一片空白,我们能说他把书读通了吗?这个大千世界可以说是各个学科的实验室。学生在黑字白纸之间所学到的理论与例证,都还是抽象模糊的,只有在把知识带到人生的实验室里去观照验证之后,知识才能落实。要我们的学生封闭在大学的围墙里“其他什么都不要管”,等于是把学问与人生割离,也等于要学游泳的人在岸上靠图解学游泳,却不沾水,或学解剖的人在暗室里看幻灯片学解剖,却不动刀子。 我们的学生不会“闹事”,因为“闹事”的人要先有自己的主张——不是报纸社论,不是老师的看法,同学的意见,而是自己的主张。对我们单纯、天真的学生而言,独立作价值判断却是件非常困难的事。为什么?高三那年,开始上三民主义。有个沉闷的下午,我在课本中看到一句话:“三民主义是最适合中国人的主义。” 就这么一句斩钉截铁的结论。我以为自己漏掉了编者解释引证的部分,把课本前前后后翻过,却找不到任何阐释。十七岁的我坐在书前,感觉到深深的挫折:要达到这样一个结论,课本编者应该一步一步来,先解释中国人是怎么样的一个民族,然后说明其他主义如何的不适用于中国社会,最后才能逻辑地演绎出“三民主义是最适合中国人的主义”这个结论。可是编者显然觉得这些辩证的过程毫无必要。 第二天,在课堂上我请求老师解释“为什么”。老师很惊讶地望了我一眼,好脾气地一笑,回答:“课本这么写,你背起来就是。联考不会问你为什么。” 在我早期的求知过程中,这个小小的经验是个很大的挫折。基本上,课本编者与授课老师并不认为学生有自己作判断、下结论的能力,所以才会有这种“你别问为什么,记住我的答案就行”的态度。他们因此所剥夺于我的,是我求知的权利与独立判断的能力。现在的教育方式和过去没有太大的改变,我们的教育者仍旧习惯于供给“结论”,仍旧不习惯供给学生“方法”,让他们自己去找结论。最能够反映这种现象的莫过于作文题目了。多少年来,任何考试中,学生面对的总是什么“学问为济世之本”、“忠勇为爱国之本”、“一分耕耘、一分收获”、“满招损、谦受益”之类的金玉良言。所谓金玉良言说穿了,也就是死了的人交代下来的“结论 ”。出这种约定俗成的题目可以塑造学生的思想,使他更紧密地成为传统的一分子,有它教育的意义。但是这种思想传递根本上就不容许独创,不容许学生下自己的结论。如果教育者真正的兴趣不在于学生对传统的妥协与认同,而在于他独立判断的能力,那么同样的题目就应该以疑问的方式出现:“一分耕耘确能导致一分收获吗?你是否同意学问为济世之本?”或者以挑战的方式:“试辩论‘忠勇为爱国之本’一说。” 只有这样不“既定结论”的思想训练才能真正刺激学生睁着自己的眼睛去观察身边纷扰复杂的世界,用自己的头脑去理出头绪来。当我们的教育者习惯性地把作好的结论抛下,学生也就懒惰地把结论照章收下;他不需要辛辛苦苦地去思索、摸索。 在我们的环境里,一个能关心、能判断的学生,却也不太可能有任何道德行动。一般教育者对学生行动采取压抑与抵制的态度,目的在求校园的稳定。 有一个专科学生被同学指控偷窃,教官在原告的带领之下也确实在该生书包中找到赃物,但是在没有听过被告辩解之前,就令这名学生退学。几个大胆的同学出来主持正义,要求学校给被告一个自我辩护的机会。事情结果如何不论,学校当局对这些挺身而出的学生却有个斩钉截铁的态度:“去读你的书,不要多管闲事。谁闹 事,谁就记过。”奇怪,为什么我们的公民伦理课一再地教导学生要见义勇为,要当仁不让,要择善固执,学生一旦实践了这些美丽的道德理想,我们却恐慌地去压制他?学生对学校措施有所不满而投书、开会、抗议的时候,不正是最好的公民教育机会,帮助学生学习如何去理性地、公平而民主地解决问题,为什么我们反而以记过处分作为……的手段?为了表面的安静稳定而扼杀年轻人的正义感,代价是否太高了一点?敢于表达意见、敢于行动的学生在一次两次的申诫记过之后,当然也学会了保护自己;他发觉,这个社会根本不希望他有道德勇气或正义感。 我们的大学生是不会“闹事”的一群。在考试、舞会、郊游的世界中,没有什么值得“闹事”的题材。在是非善恶都已经由父母师长孔子孟子下了结论的世界中,没有什么难题值得重新省思、费心判断。在明哲保身、少做少错的环境中,更没有什么“闹事”的余地。我们的大学生天真、单纯、安分、听话。可是,如果“闹事”也可以解释为“以行动来改变现状”的话,我们这不会闹事的一代就值得令人忧虑了。四年一过,他就成为社会中坚——一个不懂得关心社会,不会判别是非,不敢行动的社会中坚!公车应不应涨价?不清楚。路边水管爆破了,不是我的事。公营机构亏了多少纳税人的钱?不知道。核电厂会不会贻害万年?不知道。上司舞弊应不应告发?不知道。台湾往哪里去?不知道,不知道,不知道……一个满足现状的民族不可能进步,但是要对现状不满,一个人必须先有所关心,用心观察,观察之后作判断,判断之后付诸行动。关心可以是感性的,只是对于生于斯长于斯的土地的一份爱,但是空有感情无济于事,它必须有冷静的理性的支持——判断与行动需要坚强的理性。台湾的现状不能令人满意,但是已经有许多人在关心、判断之后开始了行动。最好的例子是消费者基金会的推动者,他们已经“闹”了不少事。台湾需要闹的事情还很多很多。以妇女问题来说,我们现有的妇女组织还停留在献花、慰问、穿漂亮的衣服开慈善晚会与孤儿拥抱的阶段。在同样的社会版里,我们读到七岁的男孩被母亲活活烫死、十岁的女孩被卖到妓女户、十三岁的女儿被养父强暴而怀孕、三十岁的妻子被丈夫打断肋骨——我们天真可爱的校园美女觉得将来没事可关心、可“闹”吗? 又是一个学期的开始,让我们想想从哪里做起吧! 由于在 C++ 中,const 是一个经常被用到的修饰符和关键字,有时候人们会想也不想就对其进行了滥用。刚才我看这样一条语句: void do_work (const int x); 既然 x 是传值的形参,所以对其的修改本来就不会影响原来的值,那么为什么还要加上 const 呢? 其实,加了 const 的主要后果是:无法修改被复制后的 x 的值。比如,本来你可以这样: x = 5; 虽然这条语句并不会影响调用方传递的实参,但是在函数内部,这个 x 是可以当一个临时变量来处理的。 如果加了 const ,这条语句将产生编译错误:表达式必须是可修改的左值。 由上可见,在这个地方,是否添加 const 并非没有意义,但是在多数情况下意义不大。加上这个 const 对健壮性的贡献并不大,但是大部分情况下,直接使用形参作为函数的内部变量也并不合适。或许,这也是设计者为 C++ 标准提供这个语法的目的之一吧。 | |
近期评论