摘要: 题目链接 "ZOJ3874" 题意简述: 在一个序列中,两点间如果有边,当且仅当两点为逆序对 给定一个序列的联通情况,求方案数对$786433$取模 题解 自己弄了一个晚上终于弄出来了 首先$yy$一下发现一个很重要的性质: 联通块内的点编号必须是连续的 证明: 假设一个联通块编号不连续,设$a$, 阅读全文
posted @ 2018-05-30 22:17 Mychael 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ4503" 题解 水水题。 和残缺的字符串那题几乎是一样的 同样转化为多项式 同样TLE 同样要手写一下复数才A C++ include include include include include include include define Redge(u) for (in 阅读全文
posted @ 2018-05-30 19:21 Mychael 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ2697" 题解 好水好水的贪心。。。 容易发现每种特技只表演两次,多表演没有意义,而且差距越长收益越大 然后就可以贪,最大的放两端,次大的往里,然后是第三大....... 证明很简单,假设将两个特技时间交换,那么会产生交换距离乘以$C$的差值的贡献,显然就不优 阅读全文
posted @ 2018-05-30 16:07 Mychael 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ2795" "BZOJ2890" "BZOJ3647" 题解 三倍经验! 我们要快速求区间最小循环节 我们知道循环节有如下性质: ①当$L$为循环节长度,那么$s[l...r L] = s[l + L...r]$且$L | (r l + 1)$ ②如果$L$为循环节,那么$L x 阅读全文
posted @ 2018-05-30 15:27 Mychael 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ2823" 题解 "最小圆覆盖" 模板 都懒得再写一次 C++ include include include include include include include define LL long long int define Redge(u) for (int k = 阅读全文
posted @ 2018-05-30 11:40 Mychael 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ2924" 题解 题面有误。。是$45°$ 如果两个点间连线与$x$轴夹角在$45°$以内,那么它们之间连边 求最小路径覆盖 = 最长反链 由于$45°$比较难搞,我们利用复数翻转一下,逆时针旋转$45°$ 这样就求一条从左上到右下的最长链 我们将所有点按$x$排序,令$f[i] 阅读全文
posted @ 2018-05-30 11:30 Mychael 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "洛谷P3759" 题解 树状数组套主席树板题 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) define REP(i, 阅读全文
posted @ 2018-05-30 08:52 Mychael 阅读(236) 评论(0) 推荐(0) 编辑