$$AVICII$$
上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 首先想到kd-tree,复杂度主要看剪枝 另一种做法也是分治,先以x排序,然后分治求区间答案(这个答案是小于当前已经得到的答案) 那么可以先对分治排序y,然后找到所有与中心线距离小于当前答案的点 这些点已经以y的顺序排好,所以对于i往后枚举j,当点i和点j的纵坐标距离大于等于当前答案就break 总 阅读全文
posted @ 2021-12-08 20:25 bootpuss 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题表 P3390 【模板】矩阵快速幂 板子 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAXN=110; 4 const int mod=1e9+7; 5 int n; 6 struct Matrix{ 7 int jz 阅读全文
posted @ 2021-11-09 21:05 bootpuss 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 适用于一个区间向另一个区间连边,形如: for(int i=1;i<=r1-l1+1;++i) merge(l1+i-1,l2+i-1); 开log个并查集,用表示的区间左端点编号,合并的时候像RMQ一样拆区间,递归即可 每个$2^i$的i最多合并$n-1$次,复杂度$O(n*logn)$ 萌萌哒: 阅读全文
posted @ 2020-06-08 21:10 bootpuss 阅读(184) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-04 20:29 bootpuss 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 4.25考试: 数字 (number) 考试看到数据范围大就猜到和数位dp有关系了,奈何数位dp没怎么学,考场上写了写乱七八糟的东西,调不过样例。 这里有个特殊条件,x∨y的二进制表示中最多只有15个1,所以我们可以O(215)地枚举W=x∧y,逐个判断W是否可行。判断单个 W 是否可行的方式类似 阅读全文
posted @ 2020-04-26 12:07 bootpuss 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Coloring Torus 如果要构造 n = k 的,那么直接 构造一个第 i 行为 i 的就好了。 那么 n<k<=2n 呢? 我们考虑斜着的列。 如果第 i 个斜列放 i ,那么也可以达到 n = k 的目的。 如果第 i 个斜列间隔放两种数,那么仍然可以满足条件。这时候就可以做到 k属于  阅读全文
posted @ 2020-04-19 11:55 bootpuss 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1 int main(){ 2 scanf("%s",rn+1); 3 n=strlen(rn+1); 4 int j=0; 5 for(int i=1;i<=n;++i) 6 S[++j]='#',S[++j]=rn[i]; 7 S[++j]='#'; 8 S[0]='#',S[j+1]='#'; 阅读全文
posted @ 2020-02-09 21:56 bootpuss 阅读(126) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-01-11 17:25 bootpuss 阅读(57) 评论(3) 推荐(0) 编辑
摘要: 一般形式是$y=k*x+z$,找到合适的$z$,于是维护一个凸包的点集。 一般不判斜率,而算叉积。 套路,斜率单调性或点集单峰性,数据结构瞎套一套就好了。 叉积如果暴long long,开long double 刷题表: A. 陶陶的难题II: 要学一个东西叫01分数规划。 二分答案$ans\leq 阅读全文
posted @ 2020-01-09 07:52 bootpuss 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 本来以为自己能记住就不写了,然而事实证明还是要推一推柿子的。 求$C_{n}^{m}\%P$。 根据$CRT$: $P=p_i^{k_i}...$ 求出$C_{n}^{m} \equiv a_i(\% p_i^{k_i})$里每个$a_i$,$CRT$合并即可。 因为只有在互质时才能出逆元(快速幂求 阅读全文
posted @ 2020-01-03 16:51 bootpuss 阅读(308) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页