摘要:虽然很不甘,但还是退役了呢 OI再见,学科你好 阅读全文
posted @ 2019-11-17 23:08 撤云 阅读 (4) 评论 (0) 编辑
摘要:第一类斯特林数: $$S(n,m)=S(n 1,m 1)+(n 1) s(n 1,m)$$ $$n!=\sum_{i=0}^nS(n,i)$$ 第二类斯特林数: $$S(n,m)=S(n 1,m 1)+m S(n 1,m)$$ $$S(n,m)=\frac{\sum_{k=0}^m(−1)^kC(m 阅读全文
posted @ 2019-07-17 20:15 撤云 阅读 (82) 评论 (0) 编辑
该文被密码保护。
posted @ 2019-03-07 17:10 撤云 阅读 (12) 评论 (0) 编辑
摘要:"铃悬的数学小讲堂——狄利克雷卷积与莫比乌斯反演" "铃悬的数学小讲堂——杜教筛 " "初探容斥原理" "OI中组合数的若干求法与CRT" "傅里叶变换(FFT)学习笔记" "最大权闭合子图" "网络流建模汇总" 阅读全文
posted @ 2018-12-25 10:16 撤云 阅读 (67) 评论 (0) 编辑
摘要:不定时更新 1. 飞行员配对方案问题 "题解" 2. 太空飞行计划问题 3. 最小路径覆盖问题 4. 魔术球问题 5. 圆桌问题 "题解" 6. 最长递增子序列问题 7. 试题库问题 "题解" 8. 机器人路径规划问题 9. 方格取数问题 "题解" 10. 餐巾计划问题 "题解" 11. 航空路线问 阅读全文
posted @ 2018-10-04 19:34 撤云 阅读 (62) 评论 (0) 编辑
摘要:虽然很不甘,但还是退役了呢 OI再见,学科你好 阅读全文
posted @ 2019-11-17 23:08 撤云 阅读 (4) 评论 (0) 编辑
摘要:题目链接 "戳我" $ps:$如果没报名可能看不了,有权限,不宜公布题面(~~可以去baidu~~) $Solution$ 怎么全部写的是分层图或者状压啊?没人跟我一样写折半吗? 我们发现$k$只有$12$,很小啊,那应该从$k$下手 我们发现有用的点最多$25$个,我们将这点$x$离散记为$id[ 阅读全文
posted @ 2019-11-08 16:57 撤云 阅读 (15) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 将好友访问你的主页的状态用二进制存下来 其中若第$i$位是$1$,则表示这个好友在第$i$个$1$操作后访问了你的主页,否则没访问。 所以如果两位好友都高兴则两位好友的二进制数$\&$的值为$0$ 所以这样就变成了一个最大独立集的问题了 如果$\&$不为$0 阅读全文
posted @ 2019-10-30 17:16 撤云 阅读 (14) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 我们看到这题之后发现这题不是$n^2$把边弄出来后就跟 "货车运输" 差不多了,但是看了数据后发现$n^2$条边建不出来啊,这里就不详细的讲$kruskal$重构树了,只讲怎么建边 所以我们要考虑怎么优化这个建边方式 显然这里不可以用什么线段树,倍增,前后缀 阅读全文
posted @ 2019-10-30 16:46 撤云 阅读 (15) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 这道题官方题解的做法太复杂了,还需要扫字符串。 其实只需要两个$map$就好了. 一个$map$用来记录题目一个题面的答案是什么 一个$map$用来记录答案是$"A","B","C","D"$中的哪个 然后直接输出就好了,详细见代码 cpp include 阅读全文
posted @ 2019-10-28 08:33 撤云 阅读 (19) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 这道题只需要枚举吃$k$个美食,最后在取前$k$大的美味值。对于每个算出答案后取$max$ $Code$ cpp include define int __int128 define rg register define file(x) freopen(x" 阅读全文
posted @ 2019-10-28 08:25 撤云 阅读 (43) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 我们来分析题目。 实际上就是求一个拓扑序满足拓扑序的前缀最大值最多/最少 对于第一种情况,很明显一直选当前能选的最小的是最优的对吧。因为你需要大的尽可能多。用个堆维护就好了 但是很多人第二种情况想当然了,认为一直取最大值就可以了,但是这种行为太$Naive$ 阅读全文
posted @ 2019-10-27 22:32 撤云 阅读 (41) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 先将所有棋子移动到最近的目标点上 我们设两个变量$ans1,ans2$表示到目前为止这个点上可以移动棋子的数目,然后$f[i][j]$表示$(i,j)$上有多少个棋子,$ans$为答案 如果为正表示从左边移到右边 如果为负表示从右边移到左边 我们考虑怎么维护 阅读全文
posted @ 2019-10-26 15:35 撤云 阅读 (38) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 这道题在线的做法不会,所以这里就只讲离线的做法。 因为直接排序的话复杂度显然不对.但是如果数列为$01$串的话就可以让复杂度变成对的了 那么$01$串怎么做呢? 我们考虑用线段树维护这个东西. 假设我们要将$[l,r]$排序 我们可以处理出$[l,r]$中$ 阅读全文
posted @ 2019-10-20 20:01 撤云 阅读 (16) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 这道题第一眼看样例,猜了个结论偶数$Alice$赢,否则$Bob$赢,打了一发,交了上去果不其然的$wa$了,第二次猜$2$的幂次方$Alice$赢,否则$Bob$赢,这次没有再交上去了,打了个表发现并不对。于是开始了推结论。 我们现在根据样例已经知道了$3 阅读全文
posted @ 2019-08-28 22:07 撤云 阅读 (50) 评论 (4) 编辑
摘要:题目链接 "戳我" $Solution$ 令$gcd$为$x$,那么我们将整个序列$/x$,则序列的和就变成了$\frac{n}{x}$,所以$x$必定为$n$的约数所以现在就是要构造出一个序列长度为$k$,和为$\frac{n}{x}$。我们令前$k 1$个为$1,2....k 1$最后一个再用$ 阅读全文
posted @ 2019-08-26 21:18 撤云 阅读 (19) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 如果一个 要更改,那么一个四个格子的正方形只有他一个是 ,bfs弄一下就好了 $Code$ cpp include using namespace std; const int inf=1e9,mod=1e9+7; typedef long long ll; 阅读全文
posted @ 2019-08-26 15:06 撤云 阅读 (25) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 观察发现如果一个数两边都比他大,删掉他可以保证最优,这个应该是显然的。这个东西用单调栈维护一下,最后剩下的就是个单调递减或单调递增的数列,从小到大排个序取前面$n 2$个,$n$为数列长度 $Code$ cpp include define int long 阅读全文
posted @ 2019-08-26 08:10 撤云 阅读 (27) 评论 (0) 编辑
摘要:题目链接 "戳我" $Solution$ 第一问 这道题要知道一个叫做$Dilworth$的定理 最长反链$=$最小链覆盖 证明( "$from\ r\_64$" ): 所以我们只要求一个最小链覆盖即可 这个很好求 对于每个点拆点,拆成$(x,x')$,$s x$流量为$1$,$x' t$,流量为$ 阅读全文
posted @ 2019-07-30 16:51 撤云 阅读 (27) 评论 (0) 编辑
摘要:题目链接 "戳我" $Description$ 给出一个图的$bfs$序和$dfs$序,构造出一个满足条件的图,边的扫描顺序为读入顺序 $Solution$ 这个题还是很简单的. 先来看看无解的情况:当$bfs$序和$dfs$序的第二个不同时无解,因为是按边的顺序遍历,所以前两个一点定一样. 对于$ 阅读全文
posted @ 2019-07-22 22:12 撤云 阅读 (27) 评论 (0) 编辑
……