摘要: 堆结构可以实现O(log n)级别的插入数据的时间复杂度,查询最大最小值可以达到O(1)的效率。 阅读全文
posted @ 2022-04-13 11:24 xyee 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 如果设置加密方式是第一种的话,而不是老版本的加密方式,就不能用直接设置password的方式,需要用以下命令: ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码'; 阅读全文
posted @ 2021-04-16 22:35 xyee 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 短除法: 由于一个数可以表示成 \[ x = a_n * k^{n-1} + a_{n-1} * k^{n-2} + \cdots + a_1 * k^0 \] 所以, x % k 取出末尾的 \[ a_1 * k^0 \] 此时让 x / k ,得到a1,让所有项的次数减一,得 \[ x = a_ 阅读全文
posted @ 2021-02-18 18:13 xyee 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 15. 二进制中1的个数 这道题目是求整形数字的二进制中1的个数,并且符号位也计算在内,就是把数字作为无符号的整形处理。 这题有三种以上的做法,第一种是把每一位二进制上的数字与1做&运算后的结果加起来,将n右移一位,java的无符号的右移是>>> 代码如下: public clas 阅读全文
posted @ 2021-02-17 16:27 xyee 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 59 - II. 队列的最大值 思路 对于一个队列 :7 7 2 3 4 0 1 9 可以发现,在9出队列之前,2,3,4,0,1 这些数字对最大值没有贡献 对于队列:7 7 2 3 4 可以发现,在4出队列之前,2,3 这些数字对于最大子没有贡献 所以可以创建一个单调递减的队列, 阅读全文
posted @ 2021-02-10 21:56 xyee 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 简单递归 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAXN=1e6+10; int a[10],vis[10]; int n; vector<vector<int>> ans; voi 阅读全文
posted @ 2020-06-03 20:32 xyee 阅读(149) 评论(0) 推荐(0) 编辑
摘要: bool cmp(string& a,string& b) { // 如果a+b<b+a 则把a排在b前面 return a+b<b+a; } 如果a+b<b+a 则把a排在b前面 这个题有一个数据点是全0,好几个数都是0,所以去掉前导0之后会没有输出,要特判。 附: 升序排序 bool cmp(i 阅读全文
posted @ 2020-05-31 22:05 xyee 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 这题的话,首先要知道什么是满二叉树,满二叉树就是和完全二叉树的点一一对应,但是最下面一层可以不放满,但是左边的叉不能为空,必须从左到右排列的一种树。 这题借鉴了别人的思路: 为了让左边放满,我们中序遍历构建一颗二叉树,这样就保证左边的点可以放满了,同时和完全二叉树点的编号一一对应,这个思路真的挺不错 阅读全文
posted @ 2020-05-31 21:58 xyee 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 这题看清楚题的话,题目说两个人关系的质量取决于两个人所有通话时间的总和。 对于黑帮老大,就是和其他人关系质量最大的那个人。 然后读懂题之后就可以把关系定义成边,人定义成点,关系质量就是边权。 问题就转化成,求一个图上有几个连通块,每个连通块中,所具有边权最大的点是哪个。 #include <bits 阅读全文
posted @ 2020-05-31 21:53 xyee 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 这个题很明显是道DP题,因为这题看着很明显是动态的。 看下数据范围,喜欢的颜色是200,条带长度是10000,那么就是2e6,空间就确定了,状态方程就很容易确定。 定义dp[i][j]为当下标为i时,挑选的上一个喜欢的颜色为j时的最大长度。 那么dp方程就很好确定了。 如果下标为i的颜色时喜欢的颜色 阅读全文
posted @ 2020-05-31 21:44 xyee 阅读(171) 评论(0) 推荐(0) 编辑