后缀数组构造方法: 1.倍增 直接参考刘汝佳蓝书 时间复杂度不优秀,但代码实现简单,细节处理较多,建议参考思路后背过代码。 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring ...
分类:
编程语言 时间:
2021-04-24 13:23:55
阅读次数:
0
由题意有 $x^2\equiv 1\;mod\;n$ 对题目的公式进行变形 $x^2 1=k\times n$ $(x+1)(x 1)=k\times n$ 由唯一分解定理,我们构造$a,b,$使 $a|(x+1),b|(x 1)$ 或 $a|(x 1),b|(x+1)$ 然后我们枚举$a,b,$找 ...
分类:
其他好文 时间:
2020-04-25 19:34:26
阅读次数:
66
此题是刘汝佳老师书里的例题,P260 欧拉定理: 设平面图的顶点数为V,边数为E,面数为F,则 V + F - E = 2; 注意这里的面数包括了外面那个面。 例如 这个图的面数 为 2, 因为包括了封闭面外面那个面。 #include <bits/stdc++.h> #define LL long ...
分类:
其他好文 时间:
2020-02-17 16:02:59
阅读次数:
80
指数型枚举就是枚举子集, 常见的操作是枚举位向量。 如果要枚举一个位向量的子集,刘汝佳有很漂亮的代码, 可以参考。 树形结构可以描述组合, 这个规律必然有更深刻的意义, 甚至可能可以从中总结出很好的思想方法(远超吾辈的傻逼思维), 遗憾呀, 以后再说吧。 ...
分类:
其他好文 时间:
2020-01-28 17:21:19
阅读次数:
52
题目选自UVA-129:https://vjudge.net/problem/UVA-129 在刘汝佳的紫书中,曾经强调利用八皇后中的思想,借助字符串的后缀来生成数据。不需要刻意验证当下递归中所添加的字母是否同以后添加的字母满足题目关系。这一点与八皇后代码中按照每行或每列逐一递归的思想是相吻合的。在 ...
分类:
其他好文 时间:
2020-01-17 13:45:07
阅读次数:
86
大一开始了解ACM,兴趣使然,看了些刘汝佳写的书,颇有心得,于是记录下来,不定时更新。 ACM的输入: #define LOCAL #include <stdio.h> int main() { #ifdef LOCAL freopen("data.in","r",stdin); freopen(" ...
分类:
其他好文 时间:
2019-12-10 00:32:18
阅读次数:
141
好久之前就注册了一直没写 今天开始把刷的题都放在上面 这个题就是建个补图找双连通分量然后染色判断是不是二分图(奇圈一定不是二分图) re了好多次 debug2小时 最后发现栈数组开小了。。。 看的蓝书的思路 debug时把代码刘汝佳化了 ...
分类:
其他好文 时间:
2019-10-31 00:39:52
阅读次数:
72
知识讲解 1. 参考刘汝佳 陈峰《算法竞赛入门经典训练指南》树状数组章节 2. https://www.cnblogs.com/xenny/p/9739600.html 模板题 1.P3374 【模板】树状数组 1 2.HDU1166 敌兵布阵 ...
分类:
编程语言 时间:
2019-10-11 15:14:58
阅读次数:
73
挑战编程 刘汝佳 的第一道习题 热身题 熟悉下提交格式 题意 1 #include <iostream> 2 #include <algorithm> 3 4 using namespace std; 5 6 int n, m; 7 8 9 10 11 12 13 int main() 14 { 1 ...
分类:
其他好文 时间:
2019-09-16 00:53:03
阅读次数:
129
Kruskal算法讲解 该部分内容全部摘录自刘汝佳的《算法竞赛入门经典》 Kruskal算法的第一步是给所有边按照从小到大的顺序排列。 这一步可以直接使用库函数 qsort或者sort。 接下来从小到大依次考查每条边(u,v)。 情况1: u和v在同一个连通分量中, 那么加入(u, v)后会形成环, ...
分类:
其他好文 时间:
2019-08-22 23:53:58
阅读次数:
165