Awesome 3 里可以启用 debian menu,方法是新建一个带 x 属性的文件
|
|
放在 ~/.menu-methods下,然后运行
|
|
这样就会在 ~/.config/awesome 下面建立 menu.lua,然后在 lua.rc 里做如下修改:
|
|
Awesome 3 里可以启用 debian menu,方法是新建一个带 x 属性的文件
|
|
放在 ~/.menu-methods下,然后运行
|
|
这样就会在 ~/.config/awesome 下面建立 menu.lua,然后在 lua.rc 里做如下修改:
|
|
|
|
有 n (n <= 100100) 张卡片,卡片 i 有 a_i b_i c_i 三个属性,选则不超过 A 张用于提升属性一,不超过 B 张提升属性二,不超过 C 张提升属性三,每张卡片只能用于提升一种属性。求三种属性提升值之和的最大值,若有多解,最大化 sigma(S_i),S_i = A_i + B_i + C_i。
容易构建最大费用最大流模型,但顶点数很多,需要优化。
以 (A_i, S_i) 为关键字,保留最大的 A+B+C 张卡片
以 (B_i, S_i) 为关键字,保留最大的 A+B+C 张卡片
以 (C_i, S_i) 为关键字,保留最大的 A+B+C 张卡片
|
|
题目大意:有一个长为 N 的整数数列,每次可以把一个数增减一,求最少次数使得有连续 K 个数相同。
下面程序用 Size balanced tree 实现,卫星数据是子树节点数和子树关键字和。
|
|
动态规划, $Fm$表示当前要做选择的奶牛在可以选择$w{m\ldots n-1}$时可以获得的最大值。
$Sm$表示当前要做选择的奶牛做完$w{m\ldots n-1}$的最优决策后,下一个奶牛可以取得的最大值。
|
|
根据USACL Analysis(后附),根据一个格子周围格子的布局,先把一些点转换为A,然后绕着A走一圈。
|
|
先把题目中给出的树有根化,对于一个顶点u,如果它有不超过K/2个孩子还未被分配,
可以把它们中最多2*K个在u处连接起来。如果有孤立孩子并且还未配对完K对孩子,
那么只能和u子树外的顶点配对,这相当于u是其parent的未分配顶点。
|
|
|
|
随机生成一个迷宫
|
|
现在知道这个算法的名称了:recursive backtracking,可以参见拙作完美迷宫生成算法
设盘子编号为
输出初始局面(所有盘子都在1号柱子)到终止局面(所有盘子都在3号柱子)的最优方案。 时间复杂度:
输出最优方案中某一局面之前经过的步骤数。 时间复杂度:
1 |
|
输出当前局面(不一定是最优解的中间步骤)到终止局面的最优方案。 时间复杂度:
1 |
|
输出当前局面下,把所有盘子移动到任一根柱子的最优方案。 时间复杂度:Ο(2^N)
1 |
|
输出当前局面下,把所有盘子移动到任一根柱子的最优方案所需步数。 时间复杂度:
易知,必定把
注意到如果
之所以要移动
1 | #include <stdio.h> |
总结一下,对于求方案的问题,因为最坏情况下步骤数可以达到
对于求步骤数(无须输出方案),以上源码时间复杂度都是
language: C99 + GTK+
algorithm:对棋盘各个格子设置权值,计算总值
icon:程序截图
license: GNU General Public License v3
revision control: Mercurial
bead-black.png bead-white.png texture1.png texture2.png: 8pm(http://hi.baidu.com/eightpm) 提供
gdk透明贴图好像有点麻烦(以前 Win32 API 用得是 TransparentBlt)
菜单采用GtkUIManager,可以看demo:/usr/share/gtk-2.0/demo/ui_manager.c
的透明贴图:
|
|
语言:C99
图标是随手涂鸦的
界面部分抄袭 http://sourceforge.net/projects/tictactoegtk/(作者:Obada Denis(obadadenis@gmail.com),javajox(javajox@users.sourceforge.net))
算法是 min-max search
版本控制系统采用 8pm 推荐的 Mercurial
项目首页:http://code.google.com/p/rayup/ #里面还有些其他乱七八糟的东西
Download:hg clone https://rayup.googlecode.com/hg/ rayup
没有安装 Mercurial 的话,可以访问 http://code.google.com/p/rayup/source/browse/,手动下载一个个文件……
根据
[@meow]: meow meow
你好
C++ exceptions是stack unwinding的一个应用。有多种ABI,其中应用最广泛的是Itanium C++ ABI: Exception Handling