应该用电脑写的,字太多,亏了亏了。既然写完了,就把题抄一下吧。
2.
令 G 是一个有奇数个结点的简单无向图。证明:如果 G 可以被一笔画出,则对于任意的,一定存在某种加边方案,使得给图 G 添加 k 条边之后还可以被一笔画出。方案需满足加边后仍然为简单图。
3.
证明:如果简单无向图 G 的补图是连通图,每个点的度数且至少有一个点,那么 G 有哈密顿回路。
应该用电脑写的,字太多,亏了亏了。既然写完了,就把题抄一下吧。
令 G 是一个有奇数个结点的简单无向图。证明:如果 G 可以被一笔画出,则对于任意的,一定存在某种加边方案,使得给图 G 添加 k 条边之后还可以被一笔画出。方案需满足加边后仍然为简单图。
证明:如果简单无向图 G 的补图是连通图,每个点的度数且至少有一个点,那么 G 有哈密顿回路。
应该在电脑上写的,但是已经在纸上写完了…鸽了鸽了。
但是这周题挺好的,把最后一题抄上来吧。
设G是每个面都是三角形的平面图,用3种颜色对它的所有结点任意着色。证明:顶点上恰好得到了这3种颜色的面的数目是偶数个。
前排提示:这道题最简单的做法是将相邻同色点缩点。
记C为顶点上恰好得到了这3种颜色的面的数目。不妨设3种颜色为RGB。只需要证,任意调整某一个点的颜色,C的奇偶性不变。若得证,则可将所有点的颜色调整至相同,此时C=0,为偶数,故任意着色后C为偶数,证毕。
对于某个点A考虑,不妨设它原来的颜色是R,我们将其调整为B。考虑A的邻居。
写的很差QAQ. 只是完成作业罢了。
——以大众传播为线索
21世纪以来,中国的游戏产业迅猛发展,中国的游戏用户规模与市场规模跃居世界首位。游戏作为一种极为普遍的大众娱乐方式,已经融入到近半数中国人的日常生活中[1]。因此,21世纪的前二十年,中国社会不可避免地直面游戏,被驱动着认识游戏,定义游戏的地位。在21世纪初的大众传播过程中,游戏的公众形象变化很值得玩味。何威、曹书乐分析了近四十年来《人民日报》上有关游戏的图文报道,从传统媒体的角度印证了这一明显转变:
从1989-2001年间有7年未出现一篇正面报道,到近5年来负面报道占比仅有13%。而报道游戏时的框架,也由曾经的“危害青少年”、“治安管理”为主,变为了2012年后以“产业经济”、“文娱新方式”为主。[2]
在进行探究之前,清晰地界定大众传播这一新闻传播学概念是有必要的。大众传播是一种信息传播方式,利用大众媒体(如声音、文字、影像等)将信息以某种形式传递给人群[3]。大众传播与人际传播并称为人类的两种基本的传播方式,二者分别对应大范围公开、小范围私密这两种人性本身具有的传播需求[4]。根据德国心理学家与传媒学者格哈德·马利兹克的定义,大众传播须符合以下特征:透明性(受众不为人际交往范围所限)、间接性(在发送者与受众之间存在时间空间距离)、受众匿名性[5]。对其媒介效果和受众的研究取得了包括“沉默螺旋”在内的广泛研究成果。
拉斯维尔的“5W”理论为研究传播过程的结构和特性提供了具体的思考方向。近几十年对传播及传播规律的科学讨论都直接或间接地围绕这一理论做分析[6]。该理论认为,一个完整的传播过程包括五大要素:传播主体、传播内容、传播渠道、传播对象和传播效果[7]。与之相对应,拉斯维尔又提出了五种传播研究的内容和分析方法。本文在分析游戏相关信息的传播过程时,也将从以上几个方面入手考虑。
发现了一个有趣的Github仓库——WTF Python,决定有空的时候学习学习。类似的还有WTF JS。
Tested on Python 3.8
1 | >>> a = "wtf!" |
因此,不要过度使用is
,is
的作用是判断地址是否相同。当我们创建-销毁一个对象后,再次创建,则CPython可能会给它同样的id
.
1 | array = [1, 8, 15] |
占坑。
感觉这周的离散作业极其玄学…我只是没有感情的运算机器罢了。
不 理 解
3.23日区块链课后心血来潮,遂尝试描绘一下自己心中最理想的语言的模样:(不分先后)
易书写、易阅读
这个太关键了,个人感觉C和C++在这方面简直负分。以下列举几个我比较喜欢的点:(不分先后)
函数可以返回多个值
语句末尾可以不用加分号
这样可以防止某些人把一堆语句塞到一行
统一代码风格、命名风格
强类型
没啥可说的,就是你,Javascript.
关于是否强类型检查,个人并没有特殊的倾向。我希望二者兼有。Go属于二者兼有但倾向强,Python属于二者兼有但很倾向弱,Typescript可能不错(没尝试过)。
快速
其实,说句公道话,各个编程语言只是人类与计算机沟通的桥梁。C语言和其他语言并没有什么区别,C语言的快速,很大程度上是因为C语言的编译器经过了几十年无数人的优化,有诸如尾递归消去、循环展开等优化,而这些优化思想并不是language-specific的,完全可以应用到其他语言上。
有一个很好的例子就是,Python和Javascript相比,Javascript更加灵活,根据常理,灵活的代价是牺牲速度。但是为什么Javascript的执行速度这么快,以至于诸多服务器、客户端程序都是JS开发的?因为JS的v8解释器是Google雇佣几十个人开发十几年的产品,已经把JS这个动态语言优化到了编译成机器代码的程度。那么Python作为相对来说限制更强的语言,应该速度更快才对。但是并没有,为什么?因为Python的维护主要由一群爱好者业余时间维护。一言以蔽之,给钱,就能行。
理论上来说,所有语言优化到极致,它们的速度几乎是一样的。for(int i=0; i<n; ++i);
的速度,放在哪个语言里都应该是一样的。
C语言进行纯计算确实快,这是因为C语言关心的事情少。但是,现在除了超频爱好者/OIer/Researcher,谁还在关心单线程的运算速度?大厂的服务器后台一个个都是Nodejs搭的。
高并发
关于这一点,我非常喜欢Go的思想:通过通信来共享内存,而不是共享内存来通信。Goroutine的设计爱了爱了。
安全
线程安全
内存安全
对于指针,一定要谨慎设计。空指针、野指针的隐患太大了。
或者干脆没有指针,就像Python/JS一样,全部都是引用。变量名?就是个名字罢了。
简单的面向对象支持
前几年面向对象大火,现在已经不行了。C++的面向对象语法就是垃圾,何必要搞得这么复杂?像Python/Go 一样简洁有效不好吗?在学习这些语言的面向对象特性时,我可以清楚地感受到设计者在面向对象方面花费的心思。
一些小细节:
Update on 2021/4/28:
C和Rust可以嵌入式,Go和Python有运行时环境,因此几乎没人搞嵌入式。
Python的优点:好写