PhantomSamurai
PhantomSamurai
全部文章
题解
图论(1)
基础算法 二分 双指针等(4)
数据结构(3)
数论 数学(5)
比赛(1)
归档
标签
去牛客网
登录
/
注册
Blog
全部文章
/ 题解
(共53篇)
救救企鹅 字符串
description: 给出字符串s 将s中的子串a代替成b输出 solution: 所有字符串长度都有1e6 一开始采用O(n) substr寻找子串替换输出 T了一发后面用 find 寻找子串a位置 删除a 插入b O(1)输出更新后的串即可 code: #include <bits/s...
2020-08-04
0
540
小阳买水果 二分 双指针 排序 前缀和
description: 有n个水果 每个水果有个喜爱度ai 求连续最大长度水果喜爱值之和大于0 solution: 首先想到一个双指针 但是无法保证指针的移动就是对于答案有利的1.维护一个后缀max前缀和 判断当前r指针往下走 是否对答案有利 如果sum[l] 也就是l的前缀和< last[...
2020-08-04
0
549
Rinne Loves Data Structure set
来自专栏
description: 对于一颗二叉树每次进行insert操作 ,输出当前节点的深度和 solution: 如果维护普通的BST的话有可能因为树退化成链导致TLE,防止树退化成链可以大力套平衡树上去是可以ac的.但这题可以不用这么麻烦,通过观察,我们可以知道插入结点时会有四种情况1.有pre和su...
2020-07-29
0
512
many sum 数论
description: solution: 其中序列B d|i的含义代指d能整除i 或者说 i为d的因子 那些数需要枚举因子的话 循环节里每次加上i就好一次性的把包含这个因子数对应的序列B值全部加上 这样就可以通过该题 code: #include <bits/stdc++.h> ...
2020-07-29
0
384
小A的位运算 前缀和 位运算
description: 从n个数中选取n-1个数使得n-1个或值最大 solution: 维护一个前缀或和 和 一个后缀或和 之后On枚举一个不选的数 O1得到答案 取最大值就行 code: #include<bits/stdc++.h> using namespace std; #...
2020-07-28
0
420
签到题 线段树 + set
description: n条线段 需要设计一个数据结构提供插入和删除 和查询并集的长度 solution: 所给代码里用set 里套了个pair 来实现插入和删除 查询操作采用线段树维护每个线段的长度 可以实现log更新 O1得到答案 code: #include <algorithm&g...
2020-07-26
0
409
红球进黑洞 线段树 位运算
description: 给一个序列a 对a进行 区间求和 或者 区间异或的操作 每次输出区间求和的值 solution: 对于区间求和并且带有更新操作 就想到树状数组或者线段树,剩下的就是区间异或的操作,对于位运算,一般都按每一位来看,异或操作只有对应位不同才对答案有贡献,于是我们建立一个二维线段...
2020-07-25
0
502
约数 数学
description: 输入一个数a和b 求他们所有的公约数 a,b范围为1e13 solution: 数据范围大 直接暴力肯定是不行的 先gcd求他们的最大公约数x 那么有 a%x = 0 , b % x = 0 题目要求所有约数 设x的任意因子为i 那么有x%i = 0 , 所以有 a % i...
2020-07-25
0
479
Rinne Loves Xor 位运算
description: 给出数组A和B 求 solution: 首先我们根据乘法原理 可以把式子转变成 可以模拟一下题目的公式发现展开来这两的展开项是一样的,我们知道异或只有对应的位不同才对答案有贡献,所以我们将每个数拆分成每一位,按照位来处理结果分别是Ai的0位 * Bi的1位 + Ai的1...
2020-07-24
0
391
数列操作 STL vector
description: 设计一种数据结构 实现以下操作: 1.插入一个数x(insert)2.删除一个数x(delete)(如果有多个相同的数,则只删除一个)3.查询一个数x的排名(若有多个相同的数,就输出最小的排名)4.查询排名为x的数5.求一个数x的前驱6.求一个数x的后继 solution:...
2020-07-18
0
489
首页
上一页
1
2
3
4
5
6
下一页
末页