- 博客(9)
- 收藏
- 关注
原创 没事找事写算法(3)---KMP
阅读本文的一些注意事项 本文所述的只是MPMPMP算法,KMP算法还需要对failfailfail数组进行优化。但是MPMPMP算法但在竞赛中也能有很好的效果。本文偏向理论证明,如果看完后还是不懂,最好自己手动走几遍算法。我相信实践后,你一定会有更大的收获。 一道例题 HazeOJ #72 naive解法: 暴力枚举TTT和PPP的匹配起始位置,暴力向后匹配,直到PPP走完或...
2018-03-04 23:05:50 236
原创 Codeforces Round #460 (Div. 2)总结
上的分好少。感觉比赛时又傻了。 A:傻逼题 AC代码: #include #include typedef long long LL ; const int MAXN = 5000 ; const double EPS = 1e-8 ; const int INF = 0x3f3f3f3f ; using namespace std ; inline int read ( ) {
2018-02-01 12:29:03 205
原创 Codeforces Round #459 (Div. 2)总结
争取一场上蓝(flag)! flag炸了,不仅没上蓝,还掉分了。 Codeforces Round #459 (Div. 2) A:傻逼模拟 AC代码: #include #include #include const int MAXN = 100000 ; using namespace std ; inline int read ( ) { int x = 0 ,
2018-01-29 15:59:09 278
原创 没事找事写算法(2)---非旋treap
开始扯淡 代码 用处 例题 BZOJ3223 洛谷3835 开始扯淡 今天才会非旋treap,我好弱(然而都要期末考试了,我还在颓。)解释都在代码里。主要就是用merge和split两个操作维护堆性质。如果理解旋转treap,那么非旋treap应该很好理解。 代码 核心操作merge和split的代码 Node FhqTreap :: split ( int...
2018-01-21 20:51:55 647
原创 没事找事写算法(1)---浅谈树链剖分及DFS序
复习 求LCA 树上差分 引入 正题 DFS序 例子 BZOJ4034 树链剖分 例子 求LCA 洛谷P3384树链剖分模板 总结 复习 求LCA LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。通常我们会用倍增的方式来进行求解。 树上差分 可以修改一个点到树根的距离,
2017-12-24 22:51:54 953 2
原创 HazeOJ #98 序列
题面:http://hazeoj.nsfzsr.cn/problem/98 裸的差分约束系统。 将L-R+1>=C 转化成add(l,r+1,c)即可 注意两两数之间也有不等式。 因为差分约束有负权,所以只能跑SPFA AC代码: #include #include #include #include #define max(a,b) (a #define
2017-11-25 13:32:00 625
原创 【NOIP2011普及组】瑞士轮
http://hazeoj.nsfzsr.cn/problem/96 这题很有意思,每轮快排会超时。 通过观察后发现,每轮所有赢的人的分数必然递减,同理所有输的人的分数也成递减序。 所以用小学生合并排序可以将输赢两方的当前分数在O(n+m)的时间内排成递减序。 小提示:小学生合并排序可以用STL中的merge直接完成。 AC代码: #include #incl
2017-11-25 13:28:49 839
原创 【NOIP2012普及组】文化之旅
这题看起来是一道最短路的题,实际上单纯的最短路不法判断下一个到达的点有没有和以前走过的任何一点冲突。 但是因为数据太弱,裸地最短路算法好像也能过。 实际上这题的正解应该是:最短路预处理+深搜/宽搜 看完数据范围后发现两点间距离值为整数,所以可以用Dijkstra+堆优化从终点跑最短路。 再从起点跑个搜索就可以了,check函数用来判断是否有文化冲突 在dfs时可以用最
2017-11-25 13:26:10 985
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人