自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法竞赛--数学随笔

持续更新中。。。

2024-11-03 04:01:11 46

原创 Codeforces Round 983 (Div. 2)(前三道)

(码的,比赛脑抽了,还真以为依次改过去就好,红温了)(一般他2s,数据量为1e5左右,算法时间复杂度都为。例如:median([1,2,5,4,3])=3, median([3,2,1])=2,median([2,1,2,1,2,2,2])=2. .观察提示可得出{01,10}状态灯为on,而{11,00}则为off,on灯数量最大的可能即为1与0的匹配数,而最少则为n减能达到关灯的数量。从小到大排序后,维护一个区间,让区间内的线段都满足三角形,而区间外的的都为不满足统统整改。, 和一个整数 k。

2024-11-02 01:34:05 750

原创 Codeforces Round 982 (Div. 2)(前四题)

例如,数组[1,4,2,3,6,5,5,7,7]在斯大林排序后会变成[1,4,6,7,7]。如果数组 a 可以从数组 b 中删除开头的几个(可能是零或全部)元素和结尾的几个(可能是零或全部)元素,那么数组 a 就是数组 b 的子数组。斯大林排序(Stalin Sort)是一种幽默的排序算法,旨在删除不合适的元素,而不是费心地对它们进行正确排序,其时间复杂度为 O(n)。你需要最小化操作的花费,使数组 a 为空。给定一个由 n 个整数组成的数组 a,求从数组中删除的整数的最小个数,以使数组变得。

2024-10-30 22:16:27 905

原创 Codeforces Round 980 (Div. 2)(前四题)

例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是一个排列(2 在数组中出现了两次),而 [1,3,4] 也不是一个排列(n=3,但数组中有 4 个)。逆序对主要考虑数与数的大小关系而不是数本身,如果数a在最前面造成的逆序对为x个,数b在最前面造成的逆序对为y个,如果(x>y)则a排在前最好。先排个序(非递减)先对i及之后的按钮按当前插槽中的罐头数(a[i]-a[i-1])*(n-i),后加上试错的次数,判断罐头数是否达到k。注意,在按键过程中,您可以根据是否收到一罐柠檬水来调整您的策略。

2024-10-20 23:01:38 779

原创 Codeforces Round 979 (Div. 2)前四道

第一题 给你一个长为n的数组a,建造两个数组b,c 都含有n个元素,及以下方法 定义a的分数为。在计算分数前,你可以组合你任何想要的a的顺序。 以你组合最佳序列找到a的最大分数。 第二题 对于任意二进制字符串t,让f(t)为t的非空仅含0的子序列数量并让g(t)为t的非空至少含有一个1的子序列数量。 注意f(t)和g(t),每个子序列在t中出现几次就记录几次,如f(000)=7,g(100)=4

2024-10-20 21:53:10 679

原创 A. Valeriy and Deque

由于deque的前两个比较中会把大的留在第一位,因此最终第一位的值是固定的而后面的部分没有比第一个大的会陷入循环。所以模拟题目给的操作并记录直到最大的来到第一位后停止,这时要求的操作数小于模拟次数就直接给出记录的答案,其余情况由于除第一位外处于循环也能直接定位到。

2023-12-17 22:14:59 392 1

原创 E. Bertown roads

low[]更新回溯最短的时间点,dfn[]到达的时间点。深度搜索,遇到访问过的点表明可以构成这段路径强连通分量,更新low。当low[to]>dfn[now]时,说明now不在含有to的强连通分量里,即这个图里含有不止一个强连通分量。在有向图中点与点能互相到达。即求从点1出发的强连通分量是否包含所有点。话说链式前向星的搜索速度比邻接表快好多。好烦,图的连通性要回顾下了(割点,桥,强连通分量)。不过这问题倒也挺典型的。

2023-12-16 20:08:52 359

原创 E. Crazy Robot

判断哪里的疯狂机器人可以回实验室。由于机器人是叛逆的,一定不会往你命令的方向走。因此要让机器人只能单向的走或一定能走到可以会实验室的点;即从实验室出发后的点能接触的“.”小于等于1,并把可以的点标记为“+”。先想完思路再写比较好。

2023-12-15 19:52:51 393

原创 C. Cycle

深度搜索(并传入当前点与上个点的参数),每个走过的位置都打上标记,返回时不用取消,因为必定不可能从该点得到答案了。

2023-12-14 16:39:51 405 1

原创 B. Infinite Maze

使用pair<int,int> vis[maxn][maxn]二维数组,存储每个位置的上个坐标。相同表示重复搜索,起记录作用;不同表示再次走到,以此判断是否循环。一个迷宫判断能否无限走下去。从起点开始使用广搜,第二个走到相似点时,表示可以循环。(x,y)==((x%n+n)%n,(y%m+m)%m)这两个点即为相似点。让一个数组起到两个功能,可以的。1.会重复搜索相同点。

2023-12-13 22:03:17 316

原创 B. Dominoes

先找一个端点(出度为奇数的点),而当端点不止两个时,输出no solution。否则从端点出发走过所有能走的边并记录。最后判断下是否走完输出答案。

2023-12-13 16:19:13 401

原创 D. Cycle in Graph

求vector中元素的位置find(vector.begin(),vector.end(),i)-vector.begin()。find(vector.begin(),vector.end(),i)返回的时迭代器的位置而非寻找元素的位置。找长度不小于k的循环体。直接深搜,数组ans记录路径,当搜到之前走时判断循环长度是否达标。

2023-12-12 18:18:05 300

原创 F. Graph Without Long Directed Paths

YES时的输出问题,开始时记录u,v。并创建vis记录哪个点入度,那个点出度。输出答案时遍历u输出该点入度还是出度即可。要求每条路径长度都必须小于2,才输出YES。因此保持相连点的入度出度的交替,即当前点只有入度那么下个点就只有出度。链式前向星的edge数组开大小时,要注意边的数量。

2023-12-12 15:24:29 379

原创 Educational Codeforces Round 148 (Rated for Div. 2)

只补到第五道。

2023-05-14 18:22:17 176

原创 Codeforces Round 872 (Div. 2)(前三道

思路:获取能得到的最大值h1和次最大值l1,并且让最大值覆盖的范围最大(n-1)*(m-1)思路:当回文有不同元素是只用删掉一个不同元素就可以破坏回文。下面笔者能力不够搞不了了qwq。

2023-05-09 20:56:34 571

原创 C++ STL容器的主要特性

stl容器特性总结

2023-04-29 16:02:50 92

原创 滑动窗口 /【模板】单调队列,从deque到数组及优化

发现这两种时间消耗差不多,由于直接用数组模拟双向队列肯定更快,所以来优化数组版本,发现数组版本因为在区间移动前时,当ans[1]为最左值时,要把ans[1]去除,并将队列的每个值向前移动从而时间复杂度升高。没有元素时,直接进;有元素时,当比开头的大时,前面的都可以pop,加进去。没开头大时,加进去;最后对开头下标判断下是否会被踢掉。记录下当笔记,有问题看到会改,欢迎交流分享qwq。同个设置下标l,r来代替队列值的移动。单调队列的实现依靠双向队列。

2023-03-10 10:49:26 89

原创 康托展开与 逆展开

数论 康托展开 C++

2023-02-13 22:32:02 92

原创 scanf和cin对 string数组的不同

scanf对string输入的问题

2023-01-29 22:38:15 268 1

原创 Python实现深拷贝与浅拷贝

拷贝

2022-09-27 13:33:07 249 1

空空如也

空空如也

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

TA关注的人

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