Title

P7812 [JRKSJ R2] Dark Forest 题解

蒟蒻的第一篇黑题题解。

题目描述

Link

解题思路

模拟退火,考虑每次随机交换两个 pi,然后计算当前情况下的排列的权值,如果比当前的最优解要优,那么直接更新即可,同时更新最优排列,否则的话,以一定的概率接受,但是不需要更新最优排列。然后就慢慢跑吧,蒟蒻实测跑 1 分钟可以获得 95 分的好成绩,跑 5 分钟可以获得 98 分的好成绩,再多跑一会儿(指约 3.2 个小时)就过了。

以下是蒟蒻的一些参数(显然单次迭代次数增加比多次迭代次数没有那么多的更好):

  • 初始温度 1020
  • 结束温度 1020
  • Δ=0.99999997
  • 只需要跑 1 次模拟退火。

    注意事项

    我们每次在进行模拟退火的时候一定要重新开一个数组记录当前的 p,如果找到了一个更优解,那么再把新的数组复制给 p,否则可能因为取了一些不是最优解的解从而把最优的排列覆盖掉。

    AC 代码

    需要者私信。

posted @   UncleSam_Died  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示