首页 > 小紫的总分
头像 最爱喝兽奶了
发表于 2024-06-02 21:38:03
D.小黑的区间 用一个数组记录每一种颜色上一次出现的位置,再用一个变量记录所有不合法颜色的位置中的最大下标,遍历一遍用当前下标减去这个变量求和就是答案。因为枚举区间右端点 i,左端点就是 i 之前的最大的不合法位置。 #include<bits/stdc++.h> using name 展开全文
头像 蒟蒻果冻z
发表于 2024-06-02 21:12:10
B-小蓝的旅游 看到这题我就想起小时候玩手机,总有什么能不能一笔从左上角画到左下角,清华北大答不出,农名工给出解答这类营销号的题目,我真的是绞尽脑汁画不出。。。 言归正传,现在我们假设这个网格图中有0和1交错分布,即0的上下左右4个方向全是1,1的上下左右4个方向全是0,那么走了1所在的格子后下一个 展开全文
头像 蒟蒻果冻z
发表于 2024-06-02 21:50:38
D-小黑的区间 现在定义dp[i]表示以i位置结尾的完美区间个数,不难发现,以i位置结尾的区间可以是i位置的一个数,也可以是i-1位置到i位置两个数,也可以时i-2到i位置三个数,直到这个区间内有两个相等的数,它们之间不存在与它们相等的值且它们之间的距离大于k。假设我们已经知道了第一个发生冲突的位置 展开全文
头像 已经死了
发表于 2024-06-02 22:04:03
小黑的区间 D-小黑的区间_牛客周赛 Round 45 (nowcoder.com) from collections import defaultdict,deque MI = lambda :map(int,input().s 展开全文
头像 shadow8412
发表于 2024-06-03 01:39:07
D.小黑的区间 这题官方是用双指针做的,也是这题的一个很标准的做法,但比赛时笔者想到了用dp做的方法,觉得很不错,所以分享一波。 首先我们知道,对于一个区间[1,2,3]来说,如果想求其中有几个完美区间,显然是[1],[2],[3],[1,2],[2,3],[1,2,3]共六个,那么如果再加入一个4 展开全文
头像 CoolArec
发表于 2024-06-03 08:55:55
B 小蓝的旅游 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; int q[N]; int n,m; void solve(){ int n,m; cin>>n>>m 展开全文
头像 可爱抱抱呀😥
发表于 2024-06-03 20:37:42
D~F Java D 小黑的区间 利用双指针,左指针固定为子数组起点,右指针试图加入数字,当加入的右指针处数字上一个在i前边或者距离小于k的时候可以加入,时间复杂度O(n) import java.util.*; public class Main{ public static void m 展开全文

等你来战

查看全部