hunxuewangzi
hunxuewangzi
全部文章
分类
题解(11)
归档
标签
去牛客网
登录
/
注册
hunxuewangzi的博客
全部文章
(共11篇)
系数 题解(lucas+思维)
题目链接 题目思路 这个题目的关键就是 答案模3 要利用这个来突破 令 则 因为 显然只有 那么就可以得证 则 那么 使用lucas求解 时间复杂度 代码 #include<bits/stdc++.h> #define fi first #define se second #define...
2021-02-26
0
602
动态最小生成树 题解(线段树+归并排序)
题目链接 题目思路 看到单点修改,区间查询其实很容易想到线段树 但是这个线段树有点特殊 线段树的每个节点代表这个区间的最小生成树的所有边,用vector存 那么每个节点最多n-1条边 你每次合并使用类似归并排序就是 如果暴力合并就是 那么使用归并排序总的时间复杂度就是 代码 #include<...
2021-02-26
0
722
组合数问题 题解(虚数)
题目链接 题目大意 计算 题目思路 如果是计算 显然 两式相加 而下面就有点神奇要类比,想到虚数第一次真想不到 而 则 则 而 最终 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; c...
2021-02-24
0
623
Spy Syndrome 2 题解(dp+hash)
题目链接 题目思路 这个题目算是一个经典的dp 设表示以i结尾的最后一个字符串的序列是 hash预处理 然后计算答案直接回溯即可 复杂度 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug...
2021-02-23
0
629
I 九峰与分割序列 题解(线段树维护dp)
题目链接 题目思路 首先要想到一个dp模型 为右端点为i前一个子区间小于等于k的最大贡献 为右端点为i前一个子区间大于k的最大贡献 那么这样利用前缀和可以写出一个的dp 暴力dp #include<bits/stdc++.h> #define fi first #define se se...
2021-02-21
0
661
Train Hard, Win Easy 题解(sort)
题目链接 题目大意 题目意思真的有点难懂 总共有个人 就是每个人都会与其余个人进行两两配对 每个人都有自己的两个权值 若配对则每个人的权值加 而有个不能配对两两的关系 求每个人最后的权值 题目思路 其实很简单就是sort一下 然后不能配对的久直接减去即可 代码 #include<bits/st...
2021-02-18
0
669
Subsequences (hard version) 题解(dp求不重复子序列)
题目链接 题目大意 给你一个长度为的字符串 要你找出个不同的子序列,使得k个不同的子序列总价值最小是多少 一个子序列的价值为删去的字符长度 空串也为子序列 题目思路 其实不难就是要明白怎么设dp方程 设 为前i个字符构造长度为j的不同子序列长度 显然 就是选和不选第i个字符的问题 但是会有重复 假设...
2021-02-18
0
867
Dima and Salad 题解(01背包变形)
题目链接 题目大意 给你n个物品,每个物品有两个值一个为a,一个为b 要你拿任意的物品使得 题目思路 一个显然易见的思路设为是否有 然后最后复杂度为 显然不行 所以考虑化简 把这个问题转化为每个物品重量为 价值为 转化为变为01背包 然后由于有负数,所以把背包的初始体积平移一下即可 代码 #inc...
2021-02-09
0
681
济南 Tree Constructer 题解(二分图染色+构造)
题目大意 给你一颗树(n<=100) 要你给点赋权值,如果x|y= 则代表x和y有边 题目思路 只要没有回路的图都可以看作是一个二分图 把这个想成二分图染色 想成白点和黑点(白点个数<黑点个数) 白点的第59位为0,以及白点的id位为0,给每个白点赋值一个不同的id,其他位白点均为1 黑...
2021-01-31
0
642
魔改森林 题解(dp+容斥+组合数学)
题目链接 题目大意 给你一个n*m的方格图,中间有k个障碍,要你求从左下角到右上角有多少种方案mod 998244353 题目思路 这个题目真是很oi......首先 直接 如果方格数量很多,观察障碍物很少,则可以想到容斥的思维 然后再用组合数学预处理一下 一定要注意要预处理到2e5 wa了我一辈...
2021-01-27
0
615
首页
上一页
1
2
下一页
末页