DeNeRATe
DeNeRATe
全部文章
分类
题解(55)
归档
标签
去牛客网
登录
/
注册
DeNeRATe的博客
Life is hard to cut off, Lifelong lovesickness
全部文章
(共52篇)
牛客小白月赛28 I
来自专栏
分析 因为一个节点 只有可能从 转移过来。考虑枚举余数,那么令 表示在节点 数字 是否可以表达。那么答案为 。 代码 #include<bits/stdc++.h> using namespace std; int read() { int x = 0,f = 0;c...
哲哥
2020-09-21
6
701
牛客小白月赛28 H
来自专栏
分析 如果考虑 ,而因为可以向回走,所以状态并不好转移。这里直接考虑最短路算法。走路就是在两两个站中加双向边,而站台就是加从左向右的单向边。 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e6 + 10,i...
哲哥
2020-09-21
4
583
牛客小白月赛28 G
来自专栏
分析 考虑每个串和模板串可以匹配的最大前缀,就应该是两个串在匹配过程中的最长匹配长度,这就是 的 数组可以做的事。直接 就好了,时间复杂度为 。 代码 #include<bits/stdc++.h> using namespace std; int read() { in...
哲哥
2020-09-21
5
668
牛客小白月赛28 F
来自专栏
分析 发现题面就是要我们求这个东西 。这个显然显然单次枚举是 。我们考虑我们维护了一个上凸壳。所以我们只需要找到凸壳的顶点就好了,而考虑到是凸壳,那么考虑三分法解决。 代码 #include<bits/stdc++.h> using namespace std; const int ...
哲哥
2020-09-21
5
0
牛客小白月赛28 E
来自专栏
分析 这场比赛较难的一道题。我们可以根据坐标建一根线段树,然后在线段树上二分。这样就可以做到 ,而并不是题解的 。没有太大思维量,根据题意把线段树建出来,然后对于每一个节点模拟一下就好了。主要还是考察了代码能力吧。要注意是按输入顺序来考虑的,而不是坐标的从左向右。 代码 #include<...
哲哥
2020-09-21
4
765
牛客小白月赛28 D
来自专栏
分析 对于加法我们可以考虑为,两个为 ,那么该位变为 ,下一位 。而异或满足两个为 ,那么该位变为 。而下一位 ,则可以考虑哪些位要进位,所以我们得到第一个式子 。但是我们要考虑到进位之后 和 要没有同一个位为 ,这才是可行的方案。 代码 #include<bits/std...
哲哥
2020-09-21
8
761
牛客小白月赛28 C
来自专栏
分析 我们发现对于任意一对括号都满足,括号中的现有答案乘上括号后的数字。那么我们先将括号进行匹配,然后通过递归处理。时间复杂度为 ,因为我们读入的是字符串,所以对于数字的处理要用类似快读的方法。主要是要注意一下细节就可以了。 代码 #include<bits/stdc++.h> usi...
哲哥
2020-09-21
5
717
[BZOJ 3028] 食物
来自专栏
分析 刚学生成函数,来试试水。我们先把每一种的生成函数写出来,并转化为封闭性式。 全部相乘之后 。如何转化为幂级数的形式。因为 所以 所以最后的答案为 。代码 #include<bits/stdc++.h> using namespace std; cons...
哲哥
2020-09-21
3
605
多项式乘法逆
来自专栏
多项式乘法逆 给你多项式 ,寻找一个多项式满足 。考虑倍增求解。 如果我们已知 ,而根据 。那么显然 ,两式相减那么 ,左右相减 。考虑左右都乘上一个 ,那么 移项 。那我们的递归出口为 。 代码 #include<bits/stdc++.h> using name...
哲哥
2020-09-19
5
710
[HNOI2017]礼物
来自专栏
分析 我们发现,对于一个序列进行旋转操作,其实可以等同于只对一个序列进行操作。然后加上改变量所以题意其实就是要我们求 。 我们先把中间的式中拆开 。变成了这个式子。那么我们可以考虑枚举 。那么现在就只有 是没法很快求出来的了。可以令一个数组 ,保证 ,那么现在,就是要求 ,这个就是个标...
哲哥
2020-09-19
5
0
首页
上一页
1
2
3
4
5
6
下一页
末页