返回顶部
摘要:模板 数学 "模板 组合数" "模板 二次剩余" "模板 扩展欧几里得算法" "模板 扩展中国剩余定理" "模板 线性筛" "模板 快速傅里叶变换" "模板 快速数论变换" 数据结构 "模板 主席树" "模板 可持久化Trie" "模板 线段树" "模板 有旋Treap" "模板 无旋Treap" 阅读全文
posted @ 2019-08-19 22:38 Inko 阅读 (27) 评论 (0) 编辑
摘要:https://www.acwing.com/problem/content/210/ 要注意两点:开关之间的关系不一定是对称的,并且每个开关会控制自己。 消元的过程中可以计算出矩阵的秩,假如某个行没有主元但是有常数,那么就直接 1了。 cpp include using namespace std 阅读全文
posted @ 2019-09-16 18:36 Inko 阅读 (2) 评论 (0) 编辑
摘要:https://www.acwing.com/problem/content/199/ 求解n!的质因数分解,n数量级1e6。 一个最简单的思路就是暴力分解每个数的质因数,复杂度过高。 换一种思路,当需要批量处理的时候,用线性筛求出每个数的最小质因数,然后对这个数进行质因数分解只需要log级别。 1 阅读全文
posted @ 2019-09-16 18:05 Inko 阅读 (2) 评论 (0) 编辑
摘要:https://www.acwing.com/problem/content/submission/227/ 需要构造一种新的矩阵,受到前几天xy的求和的启发,但是还是不知道矩阵的求和怎么搞。事实上矩阵的求和是一样的。 构造一个矩阵:其中E是单位矩阵,O是零矩阵,那么这个东西转移n次就得到需要的Sn 阅读全文
posted @ 2019-09-16 17:41 Inko 阅读 (4) 评论 (0) 编辑
摘要:```cpp inline int gcd(int a,int b){ if(b==0) return a; else{ while(int i=a%b){ a=b; b=i; } return b; } } int ex_gcd(int a,int b,int& x,int& y) { if(b==0) { x=1; y=0; return a; } int d=ex_gcd(b,a%b,x,y 阅读全文
posted @ 2019-09-16 16:59 Inko 阅读 (3) 评论 (0) 编辑
摘要:D. Counting Sequences I 暴力搜索。 cpp include using namespace std; typedef long long ll; const int MOD = 1000000007; map, short m; vector vec; void calc(i 阅读全文
posted @ 2019-09-15 23:10 Inko 阅读 (57) 评论 (0) 编辑
摘要:普通平衡树: 非递归的不带修改的查询,方便可持久化: cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs(p) ch[p][1] const int MAXN = 100000 阅读全文
posted @ 2019-09-13 11:26 Inko 阅读 (3) 评论 (0) 编辑
摘要:```cpp include using namespace std; int n; double r; struct point { double x, y; } p[100005], o; inline double sqr(double x) { return x x; } inline do 阅读全文
posted @ 2019-09-13 11:21 Inko 阅读 (4) 评论 (0) 编辑
摘要:https://www.acwing.com/problem/content/121/ 给两种点,黑点和红点各n(n using namespace std; const double PI = acos( 1.0); struct Point { double x, y; Point() {} i 阅读全文
posted @ 2019-09-13 10:50 Inko 阅读 (3) 评论 (0) 编辑
摘要:这个是正确的算法,但是复杂度可能会卡到 $O(n^2)$ ,加上每个点最多匹配的临近点最多15个/30个限制的话复杂度就可以保证了,最多就再做一次增加正确的几率,我确实不行从头到尾都是随机的怎么有人卡得掉。 cpp include using namespace std; const double 阅读全文
posted @ 2019-09-13 09:44 Inko 阅读 (4) 评论 (0) 编辑
摘要:https://www.acwing.com/problem/content/125/ 一开始觉得很复杂,但是其实和去中点一样,只不过对于x来说要排个序,然后贪心让最近的士兵去他应该去的位置,这样不会更差。 所以xy是无关的,总是存在一种办法使得他们不会走到禁止格。 直接排序。 cpp includ 阅读全文
posted @ 2019-09-13 01:53 Inko 阅读 (5) 评论 (0) 编辑