- 博客(114)
- 收藏
- 关注
原创 Easy Glide
题意:给出起点终点坐标,然后给出可以经过的几个点,未经过这几个点的时候以v1的速度前进,一旦经过这些点就可以在3秒内以v2的速度前进,3秒之后恢复v1,问从起点到终点所需的最短时间。思路:最短路模型没什么好说的,如果采用邻接表方式存图建边会比较麻烦,很遗憾我就是用的邻接表,注意从起点出发的点只能以v1的速度前进。
2023-07-29 21:15:43
447
原创 Lowbit
题意:输入给出包含n个数的数组,和m次询问,询问包含两种,1、对区间[l,r]中的每一位数都加上一个lowbit(ai),2、询问[l,r]中数组和。
2023-07-27 08:37:41
100
原创 Codeforces Round 885 (Div. 2)
不难发现任意两个数的操作序列是在这三中情况中循环,周期同样为3,由于同除gcd不会出现连续两个偶数,所以(0,x,x)的循环中两个x一定是奇数,然后0占据了原先偶数的位置,所以最初两个数的奇偶性决定了0在何时出现,因此只需要判断最初所有数对是否都是同一种状态即可,注意特判两个数都为0的情况,00的操作序列为全0。题意:题目给出n*m的矩阵,给出一个人的初始坐标,然后给出k个朋友的所在坐标,每次该人和他的所有朋友都必须移动到四个方向的临点,询问在无数次移动后,该人是否会和任意一个朋友所在坐标相同。
2023-07-17 17:06:03
382
原创 Codeforces Round 882 (Div. 2)
0的情况,结果为1。思路:本题可以通过两次后缀异或和操作来实现区间异或和操作,若要得到xor[l-r],可以通过a[n+1]=xor[r+1,n],则a[n+2]=xor[l,n+1]=xor[l-r],则该题就转化成了求原数组的最大子区间异或和,而本题数组中的数最大不超过256,也就是说任意子区间的异或和都不会超过256,我们可以用一个set来存已经出现过的前缀异或和,不同前缀区间有相同的异或和可以只做一次运算,因为本题不需要找出具有最大异或和的区间是哪一段。
2023-07-16 00:44:17
355
原创 Codeforces Round 884 (Div. 1 + Div. 2)
题意:定义一组数的mex为这一组数种不存在的最小正整数,定义”primality“为一个数组中满足以下定义的(l,r)的数量,定义:数组下标l到r的数的mex为素数,输入给出整数n,要求寻找”primality“最大的1到n的排列,通俗来讲就是找出最多子集的mex为素数的1到n的排列。trick:2和3作为最小的两个素数,而且还是连续出现的自然数,在这种关于素数和排列的问题中要特殊考虑,而此题是关于mex的问题,1又是唯一小于这两个最小素数的非素数自然数,所以着重考虑123这较为特殊的三个数。
2023-07-12 23:22:27
262
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人