
双指针
~无相~
这个作者很懒,什么都没留下…
展开
-
D. Table with Letters - 2(双指针+前缀和)
思路题意:给一个m*n的矩阵,求其中有多少个子矩阵满足a的个数小于等于K,并且四个顶点字符相同做法:先用前缀和,记下a的个数,在枚举一下上边和下边,之后用类似于双指针的做法,我们令左边的纵坐标为p,右边纵坐标为q,先移动右边,直到右边点a的字符个数大于K,每次移动右边如果右边的两个顶点相同就使该点字符的个数加一,如果右边不能移动了,就看下当前和左边顶点字符一样的右边字符有几个,ans加上这个值,之后左边往右移动,别忘记把该字符出现的次数减一。代码#include<bits/stdc++.h原创 2020-06-05 10:25:06 · 253 阅读 · 0 评论 -
子段乘积
题目做法尺取法:先用l,r记录下区间的左右端点,1.r-l+1<k:①:如果a[r]==0,就把l=r+1,因为l<r+1的区间乘积都是0,所以直接跳到r+1,②:如果a[r]!=0,就把当前区间的乘积res*a[r]2.r-l+1 ==k①:如果a[r]==0,就把l=r+1,同理因为l<r+1的区间乘积都是0,所以直接跳到r+1,并且更新ans=max(ans,...原创 2020-02-14 13:23:40 · 210 阅读 · 0 评论 -
nozomi和字符串
题目链接:https://ac.nowcoder.com/acm/contest/3002/H来源:牛客网nozomi看到eli在字符串的“花园”里迷路了,决定也去研究字符串问题。她想到了这样一个问题:对于一个 “01”\mathit{“01”}“01”串而言,每次操作可以把 0\mathit00 字符改为 1\mathit11 字符,或者把 1\mathit11 字符改为 0\math...原创 2020-02-07 14:55:59 · 273 阅读 · 0 评论 -
最短连续子串
题目来源:牛客网题目描述eli拿到了一个仅由小写字母组成的字符串。她想截取一段连续子串,这个子串包含至少 个相同的某个字母。她想知道,子串的长度最小值是多少?暴力记录一下每一个字母出现的位置,在枚举一下有k个相同的字母的是哪一个字母,只要取连续包含k个该字母的子串最小值即可 #include<bits/stdc++.h>using namespace std; ...原创 2020-02-07 14:05:55 · 1732 阅读 · 0 评论 -
射箭
题目链接:https://ac.nowcoder.com/acm/contest/3002/C来源:牛客网umi对弓道非常痴迷。有一天,她在研究一个射箭问题:在一个无限大的平面中,她站在 这个坐标。有 个靶子,第 个靶子的坐标是umi准备在 轴或 轴上放置一块挡板来挡住弓箭的轨迹,使得她可以射中的靶子数量不超过 个。她想知道挡板的最短长度是多少?注:假定弓箭的轨迹是起点为umi坐...原创 2020-02-06 18:47:19 · 451 阅读 · 0 评论 -
AcWing 1238. 日志统计
分析代码#include <iostream>#include <cstring>#include <algorithm>#define x first#define y secondusing namespace std;typedef pair<int, int> PII;const int N=1e5+5;bool st[...原创 2020-01-27 11:00:27 · 231 阅读 · 0 评论