
分治
H_ang
记录一些东西吧!
展开
-
51Nod 1601 完全图的最小生成树计数-异或为边权
题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1601题目大意:思路:这是一张完全图,并且边的权值是由点的权值xor得到的,所以我们考虑贪心的思想,考虑kruskal的过程选取最小的边把两个连通块合并,所以我们可以模仿kruskal的过程,倒着做kruskal,设定当前的最高位为d,我们把点集分为两个集合,s集合代表...原创 2020-02-10 13:26:12 · 348 阅读 · 0 评论 -
分治专题 输出前k大的数
给定一个数组,统计前k大的数并且把这k个数从大到小输出。分治:把一个问题分解成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部分完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。把前m大的都弄到数组的右边,然后对最右边的m个元素排序再输出。O(n)时间内实现把前m大的都弄到数组最右边。arrangeRinght(int l, in...原创 2019-01-08 20:34:37 · 1368 阅读 · 0 评论 -
分治专题 求排列的逆序数
求一个排序的逆序数:分治利用分治排序的思想:nxs(l ,r)=nxs(l, m)+nxs(m, r)+nxs(左半边取一个数和右半边取一个数产生的) #include<bits/stdc++.h>using namespace std;int a[100005];int b[100005];long long gbpx(int l, int r){ lo...原创 2019-01-09 14:59:38 · 280 阅读 · 0 评论 -
牛客网 石头剪刀布 分治+贪心
题目链接:https://ac.nowcoder.com/acm/contest/332/F题目大意:思路:当时拿到题就觉得是一道分治题,枚举最后的胜利者。这样就可以得到左右区间的胜利者。一直递归下去。就行,当时卡在字典序这。不知道怎么才能最优。准备递归枚举。当时无法回溯。后来看了别人的代码,发现并不用回溯,因为每次要么胜利者来自左区间,要么右区间,而只要确定了胜利者,这个区间的所有选手...原创 2019-02-07 19:31:16 · 464 阅读 · 0 评论 -
2019河北省大学生程序设计竞赛(重现赛)- C 分治
待更。。。原创 2019-05-25 23:56:50 · 474 阅读 · 0 评论