0%

周赛传送门

https://leetcode-cn.com/contest/weekly-contest-253/

俗话说:好汉不复当年勇,upper_bound玩不懂……咳咳咳。停了一年半的算法竞赛训练,明显感觉到自己的思路和代码能力退化了很多(果然考研会下降编程能力2333)。今天是复出(bushi)的第一(二)把Leetcode周赛,上周的周赛由于实在是太拉被我从记忆中删除了。话说现在力扣的神速哥真是越来越多了,他们AK的速度我怕是题目都读不完……

总结来讲今天的前两题都比较签到,第三题有一定的思考量,第四题是比较模板的一道题(虽然我菜到玩不明白upper_bound)。废话少说,进入题解!

阅读全文 »

好久没有更新博客了,连曾经的域名都挂了…

这次把Node JS和Hexo都升级了一下,换了一个新的域名,也算是大换血了一波。博客风格更加简单明了,少了很多花里胡哨的东西。

八月底去同济上学,以后还是会多更新博客,保证每周的Leetcode周赛更新(如果有AtCoder可能也会更)。其他的内容可能会与机器学习相关,说不定会写写Kaggle竞赛的东西。

阅读全文 »

用C语言模拟面向对象编程

虽然C语言没有面向对象的概念,但是我们可以通过函数指针灵活地模拟出C++的接口(interface)概念,即是让实现细节不同的某类内核子系统(比如物理内存分配器、调度器,文件系统等)有共同的操作方式,这样虽然内存子系统的实现千差万别,但它的访问接口是不变的。这样不同的内核子系统之间就可以灵活组合在一起,实现风格各异,功能不同的操作系统。接口在 C 语言中,表现为一组函数指针的集合。放在 C++ 中,即为虚表。接口设计的难点是如果找出各种内核子系统的共性访问/操作模式,从而可以根据访问模式提取出函数指针列表。

阅读全文 »

Intel 80386运行模式

一般CPU只有一种运行模式,能够支持多个程序在各自独立的内存空间中并发执行,且有用户特权级和内核特权级的区分,让一般应用不能破坏操作系统内核和执行特权指令。

80386处理器有四种运行模式:实模式、保护模式、SMM模式和虚拟8086模式。

阅读全文 »

gcc

gcc就不细说了

1
$ gcc -Wall hello.c -o hello

选项 -Wall 开启编译器几乎所有常用的警告。

编译器有很多其他的警告选项,但 -Wall 是最常用的。默认情况下GCC ghg产生任何警告信息。

当编写 C 或 C++ 程序时编译器警告非常有助于检测程序存在的问题。

阅读全文 »