自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (1)
  • 收藏
  • 关注

原创 AtCoder Beginner Contest 350 English ouyuYO (Contestant) D - New Friends

提取题意就是说每个连通图还需要连多少条边才能成为完全连通图。所以就要用并查集了,但在用并查集的时候还要同时统计当前连通图的已有边数,以便于计算还需要多少。就写到了D, 计算完全连同图的边数那里忘加了小括号,找了很久。

2024-04-20 23:03:25 219

原创 Codeforces Round 923 (Div. 3) D. Find the Different Ones!

重点就是b数组的构建 ,这里的b数组的值表示的是a数组每一位从右往左第一次出现与该位不同的数的下标;当然从右往左构建也是可以的,不过那样就给再写一个循环了,多余一些。打了最近的cf之后 , 对这一道题有了新启发。

2024-02-28 22:23:44 378 1

原创 atcoder_beginer335-C

这是一道模拟贪吃蛇的题目,题意还是很好理解的,让头先走,再让后面的部分走向其前一位的部分b[i] = b[i-1](b用来存放每一部分的位置)。我一开始只是循环进行龙的移动的,然后就超时了。所以这里用队列的结构来进行优化,将每一次龙头移动后的新位置填入数组的新一位,之后我们对每一部分进行访问时只要通过龙头现在在数组中的下标进而访问每一部分就可以知道了。超时超麻了,最后才想出来如何优化,/(ㄒoㄒ)/~~

2024-01-06 22:23:40 393 1

原创 2023河南CCPC——E 矩阵游戏

这样肯定会爆内存,所以就要用滚动数组来优化成二维,如果我们正序来进行迭代,呢么就需要两个二维数组,一个存放当前这一层的的数据,另一个用于存放上一层的,但如果我们倒序进行,只用一个数组就可以解决问题,原因是因为倒序进行时不会破坏该位置前的数,也就是这个位置前的数都还没有进行更新,处于上一层,所以就可以作为上一层的数据来对当前层进进行更新。很明显是一道dp问题,最近才开始学背包,我就看成01背包来理解了,每个'?'就是一个价值为1,空间大小为1的物品,而'1','0'就是无体积价值分别为1,0的物品。

2024-01-02 22:04:19 404 2

原创 排列and组合

排列组合

2023-12-20 22:26:28 368 1

原创 NC23486 小A与小B

示例1。

2023-12-15 11:48:09 217

原创 atcoder ABC beginer 332 D - Swapping Puzzle

暴力枚举,分别对行和列进行全排列,然后检查这种方案是否能使a与b相同,并计算这种方案最少需要的操作数(也就是全排列方案中的逆序对的数量,这里我用了归并来计算,其实冒泡也就够了,因为数据范围很小,只有2-5),这里检查a与b是否相同用了一些技巧(从别人学来的)。=b[i][j](sta1存放的是行的方案,sta2存的是列的方案),两种方案组成的新坐标就是在这种方案下每个数的新位置,比起一开始我想的用两个新的额外数组来模拟好得多啊。

2023-12-11 22:59:57 122 1

原创 bellman_ford 与 spfa 笔记

我们知道迪杰斯特拉算法无法处理所有有负边的情况,那让我们先复习一下,为什么迪杰斯特拉无法处理类似这样的情况,我们在遍历1号点的出边时,将 dist[2] = 1 , dist[3] = 2;但在下一次循环找最小的dist时就会把2号点归到最短路径当中,其dist[2]=1的值就不会再被改变,但实际上有更短的路径,1->3->2最短路径为0!这就体现出了迪杰斯特拉算法无法处理所有负边的缺点。

2023-12-10 00:00:03 536 1

原创 迪杰斯特拉算法(朴素and堆优化版本)笔记

迪杰斯特拉算法笔记

2023-12-08 22:08:55 323

原创 P2895 [USACO08FEB] Meteor Shower S

根据预报,一共有 $M$ 颗流星 $(1\leq M\leq 50,000)$ 会坠落在农场上,其中第 $i$ 颗流星会在时刻 $T_i$($0 \leq T _ i \leq 1000$)砸在坐标为 $(X_i,Y_i)(0\leq X_i\leq 300$,$0\leq Y_i\leq 300)$ 的格子里。共 $M+1$ 行,第 $1$ 行输入一个整数 $M$,接下来的 $M$ 行每行输入三个整数分别为 $X_i, Y_i, T_i$。贝茜到达安全地点所需的最短时间,如果不可能,则为 $-1$。

2023-12-07 18:35:48 195 1

原创 E - Max-Min Sums

思路:我们可以求出每一个数在选出的数中取最大值时的组合数,并让该数与其组合数相乘,让它们相加,也就得到了我们求最后结果时的max项的和,求所有min项的和同理;题目大意:对于有限的整数集合(共N个数),从中选取k个数,求每种选法选出的数中的最大值减去最小值所构成的和;费马小定理:a为任意自然数,p为一质数,a^(p-1)%p=1,所以a*a^(p-2)%p=1,由此我们就可以得到a^(p-2)为a在取模的情况下的逆元。这样我们的数的规模就会减小,在避免了溢出的情况下,也能使我们的递推式正确。

2023-12-05 18:11:14 123 1

原创 E - Mex and Update

很明显答案肯定在[0,n]这个区间内,绝对不会比n它大,因为最坏的可能就是数组连续存储从0开始递增的数,那数组中的数就是[0,n-1],最后答案就是n,这里我们就可也想到创建一个set存储未出现的数,那么其首相就是我们的答案,对于这个set也一样,其中的数也只会存储[0,n]范围内的数,因为这个范围之外的数对于我们最后的答案都是没有意义的(我就是这里没想到,导致后面越界访问了),那么思路就来到如何向set中删数和插数。然后我们来处理查询,(如果要删的数货要加的数不符合范围,直接跳过)查询分为两步。

2023-11-29 20:44:27 141 1

空空如也

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

TA关注的人

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