随笔分类 -  杂项——模拟退火

摘要:考虑到这种对于某种操作顺序有一个权值。 且这个权值有一个$O(n)$或者更好的复杂度求出。 求最值。 那可以用模拟退火。 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> # 阅读全文
posted @ 2021-08-04 15:58 fhq_treap 阅读(80) 评论(0) 推荐(0)
摘要:玄学调参。 反正我是挂在$52$分。 随机化果然不要想满分啊。 放个代码好了。 [SCOI2008]城堡 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include< 阅读全文
posted @ 2021-05-13 21:10 fhq_treap 阅读(48) 评论(0) 推荐(0)
摘要:模拟退火解决下面这种问题: 对于一类求最值的问题(默认为最小值,最大值也可以),其合法的方案的状态数有很多甚至于无穷。 无法用搜索满足,而且对一个合法方案来说,容易从他构造出另一个合法方案。 考虑对于合法方案的值的图像。 我们考虑从一个起始态,向离他最近的局部最优点靠近。 但我们发现局部最优并非全局 阅读全文
posted @ 2021-05-13 19:38 fhq_treap 阅读(60) 评论(0) 推荐(0)
摘要:还是模拟退火乱搞。 不过考虑记录一下在整个退火过程中的最优答案。 而不是只看最后剩下的解。 退火是一个随机算法,他有很大的几率能跳到最优解,但也很有可能从最优解跳出去。 所以要记录答案。 Haywire #include<iostream> #include<cstdio> #include<cst 阅读全文
posted @ 2021-05-13 12:13 fhq_treap 阅读(144) 评论(0) 推荐(0)
摘要:模拟退火练手好题。 模拟退火我晚上会另写一篇。 有这么几个参数: \(T\):初始温度 \(eps\):终止状态 \(v\):速率 \(z\):差量,即随机的答案与当前手上的答案的差量。 随机接受函数:exp(-z / T) * RAND_MAX > rand() 这题中温度设为$200$,速率为$ 阅读全文
posted @ 2021-05-13 11:42 fhq_treap 阅读(47) 评论(0) 推荐(0)