毫无疑问,对动作的重复是提高效率最直接的办法,也是对效率最直接的反映。接下来我将依次介绍 Vim 的<kbd>.</kbd>命令,简单的录制与重复宏与 `normal` 命令。
-##### 自行车——. 命令
+##### 自行车——。命令
当你使用 Vim 的时候,对于重复的文本修改其实内心是绝望的,因为 Vim 注定比其他编辑器会多出两个键的按键——<kbd>Esc</kbd>与<kbd>i</kbd>。就像走路的时候别人都是迈步子,但是你一定要跳一下再走一步,这种重复令人十分烦躁与无奈。这可以说是一个致命的缺点,但是,Vim 其实为我们提供了一台“自行车”—— `.` 命令。它令我们能直接不用迈步落步,只要往下踩就好了。
> **什么是退火?** (选自百度百科)
>
-> 退火是一种金属热处理工艺,指的是将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却。目的是降低硬度,改善切削加工性;消除残余应力,稳定尺寸,减少变形与裂纹倾向;细化晶粒,调整组织,消除组织缺陷。准确的说,退火是一种对材料的热处理工艺,包括金属材料、非金属材料。而且新材料的退火目的也与传统金属退火存在异同。
+> 退火是一种金属热处理工艺,指的是将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却。目的是降低硬度,改善切削加工性;消除残余应力,稳定尺寸,减少变形与裂纹倾向;细化晶粒,调整组织,消除组织缺陷。准确的说,退火是一种对材料的热处理工艺,包括金属材料、非金属材料。而且新材料的退火目的也与传统金属退火存在异同。
由于退火的规律引入了更多随机因素,那么我们得到最优解的概率会大大增加。于是我们可以去模拟这个过程,将目标函数作为能量函数。
有一个 `clock()` 函数,返回程序运行时间。
-可以把主程序中的 `simulateAnneal();` 换成 `while ((double)clock() / CLOCKS_PER_SEC < MAX_TIME) simulateAnneal();` 。这样子就会一直跑模拟退火,直到即将 TLE 。
+可以把主程序中的 `simulateAnneal();` 换成 `while ((double)clock()/CLOCKS_PER_SEC < MAX_TIME) simulateAnneal();` 。这样子就会一直跑模拟退火,直到即将 TLE。
这里的 `MAX_TIME` 是一个自定义的略小于时限的数。
- [「BZOJ 3680」吊打 XXX](https://www.lydsy.com/JudgeOnline/problem.php?id=3680)
- [「JSOI 2016」炸弹攻击](https://www.lydsy.com/JudgeOnline/problem.php?id=4852)
- [「HAOI 2006」均分数据](https://www.lydsy.com/JudgeOnline/problem.php?id=2428)
-