返回顶部
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 52 下一页
摘要: 题意:有两个字符串$S$和$T$,判断$T$是否能由$S$通过交换某位置的相邻字符得到,如果满足,输出交换次数及每次交换的位置,否则输出$-1$. 题解:首先判断不满足的情况,只有当两个字符串中出现的字母次数不同时不满足条件,用桶判断一下即可.然后我们再来看有解的情况,我们对$T$的每个字符标上序号 阅读全文
posted @ 2020-06-11 11:03 Rayotaku 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题意:有$n$个点,$m$条边,现在要给这些点赋值,,每次只能赋给某一点的四周(所连边)的最小没出现过的值.如果不能按照所给的数赋值,输出$-1$,否则输出赋值顺序. 题解:我们用$pair$记录最后一行所给的数和位置,不难想,每次肯定是赋最小的数,所以我们对其排序,然后遍历取位置,看这个位置周围能 阅读全文
posted @ 2020-06-10 17:45 Rayotaku 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个正整数$n$,要求写出所有$1$~$n$的二进制数,统计相邻的两个二进制同位置上不同数的个数. 题解:打表找规律,不难发现: ​ $00000$ ​ $00001$ ​ $00010$ ​ $00011$ ​ $00100$ ​ $00101$ ​ 当最低位时,每次都变换,由低位向高位, 阅读全文
posted @ 2020-06-10 15:16 Rayotaku 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个$3$x$3$的的棋盘,有八个$1$~$8$的棋子,每次可以将一枚棋子移动到四周的空位,问最少移动多少次,使得最后的状态为$123804765$. 题解:直接BFS,用map来Hash存步数,这儿有个比较难想的点,就是把一维的坐标转化为二维的坐标(代码中有注释),然后我们找到$0$的位置 阅读全文
posted @ 2020-06-09 12:23 Rayotaku 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题意:建一颗以$1$为根结点的树,询问$q$次,每次询问一个结点,问该结点的第$k$个子结点,如果不存在则输出$-1$. 题解:该题数据范围较大,需要采用dfs预处理的方法,我们从结点$1$开始向下找,$ans$数组记录的是,第$x$次查找时的结点,$path$表示某个结点所需的查找次数,$siz$ 阅读全文
posted @ 2020-06-04 18:53 Rayotaku 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个长度相同的字符串$a$和$b$,你可以将相同位置上的$a$和$b$的字符交换,也可以将$a$或$b$中某个位置和对应的回文位置上的字符交换,这些操作是不统计的,你可以将$a$的某个字符替换,操作数+1,然后可以执行上文的操作,问最少操作多少次,使得$a$和$b$相等. 题解:我们只对$ 阅读全文
posted @ 2020-06-04 13:54 Rayotaku 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一棵树,每次可以去掉叶节点的一条边,Ayush先开始,每回合轮流来,问谁可以第一个把$x$点去掉. 题解:首先如果$x$的入度为$1$,就可以直接拿掉,还需要特判一下入度为$0$的情况,否则,仔细想一想,因为每次都不想让对方赢,所以摘到最后,一定会出现$x$连的都是叶结点的情况,所以此时我 阅读全文
posted @ 2020-06-04 13:43 Rayotaku 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个只含有$0$和$1$的字符串,每次操作可以将$0$改成$1$或$1$改成$0$,问最少操作多少次,使得子序列中不含有$010$和$101$. 题解:仔细想一想不难发现,构造后的字符串要么全是$1$和$0$,要么就是$000....111$和$111...000$,我们对$0$求一个前缀 阅读全文
posted @ 2020-06-04 13:23 Rayotaku 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个数组,求有多少子数组的中位数等于$m$.(若元素个数为偶数,取中间靠左的为中位数). 题解:由中位数的定义我们知道:若数组中$<m$的数有$x$个,$>m$的数有$y$个,只有$x=y$或$y-x$=1时,中位数才能取到$m$,记$m$在原数组的位置为$pos$. ​ 于是,我们先遍历 阅读全文
posted @ 2020-05-29 00:25 Rayotaku 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个巨长无比的数,你可以将这个数划成任意多个部分,求这些部分中最多有多少个能被$3$整除. 题解:首先我们遍历累加每个位置的数字,如果某一位数或者累加和能被$3$整除(基础知识,不会就去百度),那这就是一部分,再来,我们可以发现一个部分最长只有$3$个数字. 证:当我这个部分有$3$个数字 阅读全文
posted @ 2020-05-29 00:02 Rayotaku 阅读(131) 评论(0) 推荐(0) 编辑
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 52 下一页