lifehappy
lifehappy
全部文章
题解
未归档(1)
每日一题(2)
归档
标签
去牛客网
登录
/
注册
lifehappy的博客
算法竞赛蒟蒻
全部文章
/ 题解
(共78篇)
Legacy(线段树优化建边跑Dijkstra)
Legacy 线段树优化建边,开两颗线段树:对于线段树1,自顶向下连边。对于线段树2,自底向上连边。然后对于op1我们直接连边即可。对于op2(u -> [l, r] cost = w),这个操作在线段树1上完成即可。对于op3([l, r] -> v cost = w),这个操作在线段...
2020-11-05
5
758
Xor-MST
思路 异或最小生成树,这里采用了一种分治的方法来贪心求解最值: 首先我们对所有的点权值从小到大排个序,从高位开始在中间找到一个这个位置上的分界点分成两个集合,然后再通过递归的去求解两个集合。 在递归的时候,对两个分开的集合,我们通过树去贪心的在两个集合连上一条边,把这条边加入我们的答案。 为什么...
2020-10-26
5
665
Perfect Security
Perfect Security 思路 只要把P数组加入树就好了,然后通过这颗树对A中的每一个数,去查找一个与之异或最小的值即可,同时还要支持删除操作,直接加入一个数组,记录当前是否还有数字经过这条边即可。注意在查询的过程中要不断的减小数组的标记。 代码 /* Author : lifeha...
2020-10-26
4
698
Vitya and Strange Lesson
Vitya and Strange Lesson 思路 树专题,所以一定是用树来写了,我们考虑,对原始数组,如何通过树来查找最小值。显然我们可以把,不在数组中的所有数字加入树,然后通过查找与0异或最小的数即为答案。这题显然我们也可以同样利用这一性质,先把不在数组中的所有数加入树,然后再通过查找与所有...
2020-10-26
4
650
奶牛异或
奶牛异或 思路 利用前缀异或和,不断遍历加入树就行,接下来的操作就跟查找异或最大值一模一样了,无非就是在结束点标记上当前访问的是第几个数就行了。 代码 /* Author : lifehappy */ #include <bits/stdc++.h> using namespa...
2020-10-26
5
758
The XOR Largest Pair
The XOR Largest Pair 思路 树板子题,直利用异或的性质,在树上遍历就行了。 代码 /* Author : lifehappy */ #include <bits/stdc++.h> using namespace std; const int N = 5e6 ...
2020-10-26
3
543
对称二叉树
对称二叉树 思路 递归就好了,确实,递归就好了 一个递归去dfs,另一个去递归check,check注意要对称进行左右子树的访问,然后整体复杂度因该是的。 代码 /* Author : lifehappy */ #include <bits/stdc++.h> using name...
2020-10-18
3
633
[CQOI2013]新NIM游戏
[CQOI2013]新NIM游戏 思路 NIM游戏,先手获胜的条件就是,所以值异或后不为0,也就是在进行完第二轮后,场面不为0即可获胜。也就是让第二***作的人不能从这若个个数得到0,这个判断就可以用线性基来完成了,同时我们又要保证第一轮拿的值最小,所以我们考虑贪心,优先把较大的放入线性基这样我们就...
2020-10-15
5
486
Gcd
Gcd 推式子 到这一步可以用min_25晒出区间质数,然后再整除分块来写, 但是显然复杂度有点高,继续化简。 整体复杂度 代码 /* Author : lifehappy */ #include <bits/stdc++.h> using namespace std; typ...
2020-10-15
4
659
YY的GCD
YY的GCD 推式子 到这一步可以用min_25筛出区间质数个数,然后再整除分块来写, 但是显然复杂度有点高,继续化简。 整体复杂度 代码 /* Author : lifehappy */ #include <bits/stdc++.h> using namespace std;...
2020-10-15
4
503
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页