随笔分类 -  2019牛客暑假多校训练

摘要:题目传送门 题意 第1个字符串为"COFFEE",第2个字符串为"CHICKEN",第n个字符串由其前2个和前1个连接而成(即s[n]=s[n-2]+s[n-1],注意s[n-2]在s[n-1]的前面),询问第n个字符串从第k个字符开始的连续10个字符是什么(如果还未有10个字符但到达字符串末尾时要 阅读全文
posted @ 2019-08-26 19:18 HOLLAY 阅读(225) 评论(0) 推荐(1)
摘要:题目传送门 题意 输入整数T表示有T个测试用例,然后 • 给一个01构成的字符串,要把该字符串切分成最少的份数,使得每一个字符串都是循环移位字典序最小的字符串。(例如0110就不满足字典序最小,因为循环移位可得0011) • 111011110 -> 111 01111 0 题解 每次暴力枚举最少的 阅读全文
posted @ 2019-08-26 19:17 HOLLAY 阅读(136) 评论(0) 推荐(0)
摘要:题目传送门 题意 输入n和k表示有n个地点和k个人(n个地点编号1..n) 接下来n-1行输入a、b表示地点ab之间有距离为1的通路 最后一行输入k个值表示哪些地点有人,求所有人聚在一起的最短时间。 (题意其实就是在一棵树上,多个节点有人。选择一个节点使得这些人各自到这个点的路径的最大值最小。) 题 阅读全文
posted @ 2019-08-26 19:15 HOLLAY 阅读(137) 评论(0) 推荐(0)
摘要:题目传送门 题意 输入整数n,给出两个包含n个整数的序列a和b,找到一个区间[l,r],使在该区间内a序列最小值×b序列区间和的值最大。 题解 遍历a序列,维护单调栈求以当前值a[i]为最小值时的最大可达区间[ L[i],R[i] ](即最大左右边界); b序列先预处理其前缀和pre_sum,后用线 阅读全文
posted @ 2019-08-26 19:12 HOLLAY 阅读(237) 评论(0) 推荐(0)
摘要:题目传送门 题意: 输入n和m,给出一个n行m列的01矩阵,求出所有的不可扩大的全1矩阵个数。 题解: 预处理每个格子的高度up[i][j](其向上连续的1的个数),枚举每一行 i,维护单调栈(单调上升)求每个格子 j 以up[i][j]为高可达到的全1矩阵左边界pos和右边界j,此时得到的全1矩阵 阅读全文
posted @ 2019-08-15 00:11 HOLLAY 阅读(221) 评论(0) 推荐(0)
摘要:题目传送门 题意 输入整数n和m(n和m均∈[1,1000]),给出一个n×m的01矩阵,求第二大全1矩阵的面积。(如果矩阵少于两个1,则输出0) 题解 ①单调栈做法【复杂度O(n×m)】:先预处理每个点(i,j)的高up[i][j],枚举每一行作为底边,遍历每一个点j,维护单调递减栈计算当前高度可 阅读全文
posted @ 2019-08-15 00:09 HOLLAY 阅读(205) 评论(0) 推荐(0)
摘要:题目传送门 题意 输入整数n,再输入n个整数a1,a2,⋯ ,an,表示一段序列,求序列的所有子区间里面不同数字之和。 说明: 在序列1 2 1 3中, 区间 [1,1],[2,2],[3,3],[4,4]各含1个不同数字 区间 [1,2],[1,3],[2,3],[3,4]各含2个不同数字 区间  阅读全文
posted @ 2019-08-11 19:30 HOLLAY 阅读(300) 评论(0) 推荐(0)
摘要:题目传送门 题意: 输入整数m( m∈2k ∣ k=1,2,⋯,10),构造一个由1和-1组成的m×m矩阵,要求对于任意两个不同的行的内积为0。 题解: Code: 下面贴一份别人的代码,没看懂为什么可以这样解,哪位大佬能来解释解释吗~~ 【查了一下,函数_builtin_popcount(n)是计 阅读全文
posted @ 2019-08-11 16:47 HOLLAY 阅读(224) 评论(0) 推荐(0)
摘要:题目传送门 题意: 输入一段字符串,字符串中连续的三个相同的字符可以消去,消去后剩下的左右两段字符串拼接,求最多可消去次数。 输入:ATCCCTTG 输出:2 ATCCCTTG(消去CCC)——>ATTTG(消去TTT)——>AG 题解: 签到题,用栈模拟即可。 Code: 用栈模拟: 直接stri 阅读全文
posted @ 2019-08-10 20:50 HOLLAY 阅读(215) 评论(0) 推荐(0)
摘要:题目传送门 题意: 输入一个只包含数字的字符串,求出是300的倍数的子串的个数(不同位置的0、00、000等都算,并考虑前导零的情况)。 sample input: 600 123000321013200987000789 sample output: 4 55 题解: O(n)做法:遍历一遍,求前 阅读全文
posted @ 2019-08-04 18:08 HOLLAY 阅读(180) 评论(0) 推荐(0)
摘要:【构造一条直线将平面内的点分成点数相等的两部分】 阅读全文
posted @ 2019-07-29 23:28 HOLLAY 阅读(237) 评论(0) 推荐(0)
摘要:【O(n)复杂度求01个数相等的最长连续01子串、子序列】 阅读全文
posted @ 2019-07-29 23:23 HOLLAY 阅读(190) 评论(0) 推荐(0)