ZangYH
ZangYH
全部文章
分类
题解(9)
归档
标签
去牛客网
登录
/
注册
ZangYH的博客
全部文章
(共9篇)
NC15553 数学考试
用前缀和求出所有的和,再利用差分来计算所有未见长度为k的数值 #include <iostream> #include <vector> #include <algorithm> using namespace std; const int maxn = 2000...
2021-01-17
0
3
NC204370 牛牛的木板
这么经典的滑动窗口题,我居然把这想为前缀和emmm始终保持[l,r]区间内0的个数<=m,当区间内的值>m时,就去掉最开始0出现的位置。然后就比较区间的大小 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直...
2021-01-17
0
3
POJ1753 Flip Game
每个点只有两种操作,要么按这个灯,要么不按这个灯。按这个灯的话,就要去改变这个灯四周的灯的状态。搜索的位置就是从左上角搜索到右下角。搜索完之后判断所有的灯的状态 #include <iostream> using namespace std; char nums[4][4]; int a...
2021-01-16
0
2
NC53676 秘法地震
算法知识:二维前缀和这道题和激光炸弹那道题是一样的。arr[i][j]表示前i行,j列的和求出来前缀和之后,用差分枚举出所有2×2矩阵的情况,并判断矩阵的和是否不等于0 遇到一个邪乎的问题,二维数组用int型输入只能过10%样例。用char型输入,再转换到另一个int型数组,就AC了emmmm #i...
2021-01-15
0
5
NC16593 铺地毯
1.蒟蒻的我一开始想着开一个很大的二维数组,然后枚举每个矩阵,并把矩阵里面的值都赋值为i(1<=i<=n)这种暴力法当然不行了。2.正确解法应该是记录每个矩阵的状态即输入的那四个数,并标记每个矩阵是第几个。状态记录完之后就从最后一个矩阵开始判断,当前点是否在矩阵内。判断条件如图: #i...
2021-01-15
0
5
NC207040 丢手绢
因为小朋友们是围成一个圆圈坐,那么一个圆中,最远的两点的距离是直径上的两个端点,求出来圆周长的一半,就可以确定直径上的两个端点,直径的第一个端点是第一个小朋友,然后枚举每个小朋友距离第一个小朋友的距离,如果这个距离>=周长的一半,那么这个小朋友就是直径的另一个端点。记录这个距离,然后接着枚举以...
2021-01-14
1
4
Poj 3061 Subsequence
做题思路:Two Points枚举数组标记出第一次>=target的左边界l和右边界r,边界长度len=r-l;接着让左边界+1,判断这个区间的数和target的大小,如果>=target,更新len,如果小于target,r++。一直持续这个过程直到遍历完所有数。 #include &...
2021-01-13
0
5
NC16438回文日期
1.一个数要是回文日期,需要符合两个条件。1.这个数是回文数 2.这个数符合日期定义。2.每一年只有一个回文日期,即2011xxyy,它的回文日期就是20111102,我们要比较11和xx的大小,02和yy的大小。 #include<iostream> using namespace s...
2021-01-13
0
8
NC16649校门外的树
解题方法:差分+前缀和解题思路:1.假设nums[i]表示当前树的情况,nums[i]=1表示树存在,nums[i]=0表示树不存在。那么在初始化的时候nums都为1。设d为差分数组,它表示的是nums中相邻元素的差值,即d[i]=nums[i]-nums[i-1],所以除了d[0]=1,其余的都为...
2021-01-13
0
6