上一页 1 2 3 4 5 6 7 8 ··· 53 下一页
摘要: 组合数学 假设当前枚举到了位置$i$ $a$ : $i$之前的$($$b$ : $i$之后的$)$$c$ : $i$之前的$?$$d$ : $i$之后的$?$ 那么当前位置对于答案的贡献是 $$\sum{a + i \leqslant b + j}{\tbinom{c}{i} \tbinom{d}{ 阅读全文
posted @ 2019-12-11 21:09 19992147 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 线段树+set 按时间扫描线,对于每个位置维护当前位置商店的同类型商店的前继 每次查询二分答案,设当前位置为$p$,二分大小为$mid$,那么希望$[p-mid,p+mid]$覆盖了所有类型 等价于$(p+mid,inf)$之间所有商店的前继位置都大于等于$p-mid$ 时间复杂度$O(nlog^2 阅读全文
posted @ 2019-12-10 16:49 19992147 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 费用流 反过来做,考虑什么情况下不行 对于三个点,当一个点出度为$2$时不形成三元环 设$x$度数为$d_x$,那么不形成的三元环就是$\frac{d_x(d_x-1)}{2}$ 建图,一边是点,一边是边,边向汇连容量为$1$费用为$0$的边 点连向对应边 原点向点连$n-1$条边,费用递增 跑最小 阅读全文
posted @ 2019-12-06 22:12 19992147 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 线段树套set+最短路 问题在于一次更新的点太多,如果按点扫描复杂度太高 发现一次更新的边是一样的,按边跑最短路,一个点被访问就删除,每次矩形查询用线段树套$set$ 均摊复杂度$O(nlog^2n)$ #include <bits/stdc++.h> using namespace std; co 阅读全文
posted @ 2019-12-03 21:41 19992147 阅读(115) 评论(0) 推荐(0) 编辑
摘要: ac自动机+dp 把串的每位翻转一下插入$ac$自动机 $dp[i][j][k]$表示走了$j$步到自动机上$i$节点是否包含了串 转移即可 #include <bits/stdc++.h> using namespace std; const int maxn = 2005; namespace 阅读全文
posted @ 2019-10-21 11:18 19992147 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 50道div1 easy 已完成 22/50 [SRM 767 1A]: 只有上次登录时间是肯定在的 肯定不在的时间段差分一下 注意细节 [SRM 699 1A]: 分析一下 按位枚举 不考虑$-1$ 统计这位为$1$和为$0$的数的个数 对于一个为$0$的位 如果自身为$0$ 那么其他位置有偶数个 阅读全文
posted @ 2019-10-06 20:23 19992147 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 博弈论 如果没有修改后继城市这个操作,就是一个$nim$游戏 现在将整个图的$sg$函数求出 把所有点按$sg$函数分类 设一类点的编号为$sg$函数值 每一类点有以下性质 1.这类点之间互相没有直接连边 2.这类点能到达所有编号小于该类点的集合中的至少一点 以上根据$sg$函数性质可以直接推出 设 阅读全文
posted @ 2019-09-21 10:46 19992147 阅读(135) 评论(0) 推荐(0) 编辑
摘要: NTT 首先发现操作的交换不影响答案 然后再打表,发现每项是一个组合数 然后NTT处理就行了 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 2e6 + 5, P = 99824 阅读全文
posted @ 2019-09-21 08:15 19992147 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 线性基 有一个显然的线段树套线性基的做法,但是会T 考虑优化,维护线性基的时候,考虑这个数出现的位置,如果加入的数比当前的数位置靠后,那么替换,用之前的数向下继续做 查询的时候和位置比较一下再加入 #include <bits/stdc++.h> using namespace std; const 阅读全文
posted @ 2019-09-21 08:13 19992147 阅读(204) 评论(0) 推荐(1) 编辑
摘要: 最小生成树 容易想到按照边权合并 每次相当于计算当前联通块的方案数,依次合并即可 #include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 5, P = 1e9 + 7; struct data { int x, y, 阅读全文
posted @ 2019-09-08 21:54 19992147 阅读(111) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 53 下一页