是园不是圆
是园不是圆
全部文章
题解
归档
标签
去牛客网
登录
/
注册
是园不是圆的博客
全部文章
/ 题解
(共8篇)
题解 | #字符串的排列#
next_permutation真香 class Solution { public: int a[15]; vector<string> Permutation(string str) { vector<string>res; ...
2021-05-27
0
471
题解 | #顺时针打印矩阵#
思路:就是一个模拟,跟紫书上那道蛇形矩阵一样,紫书讲的很好,首先模拟顺序是右下左上,用一个vis数组标记访问过的点,每次走之前需要先判断能不能走而不是先走,这样避免了越界问题。O(n*m) class Solution { public: vector<int> printMat...
2021-05-25
0
435
剑指offer - 二进制中1的个数
class Solution { public: int NumberOf1(int n) { bitset<32>bi(n); return bi.count(); } };
2021-04-16
0
391
「金」点石成金
思路:对于n块石头,将他们排成一列,枚举每个石头,他都有选和不选的情况 选:增加a[i]的财富,消耗b[i]的魔法 不选:减少d[i]的财富,增加c[i]的魔法 另外还需要考虑过程中的<0的情况,如果财富或者魔法<0,那么应该立即让他置为0。 n的范围不是很大,可以考虑搜索 #incl...
2020-07-02
1
713
CQOI2009中位数图
题目描述 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 输入描述: 第一行为两个正整数n和b ,第二行为1~n 的排列。 输出描述: 输出一个整数,即中位数为b的连续子序列个数。 输入 7 45 7 2 4 3 1 6...
2020-06-07
0
595
NC51001 Sliding Window
原题链接:传送门 思路:这道题是滑动窗口的模板题,解决方法是用一个双端队列维护一个大小为k的窗口,然后我们让这个窗口每次移动一下,在移动的过程中维护窗口的最大值或者最小值(维护的答案就在队列的头部),重点介绍一下如何用双端队列来维护,首先为什么要用双端队列而不用一般的队列呢?因为我们要实现在队头的...
2020-05-30
5
513
NC14893栈和排序
原题链接:传送门 思路:其实就是模拟栈的排序顺序,我们让每个数按照他的顺序进栈,在进栈的过程中用一个cnt=n来标记,当前进栈的数满足s.top==cnt时,说明此时已达到了出栈条件,(因为是从大到小排序的)所以我们让当前的数出栈,(然后cnt--,继续寻找下一个出栈条件)当所有的数都进栈后,剩下...
2020-05-30
0
809
「土」秘法地震
「土」秘法地震 思路:考查二维前缀和,怎么和二维前缀和联系起来?面积为k*k的正方形当存在建筑物(即有1时)会停止施法,而我们要找的是多少种情况会停止施法,换言之就是让我们在n * m的区间找内有多少个k *k的面积内和>0,因此前缀和处理,再扫面一边即可 二维前缀和 在一维的基础上,画...
2020-05-18
0
692