目录
1、SMU Summer 2024 Contest Round 4
3、SMU Summer 2024 Contest Round 5
二、第✌️周
1、SMU Summer 2024 Contest Round 4
Made Up
题目大意: 给出A,B,C三个数组,看有多少对(i,j)满足
思路:先标记A中出现的数,然后在B中找到有多少个位置的数在A中出现过,因为i和j没有大小限制,所以答案就是 如果C中有B与A相等的数的下标 ans就加上 A中某个数的个数
H and V
题目大意: 给出一个由.和#组成的图形, 现在要求删掉一些行或列,看有多少种操作能使 # 剩下k个
思路:二进制枚举,先选择行再选择列,然后计算去掉标记行和列的#剩下多少个#,满足条件则ans++
代码 🐔 :
Sum of DIvisors
题目大意:对于一个正整数X,让f(X)表示X的正约数的个数。
给定一个正整数N,求。
思路:难点在于如何求解正因子的个数,这里我是用逆向来求的,j 每次加上 i 然后 f [j] 的因子个数加一
代码 🐻 :
题目大意:你要吃 X 个红苹果和 Y 个绿苹果。 你有 A 个美味程度为 p 1,p 2,…,p A的红苹果,B 个美味程度为 q 1,q 2,…,q B的绿苹果,C 个美味程度为 r 1,r 2,…,r C的无色苹果。 在吃无色苹果之前,你可以将其涂成红色或绿色,分别算作红苹果或绿苹果。 从上述苹果中,你将选择要吃的苹果,使吃掉的苹果的美味程度之和尽可能大。 在最佳着色零个或更多无色苹果的情况下,找到可以实现的吃掉苹果的美味程度之和的最大可能值。
思路:一开始想复杂了,在用r修改p和q,太唐了 , 后来写一下D再来看这个题才发现,把排序后p中的前x个放到r中,排序后的前y个也放入r,最后将r排序,答案就是其前x+y个相加😭
Rem of Sum is Num
题目大意:给定一系列 N 个正整数 A1,A2,…,AN 和一个正整数 K。找到 A 中的非空连续子序列数,使得将其元素求和除以 K 后的余数等于其元素个数。我们认为如果子序列从不同位置取出,则它们是不同的,即使它们是相等的序列。
思路暂时不太清晰,看别人题解写的😭
码🐎:
2、河南萌新联赛2024第(一)场
造数
思路:直接从m算到零,能➗2就除二,不能就减一
🐷:算到2或者1就break ,一开始想的是这种思路的,不知道为什么写得是从0到m🥀,小唐人
🐎 :
有大家喜欢的零食吗
思路:额.......二分图最大匹配,匈牙利算法板题
小蓝的二进制询问
思路:要求区间[l, r]的1的个数,显然我们可以用前缀和去计算,即区间[1, r]的个数减去区间[1, l − 1] 的个数作为答案。下面考虑如何计算区间[1, r]的个数:
我们按位考虑,从最低位开始,显然最低位上是01 01 01循环,也就是两种情况,我们在此基础 上去考虑下一位,只看当前位的话仍然只有01两种情况,但是当我们结合上一位,一个0就是对 应上一位的所有情况,1同理,那么这一位就是0 0 1 1,以此类推,设当前位是第k位,那在当前 位上循环节就是2k+1 (2k个0和2k个1)每一位累加即可。
码 ⬇️ :
两难抉择新编
思路:暴力暴力暴力,赛时竟然没试一下 🥀
旅途的终点
思路:很类似上周⬆️热身1的第四题,都是优先队列维护释放神力的k个国家,比当前优先队列顶端的伤害小的就用生命值减,否则减堆顶的那个生命值,大于等于当前剩余生命值就break
代码 :
两难抉择
思路:签到题,变出一个最大值就行;第一发没标记wa了 😡
除法移位
思路:很简单,想办法用最小的操作移动一个尽可能大的数到第一位;第一发少个判断wa了 😡
图上计数(easy)
本场写得最唐的一题,没有比这跟唐的了,看题看了五遍才读懂题意 🔥😡
思路:删掉所有的边,答案就是点的个数除二相乘
/*不用看并查集,一点用都没有🗿🥀😭*/
3、SMU Summer 2024 Contest Round 5
Robot Takahashi
题目大意:给一个字符串,其中1代表大人,0代表小孩,然后给出他们的体重,要你找一个数,使体重小于该值的小孩和大于等于该值的大人的总和最大
思路:将大人和小孩的体重分别放入两个数组中,然后从小到大排序,然后遍历大人的体重,记录比当前大人体重小的小孩,最后对应数量取max即为答案
connect 6
题目大意:类似于一盘六子棋,现在给你两颗#棋,看你能不能连出六连
思路:数据不大,每个点往主副对角线、水平和🌿方向找六个,如果大于等于4颗就是Yes
Strange Balls
题目大意:给出一串数字,每个数字代表一个球,如果当前有k个球k连在一起就消除,问每次放入一个球筒时,桶中剩余球的个数
思路:开一个pair数组和栈,记录连在一起的球的个数,有k个球k就把栈里的球pop掉,然后输出个数
4、杭电多校
Problem - 7433
题目大意:给一个A和B字符串,A可以循环位移,查找B中循环A串的子串数目
思路:赛时想着把所有循环的A串存一下map然后再遍历B,可是这样狠狠的爆内存了,然后开始看字符串哈希的板子,可是看了半天还是没有解决循环拼接A的问题,赛后看了题解才知道用A+A来解决,其余的就用字符串哈希来查找就行😭(这个题坐牢两个半小时没写出来😭😭😭)
Problem - 7434
题目大意:对于每个i给出五个操作:1.什么都不做 2.拿一颗星星代价为ai 3.拿两颗星星代价为bi
4.拿三颗星星代价为ci 5.拿四颗星星代价为di 求刚好拿k颗✨的最小代价
思路:额.....赛时想到的只有dp和贪心,但刚好要拿k颗的话,貌似只有dp能做到了,但是又不知道怎么d,但是过的人有很多,然后看了一下数据范围,想一下还是直接一个类似背包的dp吧,用一个容量为k的背包去拿星星,看拿k颗星星的最小代价
Problem - 7440
思路:签到题,这题写慢了我全责😭,开头想着直接打表找规律,可是打表的时候输错了一个变量,导致一直没看出规律,看了半天才发现和1与0的个数有关,这时队友看着他打的表有了思路,我看他打的表才发现错误😭🥀,看了打的表发现,1的贡献为12,0的贡献为4,每次相乘就是答案
5、2024 暑假友谊赛 2
🐶(题目链接)
思路:暴力即可
🪝
思路:构造题,看了很久,发现要他算法答案为零,正确答案路径为k就行,再加上数据要小于3*1e5,所以大概就是2^17
🐳
思路:记录每个字符最后出现的下标,然后从前往后判断,每次更新l
🐈
思路:对于每次询问,如果是1就标记f为1,这是A中所有值为num,需要注意的是2操作,我是选择用一个b数组来记录,还要记录一个cnt值,因为进行了1操作之后b[i]没有清零,这时再加就不对了,前几发不知道写拉了还是怎么,最后重构一遍,b开成pair数组就过了🔪