首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
课程
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
xseventh
获赞
47
粉丝
5
关注
2
看过 TA
2
福建工程学院
2020
C++
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑xseventh吗?
发布(3)
刷题
xseventh
2018-07-27 12:22
已编辑
C++
牛客网暑期ACM多校训练营(第三场)G BFS计数
题意: 给你一棵树,你可以对树进行染色,树的价值定义为最小的相同颜色的节点之间的距离,问你当树的价值为d的时候,有多少种染色方案。 我们可以转化一下题目,可以转变成当树的价值>=d时,有多少种方案,然后我们用>=d的方案数减去>=d+1的方案数 就是价值刚好为d的方案数了。 怎么求树的价值>=d的方案数呢?这里可以看成对于任意一个节点,所有和它距离小于d的节点,不能和它有相同的颜色。 然后我们随便找个根节点开始bfs染色,怎么染色呢? 我们考虑根节点,它有k种颜色可以染,我们给根染了一种颜色之后,所有和根在距离<d的点,可以被染的...
0
点赞
评论
收藏
分享
xseventh
2018-07-23 10:18
已编辑
C++
牛客网暑期ACM多校训练营(第二场)J 树状数组解法
J题做法: 我们通过差分(其实就是二维前缀和)可以在O(nm)的时间求出每个点被撒了几次肥料 然后我们可以对每种植物分开求被撒了几次相同种类的肥料,然后判断被撒肥料的次数是否等于被撒的相同种类肥料的次数来确定这个植物的死活 首先 我们需要学会二维差分,这个怎么做呢?我们发现如果我们想对(x1,y1) (x2,y2)这个矩形内所有元素+1 我们可以通过a[x1][y1]++,a[x1][y2+1]--,a[x2+1][y1]--,a[x2+1][y2+1]++这四个操作来实现 我们对这四个点进行加减后,再对矩阵求一次二维前缀和,这时候的效果就是整个矩形+1了 ...
投递牛客等公司 >
0
点赞
评论
收藏
分享
xseventh
2018-07-19 23:25
已编辑
C++
牛客网暑期ACM多校训练营(第一场)E、Removal 题解
E题解法: 这题相当于求有多少种不同的长度为n-m的子序列。 我们可以用dp来求解。 我们定义dp[i][j]代表长度为i,最末尾的数字为j的子序列方案数,sum[i]代表长度为i的子序列个数 我们初始令sum[0]=1 很容易写出O(n^2)复杂度的解法 for(int i=1;i<=n;i++){//每次增加一个字符 for(int j=i;j>=1;j--){//从长到短枚举子序列长度 sum[j]+=(sum[j-1]-dp[j][s[i]])%mod;//因为dp[j][s[i]]要等于sum[j-1],这样长度为j的子序列方案数发生了变化,所以我...
投递牛客等公司 >
0
点赞
评论
收藏
分享
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务