返回顶部
摘要: Luogu所有代码提交状态 AC:Accept,Accept表示通过,一般简称AC,是所有竞赛选手最喜欢的情况。 WA:Wrong Answer,答案错误,说明代码中出现了问题,需要修改,一般情况下答案错误很可能是漏了题目的关键信息。 CE:Compile Error,编译错误,说明代码中有不合法语 阅读全文
posted @ 2023-10-24 20:21 supperwriter 阅读(79) 评论(0) 推荐(0)
摘要: 雅可比行列式 雅可比行列式在多元积分的变量替换中扮演着关键角色,它能帮助我们准确地转换积分区域和被积函数,从而简化积分计算。 核心原理: 多元积分的变量替换类似于一元积分的换元积分法,但需要考虑多个变量的相互关系。雅可比行列式反映了新旧坐标系之间的比例关系,它能够保证积分结果的正确性。 步骤: 定义 阅读全文
posted @ 2024-06-30 11:28 supperwriter 阅读(1006) 评论(0) 推荐(0)
摘要: max() min() 找多个元素的最大值和最小值 max(a,b)比较两个元素 mx = max({a,b,c,d});比较多个元素 lower_bound() upper_bound() 寻找第序列第n小的值的地址 //在a数组中查找第一个大于等于x的元素,返回该元素的地址 int *p = l 阅读全文
posted @ 2023-11-25 21:52 supperwriter 阅读(99) 评论(0) 推荐(0)
摘要: 位运符号优先级 加减 移位 比较大小 与 异或 或 +,- << >> < > == != & ^ | 优先级 高————————————>低 二进制状态压缩 取出整数n在二进制表示下的第k位 (n>>k)&1 取出整数n在二进制表示下的前k位 n&((1<<k)-1) 取出整数n在二进制表示下第k 阅读全文
posted @ 2023-11-17 16:31 supperwriter 阅读(25) 评论(0) 推荐(0)
摘要: 康托展开 应用:用来求一个求 1∼N 的一个给定全排列在所有1∼N 全排列中的排名。可以在 \(O(n^2)\) 的复杂度内求出一个排列的排名,在用到树状数组优化时可以做到 \(O(nlog n)\)。 举个例子: 当n=3时,一共有n!=6种组合。所有组合按照字典需排序如下: 123 132 21 阅读全文
posted @ 2023-10-28 00:03 supperwriter 阅读(50) 评论(0) 推荐(0)
摘要: 假设有一条扫描线从一个图形的下方扫向上方(或者左方扫到右方),那么通过分析扫描线被图形截得的线段就能获得所要的结果。该过程可以用线段树进行加速。 P5490 【模板】扫描线 扫描线可以处理两类问题 一类是面积并 一类是周长并 #include<iostream> #include<algorithm 阅读全文
posted @ 2023-10-27 23:24 supperwriter 阅读(19) 评论(0) 推荐(0)
摘要: 第K短路 #include <cstdio> #include <iostream> #include <cstring> #include <vector> #include <queue> using namespace std; const int N=1010,M=200010; int h 阅读全文
posted @ 2023-10-26 10:37 supperwriter 阅读(18) 评论(0) 推荐(0)
摘要: 双向BFS LuoguP1032 字串变换 引入 如果我们直接BFS,最坏情况下搜索空间是\(K^{10}\),采用双向BFS则可以把搜索空间降至\(2K^5\),而且剪枝效果相当不错。 思路 建立两个队列qa,qb,分别从起点和终点开始搜索,两边轮流进行拓展,每次都拓展一层。 每次拓展后比较一下两 阅读全文
posted @ 2023-10-26 10:30 supperwriter 阅读(52) 评论(0) 推荐(0)
摘要: AC自动机 KMP 朴素算法 char s[N],p[M]; for(int i=1;i<=n;i++) { bool flag = true; for(int j=1;j<=m;j++) if(s[i]!=p[j]) { flag = false; break; } } 优化版本O(n) // s 阅读全文
posted @ 2023-10-21 15:01 supperwriter 阅读(14) 评论(0) 推荐(0)