题解
skywalker767
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #799 (Div. 4)
看了题解,用的线段树…QAQ,我感觉完全可以不用那么麻烦。我的思路:每一个数如果想要和前面的连成一个区间,只需要看上一个这个数出现的位置。如果把两边连起来的贡献是大于1,那么就连起来,否则,就不和前面连起来,同时更新区间最大值,记录r,在结束后,倒着找l。时间复杂度的话,很容易证明,扫一遍 , 倒着找,大概就是线性的复杂度。...原创 2022-06-15 13:54:15 · 251 阅读 · 1 评论 -
最短Hamilton路径
题目链接:最短Hamilton路径解题思路:首先考虑的是暴力,如果暴力,那就是枚举每一种排列,也就是全排列,时间复杂度很不客观o(n∗n!)o(n * n !)o(n∗n!),这时候就可以状态压缩:即用一个数的二进制位来表示 此点经过或者不经过。位运算技巧(来自算法进阶指南):常用操作:取出第k位 :(n >> 1) & 1后k位 :n & ((1 << k) - 1)将第k位取反 :n xor (1 << k)在.原创 2021-07-15 20:36:30 · 75 阅读 · 0 评论