- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 HDU 5876 补图最短路
题意:给一个图,和起点s,求s在补图中到各个点的最短路。 分析:补图最短路,算是比较套路的一类题了,bfs+两个set维护邻接点和未扩展的点。 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f const int N = 1e6+5; int ...
2019-10-09 15:11:21 270
原创 线性基总结(题目合集)
线性基的三大性质: 线性基能相互异或得到原集合的所有相互异或得到的值。 线性基是满足性质1的最小的集合。 线性基没有异或和为0的子集。 模板: const int MaxBasis = 62;///二进制位数 struct LB { ll base[MaxBasis+10]; bool rel; int sz; vector<ll> Basis;/// 线性...
2019-10-07 10:09:54 457
原创 2019牛客国庆集训派对day1 C Distinct Substrings
题意:https://ac.nowcoder.com/acm/contest/1099/C。 分析:大致题意是说向字符串末尾添加任意字符所增加的不同子串个数。容易知道,新增的子串一定是后缀,如果新增字符没有出现过,那么贡献n+1,n为字符串的长度,如果出现过了,容易发现如果这个字符的前一个位置的的前缀的后缀和原串的后缀部分相同,那么肯定有重复的,重复的个数就是两个前缀的最长公共后缀长度+1(因为...
2019-10-05 11:36:40 213
原创 2019牛客国庆集训派对day1 K 双向链表练习题
题意:https://ac.nowcoder.com/acm/contest/1099/K 分析:要求不断地让一个列表追加到另一个列表中,并反转。但是不停反转是很耗性能的,不停地反转将会导致超时。为了解决这个反转超时问题,我们开两个表,一个正向表,一个反向表。把正向表与反向表的元素对调一下,就相当于反转了。这样就不会超时了。用c++list(双向链表)模拟很方便。 代码: #include...
2019-10-05 09:06:58 257 2
音乐播放器
2017-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人