自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Codeforces Round 966 (Div. 3) C. Numeric String Template

我当时想的是用map来存,键是数组的值,值是相同数组的下标,然后我逐步遍历,来判断两个map的值是否相同,但是我过样例的时候发现有点样例不对,我思考了一下,因为map是自动按值的升序来排列的,那我们值相等的情况呢,所以我们需要自定义map排列函数来实现。例如,如果数组中有两个相同的数字,这两个数字必须在字符串中对应两个相同的字符。第三个测试用例中,"aaaa" 和 "cbcb" 符合模板,而 "bcbc" 和 "aba" 不符合。第二个测试用例中,"ab" 和 "aa" 符合模板,而 "abc" 不符合。

2024-09-18 20:41:17 341

原创 Codeforces Round 972 (Div. 2)

(3) 最后我们讨论大卫在两名老师的中间,那么老师肯定会往中间追,大卫往离着最远老师的方向跑,在即将相遇的时候再往回跑,直到有一刻,两名老师同时抓到大卫,时间是(max(x,y)-min(x,y))/2。(2) 老师全在大卫的左边,那么好,我们很容易想到大卫往右边跑直到n为止,离大卫最近的老师追,追到为止,那么时间就是 n-max(x,y);(1)老师全在大卫的右边,那么好,我们很容易想到大卫往左边跑直到1为止,离大卫最近的老师追,追到为止,那么时间就是 min(x,y)-1;

2024-09-15 11:59:16 683

原创 Codeforces Round 971 (Div. 4)E. Klee‘s SUPER DUPER LARGE Array!!!

Klee 有一个长度为 n的数组 a ,其中按顺序包含整数 [k,k+1,...,k+n−1]。克利希望选择一个索引( 1≤i≤n),使得 x=|a1+a2+⋯+ai−ai+1−⋯−an|最小。前言:当时D题没思路先做到E题,感觉是个等差数列,推了会公式,写出代码过了样例就交了,感觉可以过,结果。每个测试用例包含两个整数 n和 k( 2≤n,k≤10^9)--数组的长度和数组的起始元素。废话少说,我之所以超时的原因是没注意到n,k的数据范围是0-1e9 超时是在所难免的。输出 x 的最小值。

2024-09-05 12:29:51 306

原创 Codeforces Round 971 (Div. 4) D. Satyam and Counting

思路:刚开始看到这个题无从下手,我们先读一遍题,**题目的突破点是0≤yi≤1,**,y轴的坐标只能是0或者1,那么好,我们第一种想到的情况是两个点的x坐标相同,y的坐标一个是0一个是1,那么这两个点和其他任何的点构成的三角形都是直角三角形,我们就找这种点,找到一个答案就加上n-2。接下来的 n 行包含两个整数 xi和 yi ( 0≤xi≤n , 0≤yi≤1)--Satyam 可以选择的 i'th 点。只要有三个点的x在范围内,并且其中两个点的y轴和另外的一个点的y轴不同即可,找到一个,答案就加上1。

2024-09-05 11:18:04 552

原创 牛客小白月赛99 C 迷宫

幸运的是,你拥有一种超能力——在迷宫中移动时(移动方向为上、下、左、右四个方向之一),可以在当前位置朝任一方向(上、下、左、右四个方向之一)释放激光。字符只包含 "#"、"."、"S" 和 "E",并且起点与终点有且仅有一个。给定一个 n×m的迷宫,迷宫由 "#"与"." 两种字符组成。其中 "#" 代表障碍物,"." 表示空地。迷宫中还有一个起点 "S" 和一个终点 "E" ,它们都可以视为空地。显然可以从起点出发,到达(1,2)处并向下方使用超能力,此时可以从起点到达终点。

2024-08-26 02:11:20 225

原创 最长上升子序列

贪心:考虑一个简单的贪心,如果我们要使上升子序列尽可能的长,则我们需要让序列上升得尽可能慢,因此我们希望每次在上升子序列最后加上的那个数尽可能的小。否则,在 d 数组中二分查找,找到第一个比 nums[i] 小的数 d[k] ,并更新 d[k+1]=nums[i]。用 len 记录目前最长上升子序列的长度,起始时 len 为 1,d[1]=nums[0]。基于上面的贪心思路我们可以用d[i] 代表长度为i的最长上升子序列的末尾的最小值。,所以d[k]不是最小的,与题设相矛盾,因此可以证明其单调性。

2024-08-18 00:49:26 841 1

原创 2024牛客暑期多校训练营9 K题 Kill The Monsters

本人在做这道题的时候,第一眼就感觉是贪心,但和队友一直不知道如何维护贪心的过程,最后用暴力测试了思路一下,思路是对的,但超时了qwq。思路:我们最开始肯定是想先用方法二来把大的怪物的值除k逐渐接近一个数,最后用方案一全部带走。补题的时候真想给自己一耳屎。

2024-08-16 00:04:02 364

原创 900. 整数划分

一个正整数 n𝑛 可以表示成若干个正整数之和,形如:n=n1+n2+…+nk𝑛=𝑛1+𝑛2+…+𝑛𝑘,其中 n1≥n2≥…≥nk,k≥1𝑛1≥𝑛2≥…≥𝑛𝑘,𝑘≥1。我们将这样的一种表示称为正整数 n𝑛 的一种划分。现在给定一个正整数 n𝑛,请你求出 n𝑛 共有多少种不同的划分方法。

2024-06-10 20:46:00 345

原创 C. Trading

题面:二十年前,广州的北京路步行街北段出土了自唐代直到民国时期的十一层路面,南段则发掘出宋代至明 清时期共五层的拱北楼建筑基址,佐证了北京路自宋代以来作为商业步行街的悠久历史;在步行街中,有 n 间商店买卖同一种商品,第 i 间商店一件商品的收购价和出售价均为 ai 元。对于接下来 n 行,第 i 行输入两个整数 ai 和 bi(1 ≤ ai , bi ≤ 106),分别表示第 i 间商店的商品价格, 以及该商店可以交易的最大次数。Output 每组数据输出一行一个整数,表示在步行街中赚到的最大总利润。

2024-06-10 20:41:47 255

原创 95. 费解的开关

我们依次枚举第一行的32种情况,递推2,3,4行,最后判断第五行是否都开即可。假设2,3,4行中的灯为关,则我们改变正下方的灯的状态来改变这个灯的状态。每行5个灯,每个灯有开和不开两种情况,则共32种(2^5)主要算法是递推(宽搜也可以)最后取32次中步数最小的即可。

2024-05-23 17:44:46 182 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除