上一页 1 ··· 3 4 5 6 7
摘要: 题意: 给你四个数a,b,c,d,n.问你是否能将n拆成三个数A,B,C,使得A+a=B+b=C+c。 思路: 先计算三个数的差值的绝对值abs,如果abs大于n则肯定不行,如果小于n,还需判断(n-abs)%3是否为0,不为0则不行。 #include<iostream> #include<alg 阅读全文
posted @ 2020-01-23 12:58 overrate_wsj 阅读(363) 评论(0) 推荐(0) 编辑
摘要: ·栈、单调栈 1.栈的特点与基本操作 2.单调栈 单调栈是一种特殊的栈,其栈内的元素都保持一个单调性(单调递增或者递减)。 ·单调递增栈,从栈底到栈顶依次递增(单调非递减栈:允许有相等) ·单调递减栈,从栈底到栈顶依次递减(单调非递增栈:允许有相等) qes1.给一个序列,求对于每个数左边第一个比它 阅读全文
posted @ 2020-01-15 18:39 overrate_wsj 阅读(719) 评论(0) 推荐(0) 编辑
摘要: B. 密码学 题意: 告诉你关于字符串加密的方法,然后给你一些加密操作和加密后的字符串,让你求原来的串 思路: 知道被加密后的串与加密字符可以向前推出被加密之前的串,不断向前模拟即可 #include<iostream> #include<algorithm> #include<cstring> # 阅读全文
posted @ 2020-01-12 23:46 overrate_wsj 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一棵树,树的每一个节点可以守护与其相连的所有边,问你最少用多少个节点可以守护这整棵树 思路: 仔细思考不难发现,要想守护一条边,边的两个端点必须有一个可以被选(两个都选也可以),然后这个问题就变成了翻版的没有上司的舞会 定义:dp[i][0]表示不选i,守护其子树需要多少点 dp[i][ 阅读全文
posted @ 2020-01-09 17:13 overrate_wsj 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题意: 有个公司要举行一场晚会。为了让到会的每个人不受他的直接上司约束而能玩得开心,公司领导决定:如果邀请了某个人,那么一定不会再邀请他的直接的上司,但该人的上司的上司,上司的上司的上司等都可以邀请。已知每个人最多有唯一的一个上司。 已知公司的每个人参加晚会都能为晚会增添一些气氛,求一个邀请方案,使 阅读全文
posted @ 2020-01-09 15:01 overrate_wsj 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题意 n(n≤105)个洞排成一条直线,第ii个洞有力量值ai,当一个球掉进洞ii时就会被立刻弹到i+ai,直到超出n。进行m(m≤105)次操作: ·修改第i个洞的力量值ai。 ·在洞xx上放一个球,问该球几次后被哪个洞弹飞出界。 思路 分块暴力,每个块内维护两个信息(块内DP可以求出): ①从当 阅读全文
posted @ 2020-01-09 11:49 overrate_wsj 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一段序列,并且有两种操作 操作①:将序列中从l-r每个元素加上x 操作②:在序列中找到ai=aj=y,j-i的最大值,如果找不到则输出-1 思路: 直接分块暴力即可 对于区间加,普通标记加暴力即可 对于找最大值,直接在每个块中二分找y,找不到即为-1 #include<iostream> 阅读全文
posted @ 2020-01-08 23:11 overrate_wsj 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一段长度为n(1 ≤ n ≤ 3·1e5)的序列,m (1 ≤ p ≤ 3·1e5)个询问,每次询问a,a+b,a+2b+...<=n的和 思路 一开始一直想也想不到怎么分,去维护哪些信息,看了题解才知道 其实分块不仅仅可以将一列序列分块,还可以将数据进行分块,下面讨论具体做法 首先这道题 阅读全文
posted @ 2020-01-08 21:46 overrate_wsj 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题意 长度为n的坐标轴上,从1-n上的每一点都有一栋楼房,楼房的初识高度都为0,每一天都有一栋楼房的高度被修改(也可以不变),一栋楼房能被看见当且仅当其最高点与远点的连线不会与其他之前连线相交,问你每天能看见的楼房数是多少。 思路 其实这道题也可以用线段树做,但是感觉更复杂。预处理首先我们还是将整个 阅读全文
posted @ 2020-01-08 21:45 overrate_wsj 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7