烤肉__
烤肉__
全部文章
分类
题解(38)
归档
标签
去牛客网
登录
/
注册
烤肉__的博客
全部文章
(共42篇)
map无脑过
#include <iostream> #include <vector> #include <algorithm> #include <map> using namespace std; string str; map<string, in...
2023-03-31
2
370
二维前缀和的扩展
如果说,这题用一个预处理一个二维前缀和,然后枚举子矩阵的左上角与右上角,那么我们可以用O(n4)O(n^4)O(n4)的时间复杂度得到答案。不过对于这题n=100来说,1004=108100^4=10^81004=108会超时。 所以我们要想办法优化,最蛋疼的点其实在于暴力的枚举会涉及非常多无用的状...
2023-03-31
9
499
题解 | 循环左移直接做
循环左移,但是默认的是无符号左移,那怎么办呢? 就左移的时候检查一下最高位是不是1,如果是1,咱们末尾给他补上就得了呗。用x << 1 | 1就可以给末尾补1且左移了。 所以,答案就是,两个数a,b,让b循环左移16次,如果16次内任何一次使得a和b相同了那么就输出YES。否则NO。 #...
2023-03-26
7
433
题解 | 最近公共祖先,向上标记法
这题目就是个裸的LCA(最近公共祖先)问题。 向上标记法,就是让两个结点分别检查自己的父节点是否是两者的公共祖先,如果不是,那么大家一起往上跳一层。不断重复这个过程,直到最终收敛到同一个点。(必然收敛,因为最差大家都跳到根节点) 因为这题数据比较弱,是一个完全二叉树,且数值是int范围的,说明最大深...
2023-03-26
1
434
题解 | #数字求和#
#include <iostream> using namespace std; int a, b; int sum1, sum2; int reverse(int x) { int res = 0; while (x) { res = res...
C++
2022-02-01
3
381
题解 | #进制转换#
#include <iostream> using namespace std; int main() { string hex; while (cin >> hex) { hex = hex.substr(2); l...
C++
2022-01-31
0
348
题解 | #点菜问题#
是个完***的01背包问题,众所周知01背包的状态转移方程是dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]]+w[i])。dp[i][j]表示在前i个物品里,j容量的背包能拿的最大价值 总共有n个物品,我们从第一个物品一直枚举到第n个物品,对每个物品只需要考虑拿,...
C++
2022-01-31
0
446
题解 | #数制转换#
很丑但是很直观的解法 #include <iostream> #include <vector> using namespace std; vector<int> res; int main() { string n; int a, b; ...
C++
2022-01-30
0
392
题解 | #吃糖果#
可以用f[i][j]表示在j天内吃完i个巧克力的方案,如果无解就是0个方案 #include <iostream> #include <algorithm> using namespace std; const int N = 25; int f[N][N]; //j天吃...
C++
2022-01-30
0
409
题解 | #单词替换#
先按空格将句子分成一个一个单词,这样就非常方便替换了。直接检查单词即可了。 #include <iostream> #include <algorithm> #include <vector> using namespace std; vector<str...
C++
2022-01-30
22
573
首页
上一页
1
2
3
4
5
下一页
末页