QtCreator使用小结

# Debug

首先要看使用的是什么构建系统:

  • qmake 不需要额外的设置
  • cmake Debug需要在生成配置的时候进行额外参数设置
  • qbs ???

QtC在左下角的Debug按钮一定要在Debug模式下运行才能有效。

进入Debug模式如果是qmake构建系统不需要额外配置。但是如果是cmake则每次都要重新生成配置。

参考Debug with cmake and qtcreator可知生成配置的时候应当添加参数-DCMAKE_BUILD_TYPE=Debug

# C++11

  • CMake: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  • qmake: QMAKE_CXXFLAGS += -std=c++0x
more ...


二维胶粒设计

In [1]:
from deplete.segm import *
from deplete.colloids import *
from deplete.curve import Curve

# Triangular colloids

more ...

二维胶粒的耗尽力

# 基本数据结构

  • 曲线由分段圆弧组成
  • 直线可以看作是一种特殊的半径为无穷大的圆弧

# 优良性质

引理 分段圆弧扩展之后的曲线依然是分段圆弧

  • 直线扩展后还是直线
  • 半径为$R$的圆扩展$d$后是半径为$R+d$的圆
  • 转接点扩展$d$后产生的新的曲线是圆$d$
  • 综上,无论怎么扩展,扩展前后曲线类型不变
more ...

拼图游戏之打乱拼图

# 线性时间计算排列的奇偶性

# 计算交换次数(鸠占鹊巢)

扫描所有的鸟,命名为鸠(Dove):

  • 鸠现在占着鹊(Magpie)巢
  • 鸠的巢(nest)被麻雀(sparrow)占领
  • 鸠和麻雀换巢:鸠回到自己的巢,麻雀挪到鹊的巢
more ...

拼图游戏之可解性条件

# 可解的必要条件

游戏中只能由不断的空块和相邻的块做交换完成。而可解性也由交换数的奇偶性决定,交换数定义为通过交换任意块使得其恢复原状需要的次数。

考虑包含空块在内的交换数:空格子移动一步的时候,进行了一次交换,交换数的奇偶性发生改变。显然最后的奇偶性取决于空格移动步数的奇偶性。而移动步数奇偶性不依赖于具体路径,只依赖于初末位置。我们可以找一条最简单的路径的长度(曼哈顿距离)的奇偶性来判断可解性。

必要条件 移动步数奇偶性必须等于排列数/交换数的奇偶性

more ...

配置Git

# 配置文件

git config --global user.name "Peijun Zhu"
git config --global user.email "zpj.ustc@gmail.com"
git config --global tar.tar.xz.command "xz -c"
git config --global core.excludesfile ~/.gitignore_global

# 生成/添加ssh-key

ssh-keygen -t rsa -b 4096 -C "zpj.ustc@gmail.com"
cat id_rsa.pub

再把生成的内容贴入Github/Bitbucket等托管网站

more ...