P5634 数码排序【加强版】 题解
本文迁移自洛谷原文。
高精度对于 Python 来说不是个事。
思路与原版相同。
1 | import math |
本文迁移自洛谷原文。
高精度对于 Python 来说不是个事。
思路与原版相同。
1 | import math |
本文迁移自洛谷原文。
水题,直接暴力就能过
由于图很大,所以就不能直接连边最小生成树
所以我们可以换一个角度考虑:
求出所有可以用0边连成的联通块,那么将这些联通快连起来,就可以构造出一颗最小生成树
那么怎么求联通快呢?
直接dfs是可以的!
但是需要剪枝
最短代码
set
由于只有一些边是1边,所以几次下来,就几乎全访问过了
map<int,int> g[]: 存所有的1边
1 | #include<bits/stdc++.h> |
本文迁移自洛谷原文。
这是什么题目啊,竟然回爆long long…..
这里介绍一个不用压位的方法
思路:
分类讨论即可
1.直接加上所有的y-x
2.单独处理所有的|x-y|$\le$1的情况
复杂度:O(n)
map是O(n log n)
注意:对于爆long long 的情况,可以用long double
只不过会慢一点,而且精度只比long long 大一点
1 | #include<bits/stdc++.h> |