阿贝尔的日记
阿贝尔的日记
全部文章
题解
归档
标签
去牛客网
登录
/
注册
阿贝尔的日记的博客
全部文章
/ 题解
(共8篇)
题解 | #二进制插入#
二进制插入 二进制插入 /* 2022年09月21日 11:43:09 m插到n 00010011 010000000000 插入到19的第2~6位 010001001100 注意,先倒着插,最后才能reverse回来 需要完全覆盖掉m */ class BinInsert { public: ...
C++
2022-09-24
2
631
题解 | #最近公共祖先#
最近公共祖先 最近公共祖先 /* 2022年09月21日 11:43:09 满二叉树 parent = child / 2 1 2 3 4 5 6 7 较大的数找父节点,两个数相等时,就是公共祖先 */ class LCA { public: int...
C++
2022-09-23
1
508
题解 | #井字棋#
井字棋 井字棋 /* 2022年09月21日 11:43:09 1 0 1 1 -1 -1 1 -1 0 利用sum,累加行、列、对角线的1,判断累加和是否和行、列的size相等 */ class Board { public: bool checkWon(vector<ve...
C++
2022-09-23
1
472
题解 | #另类加法#
另类加法 另类加法 /* 2022年09月21日 11:43:09 异或是不进位的加法 0001 ^ 0011 0010 相与后左移一位即可得到进位的数据 0001 & 0011 0001 << 1 0010 0010 ^ 0010 0000 0010 & 001...
C++
2022-09-23
0
549
题解 | #最小公倍数#
最小公倍数 最小公倍数 /* 2022年09月20日 17:47:56 最小公倍数 找出最大的,然后逐次++,判断是否能同时对a、b取模 */ #include <iostream> #include <algorithm> using namespace std; int...
C++
2022-09-20
0
538
题解 | #组队竞赛#
最小的和最大次大组队,次小的和第三大第四大组队。。。 这样保证队伍水平值取到最大。 1 2 3 4 5 6 7 8 9 1 8 9 2 6 7 3 4 5 水平值分别为 8 6 4,也就是我们倒着取数就好了。 用 vector 替代动态数组更好一点。 注意,必须用 long long 作为sum的类...
C++
2022-09-06
1
362
题解 | #排序子序列#
1 2 3 3 2 1中的 1 2 3 子序列是递增也是非递减,满足。 3 2 1 是递减的,也是非递增,同样满足。 也就是只要遍历非递减或者非递增,就能逐个排除。 注意while遍历时不要越界,把 i < v.size() 写在前面。 #include <iostream> #i...
C++
2022-09-05
0
709
题解 | #倒置字符串#
先将字符串整个逆置一遍,再挨个逆置每个单词。 注意要考虑越界。 #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { strin...
C++
2022-09-05
0
511