- 博客(9)
- 收藏
- 关注
原创 多比特杯武汉工程大学程序设计竞赛——爬塔
首先这个题目涉及到了背包问题,不理解的同学们需要去先学习一下。只不过多了一维我们当前武器的状态。个怪物的所消耗的体力值。个怪物,体积小于等于。
2023-04-29 20:46:27
94
原创 多比特杯武汉工程大学程序设计竞赛——扭动的字符串
首先题目发现他是可以实现任意两个相邻字符交换的,只要有这一点,这个字符串我们就可以任意排序,因此就不需要考虑排序的问题了。这说明只允许一个字符的个数为奇数,其他的字符的个数都必须是偶数。这说明所有出现的字符的个数都必须为偶数。
2023-04-29 20:45:56
81
原创 多比特杯武汉工程大学程序设计竞赛——GW的集合
找到这个添加数字的形式其实就可以想到裴蜀定理,根据这个定理,我们知道式子。的最大公约数,可以使用辗转相除法求解。向集合中添加数字实际上我们发现每一个数字都是以。又因为他的限制是小于等于。
2023-04-29 20:45:51
67
原创 多比特杯武汉工程大学程序设计竞赛——最大值最小值
最小值和最大值位置确定之后,为了方便枚举,我们肯定希望这两个位置之间的数字都比最小值大,都比最大值小,因此可以想到将数组进行排序处理。确定最小值之后,为了确定最大值的位置,可以直接开一个桶来存储每一个数字的位置,那么数字。的情况下,我们可以枚举其中一个值,也就是说我们可以枚举最小值这样的话最大值也就确定。数字是可以任意选择的,因此就需要想到组合数来求解。个数字就好,因为我们已经确定最大值和最小值,因此这里所有数字的个数是。由于组合数求解需要涉及到逆元的问题,需要提前具备逆元的求解方法。
2023-04-29 20:44:49
119
原创 多比特杯武汉工程大学程序设计竞赛——再临嘴硬山
首先明确题目的意思,可以确定一个最大的差的绝对值,设更改后的序列为。个矩形高度之后,是可以取到当前矩形的最大高度的。个矩形都满足要求了。,我们可以直接利用上面的条件进行。这里可以直接二分答案,假设答案为。,我们可以利用这个范围。个矩形是可以符合我们的要求的。个矩形的最小高度大于等于。个矩形的最小高度小于。肯定是不符合答案的。个矩形高度的最大值。
2023-04-29 20:44:45
80
1
原创 多比特杯武汉工程大学程序设计竞赛——异或和
是一个前缀异或值,因此只需要开一个数组记录一下前缀异或值就好了,枚举区间右端点,之后暴力判断当前右端点是不是对答案有贡献就可。可以先预处理出来符合条件的。怎么快速找到一个区间呢?可以枚举区间的右端点。是一个排列,每一个前缀都是独一无二的,因此在有。,于此同时使用一个前缀异或值。的异或值这个假设下,肯定有。之后可以暴力判断每一个。
2023-04-29 20:43:46
78
1
原创 多比特杯武汉工程大学程序设计竞赛——该死的安全感
个数字的影响就需要知道前面的最小值、次小值、次次小值等等。因此这里可以使用单调栈来维护,在求解最大公约数的时候栈内维护的是一个单增的序列,只要。因为在枚举栈内元素的时候计算了他们对答案的贡献,因此这里出栈需要把贡献减去。知道上述结论了之后,现在需要求解的是指数之和,因此可以枚举不同的质数,针对于每一个质数进行答案的求解。以最大公约数为例,针对于新进来的第。个数字,他在区间中,那么就需要考虑当前质数他的指数对最小值的影响。个数字第一个质数的质数的最小值。个数字第一个质数的质数的最大值。
2023-04-29 20:42:15
69
1
原创 多比特杯武汉工程大学程序设计竞赛——小段的地图
之后给定几个可以反转边权的点,那么这几个点就是连接两层图之间的点,这个边的边权会给的。建立完图之后那么需要知道最短路,那么直接跑最短路算法就好了。最后需要判断连个终点,这也是分层图的特点。其中还有几个点可以将边权反转。根据这几个条件我们就很容易想到边权为。这个题目需要大家了解分层图。其实只要了解分层图了这个题目也就解决了。但是需要注意,边权为。的边为一层,可以进行反转的点为这两层图的公共点。的建立一层时,我们建图的时候建立的边权为。的层,那么必须进行翻转,既然反转了那么为。,因为我们要想去到边权为。
2023-04-29 20:41:22
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人