首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
zstuycz
获赞
11
粉丝
3
关注
0
看过 TA
3
浙江理工大学
2021
IP属地:浙江
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑zstuycz吗?
发布(4)
刷题
zstuycz
2021-05-02 20:20
浙江理工大学
有题解吗
有题解吗
0
点赞
评论
收藏
转发
zstuycz
2021-03-29 14:01
浙江理工大学
有题解吗
有题解吗
0
点赞
评论
收藏
转发
zstuycz
2021-03-16 10:48
已编辑
浙江理工大学
F题题解
令f【i】(1<=i<=k)表示以i结尾的不同子序列的个数,则f[i]=1+f[j] (1<=j<=k)(在每一个数的后面加上一个i,再加上本身的i作为一个子序列)显然每次的以i结尾的字符列变成了最大值,对于后面的m个数,我们会将本次最小的f【i】变成最大,也就是我们会在当前位填上i,这样才会保证子序列个数最大。表达式可以递推,如果我们这样构造(1,f[1]...f[k]),则转移矩阵为 k+1阶矩阵每次会消除f[1],因此我们要对f进行排序,(注意我们要在取模意义下排序) const int sz=109; struct mat { ll a[sz][sz]; ...
0
点赞
评论
收藏
转发
zstuycz
2021-03-16 10:19
浙江理工大学
E题题解
重点:可以反转一个区间代表着可以将任意两个连续的区间拼接在一起那么我们就转化为找到两个区间没有交集,他们的和最大。可以用dp【i】来表示最后一个数为a【i】的所能组成一段的最大值,我们可以从i位暴力往前找,最多找到23个数就会出现交集。然后进行sosdp(不难的,学一下)找到每个数的子集的最大值,然后暴力求解。int dp[maxn];int sos[maxn];int a[maxn];int main(){ int n; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { ...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务