__故人__
__故人__
全部文章
题解
CF(8)
UOJ(1)
每日一题(3)
牛客小白月赛27(10)
算法模板(10)
随笔(20)
归档
标签
去牛客网
登录
/
注册
__故人__的博客
我太菜了/kk
全部文章
/ 题解
(共116篇)
牛客小白月赛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
牛客小白月赛28 B
来自专栏
分析 对于博弈问题我们可以把从一个必胜状态和必败状态进行推导。我们已经知道 是个必败节点,那么 则是必胜节点,从而可以得到 也是必败节点。把图画出来,我们发现出现了一个很显然的分形结构,而最小单元是个 的图,把表打出来就可以了,时间复杂度为 。 代码 #include<bits/st...
2020-09-21
6
652
牛客小白月赛28 A
来自专栏
分析 我们可以求出单次抛出 的概率为 ,所以赢的概率为 ,那么输掉的概率为 ,快速幂计算,时间复杂度为 。 代码 #include<bits/stdc++.h> using namespace std; int read() { int x = 0,f = 0;char...
2020-09-21
4
645
[HNOI2017]礼物
来自专栏
分析 我们发现,对于一个序列进行旋转操作,其实可以等同于只对一个序列进行操作。然后加上改变量所以题意其实就是要我们求 。 我们先把中间的式中拆开 。变成了这个式子。那么我们可以考虑枚举 。那么现在就只有 是没法很快求出来的了。可以令一个数组 ,保证 ,那么现在,就是要求 ,这个就是个标...
2020-09-19
5
0
首页
上一页
3
4
5
6
7
8
9
10
11
12
下一页
末页