- 博客(23)
- 收藏
- 关注
原创 2024杭电10
无论Alice拿多少个,Bob都可以取中间的1或2,分为两个一样长的连续段,无论Alice怎么操作,Bob都可以进行对称操作,那最后一步一定是Bob操作。发现直线拍摄时间段都是相邻的,这样肯定是最优的选择。0 0 /1 1 最后无论异或多少,结果都是0。1 0 /0 1 最后无论异或多少,结果都是1。画图,发现就是一层一层的,可以用dp思想解决。最极端的情况,每次比赛都是0分。每次拿一个,最后就是看n的奇偶性。有n处地点要拍摄,一天有m段时间。的时间段拍摄,拍摄时间为连续的。为x的时间段是否满足。
2024-09-06 19:43:35
945
原创 2024杭电9
当一人A出的手牌在之前就出现过,那A可以把两张相同牌之间(包括两张一样)的牌都收为手牌。两人手上都是单牌,显然不论先手打出什么,后手都可以出同样的单牌,直到先手的手牌为空,后手必胜。先手出双牌,另外一人会减少一个双牌,先手+3分。随便写一下,观察,无论谁先谁后合并,最后答案都是一样的,按循序计算一下就行。shuishui 先手操作,两人都想赢,问谁最后能获胜,或者平局。两人都有双数牌时,先手先出单牌,后手就可以直接吃掉,没有意义。背包有m的容量,问最多能装的最大价值是多少。的矿石,含矿质量为最大的值。
2024-09-05 22:05:55
900
原创 2024杭电8
首先已经在边缘的拼图,只能沿着边走一圈,再判断最开始可以朝哪个方向移动是最大值。用map记录区间大小和越界次数,避免重复dfs,之间把已经记录的答案返回即可。可以有四个选择,设置重力的方向,就是拼图会向一个方向竖直掉落到最底。,二分查找到最小而且没有连通的最小生成树,假如没有就是-1.进制的某一位值,所有肯定也是k的倍数,那我们就枚举。答案是0,因为不进位加法只会变小,不会变大。有一个n*m的矩阵,给出最开始拼图的位置。进制数,每一位相加,但是不进位。,假如有无数种可能性,就输出。足够大,没有进位就行了。
2024-09-05 02:08:32
719
原创 2024杭电7
这就是一颗树,根为最终产物,可以选一个时间最大孩子为无限的,递归一下其他的孩子需要的时间。给你一颗树,两人博弈,一人A可以选一个点半径为r1的轰炸区,一人B移动距离为r2。现在想要生产一件最终产物,可以选一种材料为无限的前提,问最短时间是多少,如果大于。还有一种情况,轰炸区可以包含整棵树,找到树的直径,判断直径与轰炸区的大小。蛋糕是不用切的,如果切了,草莓要切更多才能是蛋糕的倍数。给定n个敌人的伤害值,自己的生命值,和烟雾弹的数量。问最后蛋糕数量和每个蛋糕的草莓数量。首先,假如草莓是蛋糕的倍数,不用切。
2024-09-03 14:51:55
1031
原创 2024杭电6
也可以用二分在不困的时间段找到上课时间段,如果每个上课时间段都可以在不困的时间段,而且没有睡觉时间与上课时间重叠就是yes。要删除一个节点,要求剩下两个连通块,那就只能删掉度为2的节点,剩下两个菊花图,菊花图最多一个度不是1的节点。在上课时间睡觉就是上课时间段,和时间时间段有重合,我们把两个加在一起排序,看是否会有重合部分就行了。给定一棵树,删掉一个节点和连向这个点的所有边,使剩下两个连通块都构成菊花图,问是否可以做到。模拟一遍,用map存走过的点,假如重复就是重叠了,没有的话,判断是否成环而且发现相同。
2024-09-02 20:00:08
464
原创 2024杭电5
一个数是4的倍数,那就可以分为两个偶数,所以最后就是看谁可以保持3个偶数,假如谁把偶数分为奇数+奇数就输了。,不一定是最开始就做,可以除去一步变为0的数字,看剩下的gcd是不是大于a[1]。假如有两个偶数,先手吃掉一个偶数,把另外一个偶数分为奇数+奇数,也是先手必胜。先手必须分成奇数和偶数,后手再把奇数吃掉,把偶数分为两个奇数,最后就会是。答案为n的时候,除去n-1个把元素变为0的操作,只有1次操作。一个奇数堆要分为奇数堆和偶数堆,偶数堆可以分为两堆奇数堆。n个数字,n-1个数字变为0,最少需要n-1步。
2024-08-30 00:24:14
1968
原创 2024杭电3
所以就考虑偶数节点时,如10100可以由1到10000或者100再到达10100节点。对于每个二进制数字,可以把0位变为1,把两个节点相连,再判断最短时间。n个节点的森林,要求深度相同的节点的度也相同。,选一个最大实力的队伍,再选2个最小实力的队伍。先跑一遍迪杰斯特拉,知道现在1到各个点的最多时间。一个无向图,n个节点,m条边,每条边有时间代价。问是否可以让1号队伍所在的组不是死亡之组。问节点1到其他节点的最短时间代价。当节点为n时有一种不重复的连法。可以先加上1到其他节点,代价为。还要保证极值差大于D。
2024-08-28 13:20:56
870
原创 2024牛客10
为正,可以考虑先让智力变为负数,在变为正数,或者先让智力变为正数,在变为负数,判断区间左边,右边的数量是否可以完成就行。插入点时,当现在已经插入cnt个点,点与之前插入的点形成的直线,在矩阵上的点都标记为不能插入。插入点(x,y)与之前已经插入的点,在x轴,y轴上差值,除gcd后的(dx,dy),点。都在一条直线上,把在矩阵中的点都标记为不能插入,剩下的点就是下一个点能插入的位置。例如xxx.first.second,就是xxx的pair嵌套的第一个的第二个。这个点能插入就输出1,不能就输出0.。
2024-08-23 01:10:20
592
原创 2024牛客9
B和A至少一个共同点的最大图形,那我们找B图形的最长直径,围绕在A边一圈新构成的图形就是新图形。先求凸包,再求直径,答案就是A的周长加上B直径为半径的圆的周长。A,B至少有一个共同点的情况下,B可以平移,翻转,反转,问B可以移动的覆盖范围形成的图形的。优先队列,每次取最大值用一次操作二,然后假设再全部用操作一。找到X矩阵的宽w和高h,计算gcd(w,h)。操作一的次数就是最大值的大小。,代表前部分是平方数,后部分是平方数的个数。判断一个数有多少个平方数,可以用根号就行.。·选一个怪兽,让它的防御值变为。
2024-08-22 17:03:06
705
原创 2024牛客8
给定一个集合,dXqwq和Haitang轮流在选集合选x,y,假如gcd(x,y)不在集合内,可以插入gcd(x,y)。但是n的范围很大,不能用用根号n的时间复杂度。注意数据范围小,只有1e5. 枚举每个数x的倍数,假如这个数。给定一个数字n,问有多少m
2024-08-21 21:39:56
1007
原创 2024牛客6
把两种边分开存储,在Lun边组成的图中,我们要找环,用tarjan算法,把成环的边加入答案,还有用并查集维护,最后遍历Qie边,把没有连通的节点连在一起,加入最后答案是连通的,则有答案,否则没有。给定一棵树,每条边有值0或1,Grammy 和Oscar轮流从根节点选一条边走,直到根节点,记录走过的01串。1100,可以把蛋糕分为4份,可以拿一半,发现我们需要找的是01串的0的前缀比例最大的时候。问两人都想拿最大比例的蛋糕,问最后Grammy能拿的比例。问你能不能实现,如果能,保留哪些边。
2024-08-21 12:59:23
411
原创 2024牛客5
比较两人的骑士生命值,如果生命值相等,优先攻击的骑士存活,所以生命值相等的骑士有一半可以是May先攻击,其余的骑士生命值大的存活。一个N * M的矩阵,有若干1 * 2的的小矩阵,问能不能覆盖住这个矩阵(不能重叠,不能超出矩阵)首先n的值很小,我们可以枚举每个点为起始点,枚举每个节点为当前最小权值的节点,所以其余相邻节点删除。结合4,5,(a不存在,b不存在)任何矩形都可以。小的,可以进行操作,直到各个数字差值最小。5.(a存在,b不存在),只要不是。4.(a不存在,b存在),只能是。
2024-08-20 14:06:43
1928
原创 2024牛客多校4
对于len> 4的环,每次操作可以排好其中三个元素,环长变为− 3,因此记录有多少个环最终长度为 2,将其两两合并处理即可。一个点的对称点,与另外一个点相连。给定两个点坐标,求一个点到轴,再到另外一点的最短距离。排序后,求相邻元素差的gcd就是答案,n=1特判。个元素随意交换,问把序列排序好的最少操作次数。时间给了3s,m对好朋友,暴力检验就可以了.每个节点都要一个深度,当连接到u,v时。不限操作次数,问最后的极值差是多少。一个len=3,4的环可以一次排好。n个人,有m对好朋友,假如。
2024-07-28 14:54:12
885
原创 2024牛客3
一个人到至少到一次对岸。剩余体力记录可以来回几趟。求所有操作的gcd,然后两种可能性,撞上和没撞上,取最小值。问最后能不能把所有人运到对岸。号代替数字,要求最后满足扫雷游戏的规则。个人操作,最后比较一下能不能完成就行了。,其余的所有都改为*号就行了。个人,每个人乘坐船一次消耗。找到一个不在边界的数字。求可以得到的最小值。
2024-07-27 10:55:16
205
原创 2024杭电2
可以很快的在字符串S 中找 字符串T ,字符串S 的长度为 n,字符串T 的长度为 m,则复杂度为 O(m log n )一个字符串URL,输出 所使用的传输协议,网络位置,以及其在路径字符串子结构中定义的环境变量。个部分组成,一个点与三个与该点相邻的边,三个边的另一端点被认为不在鸡爪中。8个字符,按顺序合成为4个,再合成为两个,在合成为一个,问最后颜色。鸡爪的3条边尽量往小的连,不能有重边。有一颗n节点的树,每个节点有一个怪兽,消灭节点。,从根节点开始,到结束时,停留天数的最大期望。
2024-07-26 20:25:42
387
原创 2024杭电多校1
字符串hash,把集合[a],的所有字符串存储起来,再遍历字符串b的字串,假如出现在[a]中就答案+1。我们关注数的二进制的每一位,12的方案数为 4, 1的方案数为 4,把每一位的方案数乘一下就可以了。,可以左移循环变为不同的字符串。把这些字串设为集合[a]。的代价获得4颗星星。也可以跳过这一次机会。的范围不大,就是背包dp就可以了。的连续字串有多少字串是在[a]中。颗星星的最小代价是多少。的代价获得1颗星星,的代价获得2颗星星,的代价获得3颗星星,
2024-07-22 11:02:23
755
原创 2024牛客暑假多校训练营2
代表白色,选择一个红色为起始点,可以上下左右移动,只能在红色点移动,经过后的点变为白色,问最多能移动多少次。我们可以只关注纵轴,横轴的移动距离和经过(x,y)就满足条件。的最小生成树的权重。如果无法构成一颗树,输出。就代表到达目标点了,找到有多少满足条件的。先特判终点就是起始点,所有字串都可以。,用map存储每次移动操作的前缀和。就是从左遍历一遍,如果左边有。的字符串,目标点(x,y)的矩阵,每个位置上有。,经过目标点的数量就是。感觉想到了就很简单了,的二进制数的最后一位。起始点是(0,0),
2024-07-20 11:51:25
603
原创 2024牛客暑假多校训练营1
假设lzr010506参加第一次比赛,成绩比lzr010506好且可以参加第二次比赛的人安排去第二次比赛,假设lzr010506参加第二次比赛,同理。有两次比赛,lzr010506知道自己在每次每个人的解题数和罚时,如果有人可以参加两次,可以随意安排,问lzr010506能取得的最佳成绩。在k个数中,不能有一列全是1,那么这一列的可能性就是。不确定,不能使用逆元,我们使用杨辉三角求组合数。,我们就遍历一遍最后一位是1的个数有。,要求存在一个子序列的AND的和为。,问有多少种可能性,答案对。
2024-07-17 11:21:19
734
原创 Codeforces Round #956 (Div. 2) D. Swap Dilemma
交换[1xx4]->[x1x4]->[xx14]->[xx41]->[x4x1]->[4xx1]首先,两个数交换两次[a,b]->[b,a]->[a,b]就可以相当于没有操作。所以可以直接找把b数组交换为a数组时,一共需要多少步,交换[1x3]->[x13]->[x31]->[3x1]步直接交换[1xx4]->[4xx1]发现一步距离无论是多少的交换,都等同于。,然后各自交换数组两坐标元素。步直接交换[1x3]->[3x1]就是说选等距离元素各自交换。,如果是偶数,则可以实现。
2024-07-08 12:44:47
843
原创 Codeforces Round #956 (Div. 2) C. Have Your Cake and Eat It Too
遍历2-(n-1),枚举每个节点为。先前缀和一遍,方便计算子数组的和。最后都没有满足的就输出-1。,遍历1-n,找到最小的。,遍历每个位置,判断一下。,遍历n-1,找到最大的。,遍历每个位置,判断一下。,三个数组的和相同,把。,如果无法分就输出-1。,二分找满足条件的最小。
2024-07-08 11:06:09
1992
原创 2023年牛客多校第1场 H题 Matches
有两个数列ab,现在可以选择其中一个数列,交换其中两个数字,最多可以操作一次,问操作后最小的∑i1n∣ai−bi∣1<=n<=250<=∣ai∣∣bi∣<=109。
2023-09-20 22:49:43
124
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人