【算法】背包问题的模拟退火解决

本文所包含的思路来自于 NCC79601 * 算法剖析 简单来讲,背包退火就是用模拟退火的思路解决某些类型的背包问题,继承了模拟退火的玄学复杂度,也继承了它的不稳定性,所以能够有效地解决大背包问题的 TLE 问题。这个算法能够把数十行的代码优化部分转移为 洗把脸 调参的问题。 例题 :LuoGuP1 阅读更多…

【题解】洛谷 P5286/bzoj5489/loj3054 [HNOI2019] 鱼 计算几何 ——litble

题目分析 不难发现需要枚举 D 和 A,然后鱼头鱼尾分别处理。 对于鱼尾,其实就是对着 A 的半平面内两条到 D 距离相等的线段组成的,枚举 D 后,将其他点极角排序,然后扫描线即可解决。 对于鱼头,也就是 BC 这条线段要垂直于 AD,且 BC 的中点在 AD 上。则预处理枚举每个 BC,将这个点 阅读更多…

【题解】DFS 解决数独问题

在我的不断探索发现下,我意识到 DFS 似乎可以用来做数独…… 于是乎就上手操作了一下,然后就做出来了? 其实思路很简单,就是简单的 DFS (废话,本蒟蒻都想出来了能不简单吗) 就是模仿人填数独的过程,只是更加无脑。 一个个试起走,放不了就回溯,直到解出答案,输出 真的就只有那么简单了,秒杀人脑啊 阅读更多…

【题解】[HNOI2019] 校园旅行 性质分析优化建图+bfs loj3057/bzoj5492/洛谷 P5292 ——litble

题目分析 30 分做法:初始,所有 $(x,x)$和所有满足 $x,y$同色且中间有边的 $(x,y)$之间都有回文路径。将所有点对放入队列中,从两个端点开始往周围各找一个同色的点,就可以扩展出新点对,满足存在回文路径。复杂度 $O(m^2)$。 优化建图是这样的,首先只连上那些连接同色点的边,原图 阅读更多…

【题解】Color a Tree 二分答案+贪心 hdu6241 ——quhengyi11

传送门 没错题目名字一模一样(: 然而这是我在搜上一题的时候偶然遇到的一道题,觉得蛮好玩的就做了做 题目大意 给一棵节点全白的树,你要把它一些点涂黑,需要满足若干个形如在子树 $u_i$内有不少于 $y_i$个黑点,在子树 $u_i$外有不少于 $y_i$个黑点的限制,求最少黑点数 题解 注意到子树外的 阅读更多…

【题解】Color a Tree 贪心+逆向思维 Spoj3912 ——quhengyi11

门 题解 刚开始想了半天以为是什么简单的性质比如说子树权值和的关系,但是这个等差数列加权就很恶心呀根本不知道怎么搞。 首先我们需要贪心考虑一些东西,发现如果一个非根节点的权值如果是当前整棵树里最大的,那么当它的父亲被选的时候下一个选的肯定就是它,否则通过调整法显然能得到更小的权值和。这个调整就不仔细 阅读更多…