上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 22 下一页
摘要: 题意:给你一个地图,求联通块的数量。 题解: for(所有还未标记的‘@’点) 边dfs边在vis数组标记id,直到不能继续dfs。 输出id及可; ac代码: 阅读全文
posted @ 2018-04-12 21:04 SuuTTT 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:前序遍历给出两个像素方块。求两个方块叠加后有几个黑色格子。 题解:每次读进来一个方块,就在二维数组上涂色。每次把白色涂黑就cnt++; 具体递归方法是以右上角坐标与边长为参数,每次通过几何规律往下递归一层。 如果当前节点是'p'就继续递归,如果是f,e就说明是叶子结点,e直接返回,f对整个区域 阅读全文
posted @ 2018-04-12 20:39 SuuTTT 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一颗二叉树的前序遍历,空子树以-1表示,将左右子树的权值投影到一维数轴上,左儿子位置为根位置-1,右儿子+1求个个整点上的和; 题解:递归,整个过程只需维护一个sum数组。 代码: 阅读全文
posted @ 2018-04-12 19:07 SuuTTT 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:判断某个天平是否平衡,输入以递归方式给出。 题解:递归着输入,顺便将当前质量作为 &参数 维护一下,顺便再把是否平衡作为返回值传回去。 坑:最后一行不能多回车 附:天秀代码 阅读全文
posted @ 2018-04-12 17:54 SuuTTT 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题意:给你中序后序 求某叶子节点使得从根到该节点权值和最小。若存在多个,输出其权值最小的那个。 题解:先建树,然后暴力dfs/bfs所有路径,取min 技巧:递归传参数,l1,r1,l2,r2, sum,root, 代码: 阅读全文
posted @ 2018-04-12 17:30 SuuTTT 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一些字符串,代表某个值被插入树中的位置。让你输出层序遍历。 题解:动态建树。 由于输入复杂,将输入封装成read_input。注意输入函数返回的情况 再将申请新节点封装成newnode(). 最后层序输出直接用bfs实现。 坑:我把ans.clear放到主程序的if里面,导致某特定情况无法 阅读全文
posted @ 2018-04-12 16:10 SuuTTT 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题意:判断出栈顺序是否合法 题解:两个指针,A指向入栈序列,B指向出栈。 的分三种情况:if 1.A==B :直接入栈加出栈即可A++,B++ else 2.和栈顶相同,直接出栈A==stack.top A++,stack.pop else 3. 都不符合 压入栈stack.push(A) 阅读全文
posted @ 2018-04-12 10:55 SuuTTT 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题意:有一排box,各有不同的颜色。你可以通过点击某个box使得与其相邻的同色box全部消掉,然后你可以得到的分数为消去长度的平方,问怎样得到最高分? 题解:考虑用一维dp,/*dp[i]为1~i个block(我们称颜色相同的一段box为一个block)所能得到的最大得分*/发现无法递推。 考虑用二 阅读全文
posted @ 2018-04-11 14:59 SuuTTT 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 第一种是用以前状态更新当前状态(人人为我) 第二种是用当前状态更新以后状态(我为人人) 都是n^2代码: 对于人人为我的更新方法,可以用数据结构储存“人人”对其进行线性\二分优化。 阅读全文
posted @ 2018-04-11 13:53 SuuTTT 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 题意:你有无数个长度可变的区间d 满足 2a<=d<=2b且为偶数. 现在要你用这些区间填满一条长为L(L<1e6且保证是偶数)的长线段。 满足以下要求: 1.可变区间之间不能有交集,且不能超过长线段的左右边界 2.长线段上有若干短线段,给出他们的起始点与终点。你要保证对于任意一条短线段,你的某个 阅读全文
posted @ 2018-04-10 21:18 SuuTTT 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 22 下一页