返回顶部
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 52 下一页
摘要: 题意:有一个长度为$2n$的数组,删去两个元素,用剩下的元素每两两相加构造一个新数组,使得新数组所有元素的$gcd\ne 1$.输出相加时两个数在原数组的位置. 题解:我们按照新数组所有元素均为偶数来进行构造,因为旧数组的长度为$2n$,所以无论原数组有多少个奇数和偶数,我们都可以选择删去两个数,使 阅读全文
posted @ 2020-06-21 15:07 _Kolibri 阅读(156) 评论(0) 推荐(0)
摘要: 题意:在$1$~$n$中找两个不相等的数使得他们的$gcd$最大. 题解:水题,如果$n$是偶数,那么一定取$n$和$n/2$,$n$是奇数的话,取$n-1$和$(n-1)/2$. 代码: #include <iostream> #include <cstdio> #include <cstring 阅读全文
posted @ 2020-06-21 14:57 _Kolibri 阅读(167) 评论(0) 推荐(0)
摘要: 题意:有一组数,每次操作可以将某个数移到头部或者尾部,问最少操作多少次使得这组数非递减. 题解:先离散化将每个数映射为排序后所对应的位置,然后贪心,求最长连续子序列的长度,那么最少的操作次数一定为$n-len$. 感觉不好解释,直接上图,其实就是排序后它们一定是连续的,所以我们就求一个最长的连续的, 阅读全文
posted @ 2020-06-19 13:11 _Kolibri 阅读(294) 评论(0) 推荐(0)
摘要: 题意:有一个字符串,要求使用其中字符构造一个环(不必全部都用),定义一个环是k美的,如果它转$k$次仍是原样,现在给你$k$,要求最长的k美环的长度. 题解:我们首先看$k$,如果一个环转$k$的因子次是美的,那么$k$次也一定是美的,然后再看环,假如一个环最少转$d$次是美的,那么这个环的长度$n 阅读全文
posted @ 2020-06-19 12:50 _Kolibri 阅读(244) 评论(0) 推荐(0)
摘要: 题意:有一个字符串和一组数,可以对字符串删去任意字符后为数组的长度,且可以随意排序,要求修改后的字符串的每个位置上的字符满足:其余大于它的字符的位置减去当前位置绝对值之和等于对应序列位置上的数. 题解:贪心,我们发现,数组中$0$的位置一定对应字符串中最大的字符,所以我们从这个位置来构造,我循环来找 阅读全文
posted @ 2020-06-19 12:26 _Kolibri 阅读(363) 评论(0) 推荐(0)
摘要: 题意:有一排座位,要求每人之间隔$k$个座位坐,$1$代表已做,$0$代表空座,问最多能坐几人. 题解:我们分别从前和从后跑个前缀和,将已经有人坐的周围的位置标记,然后遍历求每一段连续的$0$,对于每一段最多能坐$\lceil len/(k+1) \rceil$,求个和就可. 代码: #includ 阅读全文
posted @ 2020-06-19 12:07 _Kolibri 阅读(207) 评论(0) 推荐(0)
摘要: 题意:你刚开始位于坐标轴的$(0,0)$点,一共有$m$颗流星砸向地面,每颗流星在$t$时砸到$(x,y)$点,其四周上下左右也均有波及,你每秒可以向上下左右移动一个单位,问你是否可以移动到安全的地方(没有被流星波及的点),求最小步数. 题解:这题细节有点多,但也是一个基本的bfs,首先我们要用一个 阅读全文
posted @ 2020-06-16 10:48 _Kolibri 阅读(374) 评论(0) 推荐(0)
摘要: 题意:有一$n$层高的大楼,每层楼都只能在合法情况下上$x$层或者下$x$层,问你是否能从$a$层楼坐电梯到$b$层楼,输出最小步数. 题解:直接dfs搜,$flo$表示层数,$cnt$表示步数,如果$flo=b$,维护最小值,然后对这层楼标记已走过,判断是否合法再向上向下搜,然后回溯取消标记. 代 阅读全文
posted @ 2020-06-16 09:53 _Kolibri 阅读(233) 评论(0) 推荐(0)
摘要: 题意:有一个图,要求从$S$走到$E$,$.\(表示可以走的路径,\)*$周围的八个方向均不能走,要求判断是否能走到$E$,若能,输出最小路径长度,否则输出$Impossible$. 题解:我们先把$*$周围的点标记一下,然后判断$E$是否被标记过了,如果没有,则找到$S$的位置进行BFS,结构体$ 阅读全文
posted @ 2020-06-15 20:32 _Kolibri 阅读(272) 评论(0) 推荐(0)
摘要: 题意:从一个数组中尽可能多的选数,要求所选的每个数之间的差不大于$5$. 题解:先排序,然后双指针尺取,如果能取,则移动右指针,维护最大值,否则移动左指针即可. 代码: #include <iostream> #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2020-06-15 20:21 _Kolibri 阅读(177) 评论(0) 推荐(0)
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 52 下一页