首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
wwt_001
获赞
0
粉丝
0
关注
5
看过 TA
1
男
无名小学
2020
Java
IP属地:浙江
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑wwt_001吗?
发布(2)
刷题
wwt_001
2020-08-06 20:34
Java
小A的最短路
题意:给你一棵树包含n个顶点,和n-1条边。在这棵树的基础上再加一条边。求树上两个顶点之间的距离。 题解:其实有题意我们很容易想到要求两个顶点之间的LCA,从而间接求解两个顶点之间的最短距离。1.首先我们考虑不做缆车,那就是求dist(x,y)2.我们在考虑做缆车的情况,但是有分两种情况2.1从x走到u做缆车,dist(x,u)+dist(v,y)2.2从x走到v做缆车,dist(x,v)+dist(u,y)综上,ans=min(dist(x,y),dist(x,u)+dist(v,y),dist(x,v)+dist(u,y)) 代码: #include <bits/stdc++.h&g...
0
点赞
评论
收藏
转发
wwt_001
2020-07-31 15:07
已编辑
Java
涂色PAINT
题意:给你一串字符串, 用尽量少的涂色次数达到目标。题解:该题本质是区间dp,设字符串为s.我们定义dp[i][j]为达到s[i,j]目标最少的涂色次数.当[i,j]长度为1时,dp[i][j]=1;当[i,j]长度为2时,dp[i][j]=(s[i]==s[j])?1:2;当[i,j]长度大于2时:1.s[i]==s[j],区间端点相同,可以看成是在比该区间小一个单位的基础上顺带涂上的dp[i][j]=min(dp[i+1][j],dp[i][j-1]);2.s[i]!=s[j],咱们可以把它分成两半,枚举中间点dp[i][j]=min(dp[i][k]+dp[k+1][j],dp[i][j...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务