
牛客
文章平均质量分 86
牛客上的系列比赛
梦念小袁
Hut_acmer
展开
-
2024牛客寒假算法基础集训营6
我们来找一下性质,也就是说如果b,c中任意取一个数出来都是gcd等于1说明如果两个数有其他公约数的话一定都是在一个数组里面比如 2,4一定是在一起的,也就是手说他们之间是有一条边的所以我们可以考虑把所有数的约数筛选出来,然后对他们的倍数进行连边,最后利用最小生成树的思路来合并,如果说都合并在一起那就是不可,否则可行。题目意思明显的就是不能有大于等于2的回文串,所以就是考虑只有三个字母也就是red,的排列,同时考虑竖着的也就是12种情况,我们可以先构造出来然后按照二维前缀和的方式来维护求和即可。原创 2024-03-11 21:52:07 · 597 阅读 · 2 评论 -
2024牛客寒假算法基础集训营5
首先对于这种题目发现性质,可以明显得知如果是1或者是偶数是一定有解的,对于奇数我们如何操作呢,可以发现最后一个数是奇数是不可以操作的也就是我们的限高,然后我们发现操作的越多是越有利的,如果我们从前面开始的话不可知上限由于后面的数还会变化,但是我们从后面开始的话上限是可知的,同时可以保留每次的处理,所以我们倒着来每次都处理到上限位置即可,然后判断是否有解,对于求解操作次数我们发现如果是有解的话那么一定就是每一次操作都可以减少最大的一次所以我们的操作次数就是其中的最大差值。这样的a,或者是b都是一次。原创 2024-02-29 21:30:49 · 1018 阅读 · 0 评论 -
2024牛客寒假算法基础集训营4
数组划分问题,我们要求的是k倍数的数组,那么直接从前面开始即可,一直统计前面出现的余数的出现,如果说加上后面这个数出现了前面出现过的数,或者说现在满足的那就是取到当前这个位置即可,一般的划分问题都是这样。简单思维,我们可以发现又是典型的加一减一操作那么总和一定是不变的,由于操作次数不限制,那么这个数组可以随意变化,要找的是最大公约数只要sum%x==0都是可以做到的。简单模拟,可以发现明显的数据范围很小的这件事情我们计算一下直接模拟所需要的时间,发现是可以通过的所以直接暴力模拟即可。原创 2024-02-29 20:55:47 · 581 阅读 · 0 评论 -
2024牛客寒假算法基础集训营3
这依旧是两个数的缝合,我们考虑缝合后对这个模数的影响是什么,由于只有10e18也就是最多是18位数那么每一个数后面都最多接上18位数,我们可以把合成的数看成两个部分前面和后面,这个时候我只需要对每一个数合并多少位数的取模值得到即可,接着来计算多少的贡献同时注意题目要求不能自己接在自己身上所以需要特判,数字拼接题都是如此的性质。我们可以发现这是多个关系之间的问题,维护关系我们可以使用传递闭包,也就是floy,同时我们理清楚每一个关系的意思。2 红色不超过黑色的两倍 黑色最多的时候是红色两倍加一。原创 2024-02-27 18:07:39 · 1027 阅读 · 0 评论 -
2024牛客寒假算法基础集训营2
做题的时候特别是计算贡献的时候一定要找到贡献的来源,我们可以发现消除一个数(如果找个数在右边第一次出现)之后其最右边的数都会消失,那么怎么做的贡献最少呢,当然十当前数组的每一个数都出现的时候最优的这样的删除一次删除的数最多可以(j结论明显所以直接用map存书的数量即可然后删除)这种最优性贡献都是如此思考。也就是前面的数的贡献是后面的除以他那么我怎么记录前面的数的贡献呢?我们要计算的是贡献,一个猫带来的贡献是看周围有没有其他的猫导致重复的所以我们就直接用。这是明显的计算贡献的题目我们看边的贡献是啥。原创 2024-02-27 00:03:18 · 2809 阅读 · 0 评论 -
2024牛客寒假算法基础集训营1
首先题目告诉我们的是按位与,也就是只要有1就是1,我们对于位运算的题目第一想法是拆位,我们思考这样一个问题,如果(32位中的一位)对于我这一位我不要了,那么只要在不超过我前面的基础上我后面的是可以任意选的这是一个明显的策略,(当然对于容量而言这一位必须是1),同时我对于所有的和我位置完全一样或者少于等于我的也是ok的,这样我们发现我们考虑了所有的情况,但是怎么去处理又是一个问题-->还得是落脚点在位运算中,我们考虑这一位^1,然后|((1原创 2024-02-17 14:53:52 · 831 阅读 · 0 评论