首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Zechariah
获赞
483
粉丝
127
关注
6
看过 TA
2045
男
华东师范大学
2027
算法工程师
IP属地:上海
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑Zechariah吗?
发布(88)
评论
刷题
收藏
Zechariah
关注TA,不错过内容更新
关注
2022-08-08 22:40
华东师范大学 算法工程师
题解 | K.Great Party
K.Great Party Solution 关键是需要推出一个结论:当堆数为奇数时有必胜策略。这样就只需要考虑偶数,偶数堆时谁让堆数-1谁就会输,因此将所有堆的石子数-1,就变成了nim博弈,那么本题就转化成了求区间内区间异或和不为0或长度为奇数的子区间个数,显然求区间内异或和为0的长度为偶数的子区间个数更方便,用莫队可以很容易离线求出所有答案。 时间复杂度O(nn)O(n\sqrt{n})O(nn)。 int sum[2][1 << 20], pre[N], blo, bel[N]; ll ans[N]; struct Node { int id, l, r; bool op...
0
点赞
评论
收藏
分享
2022-08-05 15:43
已编辑
华东师范大学 算法工程师
题解 | I. Board Game
I. Board Game Solution 考虑一组k+xk+xk+x个人实际上可以看成kkk和xxx两组,枚举分出多少组kkk,剩余的人就平均分到mmm组中。 本题实际上定位应该是签到,但是数据有问题。 时间复杂度O(m)O(m)O(m)。 题目数据有问题,下面代码中注释掉的if应该要加上,表示如果不能让m组都有人就不能统计,但是实际上把这种情况统计进来才能ac,这场出题人素质属实不行。 int main() { ll n = fast_IO::read(), m = fast_IO::read(), k = fast_IO::read(), x = fast_IO::read(); ...
0
点赞
评论
收藏
分享
2022-07-29 18:22
华东师范大学 算法工程师
题解 | A. Falfa with Polygon
A. Falfa with Polygon Solution 考虑我们选出的凸包,从1到n看就只有一条边是从较大编号连到较小编号,考虑dp出fk[i][j]f_{k}[i][j]fk[i][j]表示长度为k的从iii开始到jjj结束的子序列的最大长度,其与i、j两点长度的和就是凸包的周长。 写出fff的转移方程如下 fk[i][j]={dis(i,j)k=2t{fk−1[i][t]+f2[t][j]}k≥3f_{k}[i][j]=\begin{cases} dis(i,j)& k=2\\ \max\limits_{t}\{f_{k-1}[i][t]+f_{2}[t][j]\}&...
0
点赞
评论
收藏
分享
2022-07-29 16:55
华东师范大学 算法工程师
题解 | F. NIO with String Game
F. NIO with String Game Solution 考虑离线,对所有t串(包括后面添加的字符)建出一棵trie树,按从a到z的顺序遍历子节点进行dfs,就可以把dfs序对应成字典序,这样就相当于每次需要在trie上找到s对应的位置,求dfs序比它小的位置上有多少个t串。 对于操作一、四:考虑用树状数组维护dfs序上的贡献前缀和,那么添加一个字符时就将当前tit_iti串的位置贡献去掉,走到其下一个位置,再添加上贡献,查询时只要找到需要查询的dfs序最大值即可。 对于操作二、三:考虑维护一个nows表示目前s匹配时最终走到哪个点,res表示匹配的部分后面还有多少个字符,sto表示...
0
点赞
评论
收藏
分享
2022-07-28 21:24
华东师范大学 算法工程师
题解 | C. Link with Nim Game
C. Link with Nim Game Solution 根据nim博弈,对于先手必胜的情况,每次只需要拿走若干石子后异或和是0即可;先手必败的情况,为了使得拿的次数最多,每次只拿一个且让对手也只拿一个是最优的。 比较难算一点的是第一步可选的方案数,对于先手必胜的情况,记sss为所有石子的异或和,则对于每堆石子可以计算能拿的石子数量x=a[i]−s⊕a[i]x=a[i] - s\oplus a[i]x=a[i]−s⊕a[i],取max并记录最大值个数即可。 对于先手必败的情况,考虑拿一个石子对异或和的影响是使得从0 lowbit(a[i])0~lowbit(a[i])0 ...
0
点赞
评论
收藏
分享
2022-07-29 12:05
已编辑
华东师范大学 算法工程师
题解 | E. Falfa with Substring
E. Falfa with Substring Solution 考虑容斥,设Gn,kG_{n,k}Gn,k表示长度为nnn的字符串中有至少kkk个bitbitbit子串的方案数, 则有 Gn,k=(n−2kk)26n−3kG_{n,k}=\begin{pmatrix}n-2k\\k\end{pmatrix}26^{n-3k}Gn,k=(n−2kk)26n−3k 那么根据容斥原理,可以推出Fn,kF_{n,k}Fn,k和Gn,kG_{n,k}Gn,k的关系如下 Fn,k=∑j≥k(−1)j−k(jk)Gn,j=∑j≥k(−1)j−kj!k!(j−k)!Gn,jF_{n,k}=\sum...
0
点赞
评论
收藏
分享
2022-07-28 01:38
华东师范大学 算法工程师
题解 | H. Take the Elevator
H. Take the Elevator Solution 上行下行两个方向显然分开考虑,一次上下取两者需要移动距离的较大值。 考虑上行时,上升高度取决于最大的bib_ibi,因此考虑将bib_ibi大的先满足,在取满mmm个bib_ibi最大的之后,考虑用大根堆维护已选乘客的aia_iai最大值,接下来可以将bj≤max{ai}b_j\le \max\{a_i\}bj≤max{ai}的乘客加入(相当于有人在iii上电梯前下电梯),持续维护直到无法找到jjj。 考虑下行时,上升高度取决于最大的aia_iai,因此考虑将aia_iai大的先满足,在取满mmm个aia_iai最...
0
点赞
评论
收藏
分享
2022-07-22 23:47
已编辑
华东师范大学 算法工程师
题解 | C. Grab the Seat!
C. Grab the Seat! 题解 观察数据范围发现qqq很小,O(n)O(n)O(n)的复杂度可以通过,考虑对每次询问分别独立地去求解。 观察出一个重要性质:一个被占的座位与屏幕两端连线所夹的区域以外都是会被挡住的点(动手画一画就能看出来)。 实际上,一个被占的座位所去掉的点可以被分成三个部分:只被与(0,1)连线所决定的部分、只被与(0,m)连线所决定的部分、同时被两条连线决定的部分,这就相当于将与(0,1)连线确定的部分和与(0,m)连线确定的部分求并。 那么如何维护一条线决定的部分呢,不难发现对于y相同的座位,最终没有被去掉的座位一定是从(1,y)开始的一段连续区间,而所有连线都...
0
点赞
评论
收藏
分享
2022-07-19 00:52
已编辑
华东师范大学 算法工程师
题解 | J. Serval and Essay
J. Serval and Essay 题解 考虑通过“x确定y”这种关系将x和y进行合并,因为如果确定了x就能确定y,那么贪心地想肯定是确定x能得到更大的答案,那么就没有必要再去考虑从y出发了,所有从y连出去的边改成从x连出去。 当“x to y”这条边被合并之后,原本由y指向的点就变成了由x指向,在不断合并的过程中,如果从x出发最终能在t汇聚,那么最后一定会使得t仅由x指向(因为会合并出很多个“x to t”的边,如果维护集合的话就可以自动去重),即出现了“x决定t”,这个时候就需要继续合并。 合并的总次数显然是O(n)O(n)O(n)的,由于合并的是两个点连出去的点的集合,所以考虑启发式...
Zechariah:
to[y]里面还有其他t没考虑,也就是说有的from[t]里面还存在y,如果这时候直接合并x和当前t,可能会导致其他from[t]存在y从而使from[t].size()>1,这样就没法进一步合并了。
0
点赞
评论
收藏
分享
2022-07-18 22:50
已编辑
华东师范大学 算法工程师
题解 | I. Chiitoitsu
I. Chiitoitsu 题意分析 字母和数字是什么不重要,重要的是字母或数字不同就能区别不同的牌,那么实际上就是34种不同的牌,每种牌都有4张。 起手牌不会有超过两张相同的牌,那么在这种情况下,我们将手上的牌分为pair和single两个种类,当抽到一张pair中的牌时,由于这个pair已经存在,所以抽到的牌实际上没有用,直接弃掉;当抽到single中的牌时,两个相同的single就形成了一个pair,这就离目标7个pair更近了,所以这张牌需要保留;当抽到的牌啥也不是时,实际上弃掉此牌一定是一种最优策略(本质上相同牌数的single牌都是等价的)。 这里就需要观察到,在最优策略下,sin...
0
点赞
评论
收藏
分享
2022-05-12 22:15
华东师范大学 算法工程师
2022.05.12 在牛客打卡55天!
0
点赞
评论
收藏
分享
2022-04-28 09:50
华东师范大学 算法工程师
2022.04.28 在牛客打卡54天!
0
点赞
评论
收藏
分享
2022-04-27 14:30
华东师范大学 算法工程师
2022.04.27 在牛客打卡53天!
0
点赞
评论
收藏
分享
2022-04-22 13:38
华东师范大学 算法工程师
2022.04.22 在牛客打卡52天!
0
点赞
评论
收藏
分享
2022-04-13 15:56
华东师范大学 算法工程师
2022.04.13 在牛客打卡51天!
0
点赞
评论
收藏
分享
1
2
3
4
5
6
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务