PhantomSamurai
PhantomSamurai
全部文章
分类
图论(1)
基础算法 二分 双指针等(4)
数据结构(3)
数论 数学(5)
比赛(1)
题解(53)
归档
标签
去牛客网
登录
/
注册
Blog
TA的专栏
29篇文章
0人订阅
每日一题
29篇文章
725人学习
全部文章
(共68篇)
【每日一题】[SCOI2012]滑雪与时间胶囊 bfs + 最小生成树
来自专栏
题意:给出n个点m条边 每个点之间只能从高往低走 求遍历的点数最多且距离最短 思路:首先由于有高度的限制 所以建图的时候 要根据高度建边 遍历的点数最多显然bfs 如何求距离最短 很容易想到最小生成树 但是条件有点问题 因为还有高度限制 所以排序的时候 把高度作为第一关键字 权值作为第二关键字 在b...
2020-05-06
0
645
【每日一题】换个角度思考 离线 + 树状数组
来自专栏
题意: 思路:可以将查询从小到大排序 依次得出答案 而后每次询问用树状数组维护<=x的值 最后用区间查询得出答案即可 #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 6; int c[N];...
2020-04-29
1
481
【每日一题】Removal dp
来自专栏
题意:给出长度为n的序列 要求从中删去m个数 求可能序列个数是多少 思路:用 来表示前i个数数里删去j个数的答案个数 那么很容易就可以想到 上一个阶段删除了j-1个+当前这一个 和 删除了j个两种情况 很明显 这样是会有重复的 我们用last[i]表示这个数最新一次出现的位置 如果说这个数之前出现...
2020-04-25
0
446
【每日一题】子序列 dp+数学
来自专栏
题意:在长度为n的序列中 求有多少子序列满足 思路:两边取对数 则公式转换为 直接用这个条件区间 去求上升子序列的数量即可dp[i] 表示以i为结尾的序列数量的多少 初始状态明显为1 #include <bits/stdc++.h> using namespace std; #d...
2020-04-24
0
381
【每日一题】K-th Number 二分+双指针
来自专栏
题意:题意有点绕 ,给你一个数组A 每次从数组中A中选择长度大等于k的区间 从区间中选取第k大的数 构成一个数组B 求B中第m大的数是多少 思路:我们考虑直接二分答案mid 难点在于如何去check 因为求得是第m大的数 而数组B里的每个数都代表区间长度>=k 里第k大的数 换个角度说数组B里...
2020-04-21
0
454
【每日一题】糖糖别胡说,我真的不是签到题目 预处理+暴力
来自专栏
题意:题目有点绕,给出n个人 分别存在两个队里在第i秒 第i个人会消灭前面能力值比他小 并且是不同队伍的人 同时有m个操作 每次操作一个数x 使得1~x的能力值 +1 求到最后能有多少只活下来 思路:因为到最后一定满足越后面的不同组能力值大于前面的 所以我们直接预处理后缀 一次性更新完所有操作 然后...
2020-04-20
0
447
【牛客小白月赛24】
B.题意:选若干个人满足最大值和最小值差不超过k 求人数最大是多少思路:排序后二分去找当前值+k 更新最大值即可 LL a[N]; int main() { int t ; scanf("%d",&t); while(t --) { ...
2020-04-20
0
393
【牛客算法周周练2】
A.思路:a不大 直接模拟即可 如果数据范围大点套个大数板子就好 #include <bits/stdc++.h> using namespace std; int main() { int x; cin >> x; int y = 0; ...
2020-04-18
0
452
【每日一题】逆序对 组合数学 快速幂
来自专栏
思路:按照题意 我们先固定两个数构成一个逆序对 无论其他位置的数怎么变 固定的对答案的贡献一直为1 所以对于长度为n的序列有 种摆法那对于其他的不是0就是1 那一共有 种 所以答案为 因为有除法运算的存在 且 模数是个质数 直接快速幂就好了 #include <bits/stdc++.h&g...
2020-04-16
0
469
幸运数字II 打表
题意:定义只包含4和7的数字为幸运数字 给出区间l,r 求l,r中每个next(i)的值的和 next(i)为第一个大于等于i的幸运数 思路:看到数据范围好像很大 其实不然 在范围内的幸运数字只有几千个 按位数来算的话 1~9 那么幸运数字总共有2^1+2^2+...+2^9个 所以我们采用bfs打...
2020-04-09
0
692
首页
上一页
1
2
3
4
5
6
7
下一页
末页