摘要: 差不多写完了,然鹅去长郡学习前忘在机房电脑里了 ~~总之是咕了~~ 阅读全文
posted @ 2019-04-14 14:26 nianheng 阅读(255) 评论(0) 推荐(0) 编辑
摘要: Luogu 3648 [APIO2014]序列分割 "题目链接" 题解: 首先要发现一个重要的性质: 分割的顺序是不会影响答案的 证明: 首先对于没有交的两段区间,显然先后顺序改变不会有影响 而对于在同一段区间上的两次分割: 设有一段序列由长度为$x,y,z$的三段拼接起来 如果先分割$xy$和$z 阅读全文
posted @ 2019-03-19 21:27 nianheng 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 制胡窜考前总结 manacher算法 利用了回文串的对称性质,$O(n)$的时间复杂度就可以求出以每个点作为回文中心时最长回文串的长度 个人习惯$mc[]$的值为回文串长度,而不是回文串长度+1 代码: 常见用法是先求出$mc[]$,然后根据题目要求和其他数据结构和算法配合使用,也有直接用$mc[] 阅读全文
posted @ 2019-03-14 16:35 nianheng 阅读(313) 评论(0) 推荐(1) 编辑
摘要: [LnOI2019]加特林轮盘赌(DP,概率期望) "题目链接" 题解: 首先特判掉$p=0/1$的情况... 先考虑如果$k=1$怎么做到$n^2$的时间复杂度 设$f[i]$表示有$i$个人,$k=1$的时候幸存的概率 设$g[i][j]$表示$i$个人每个人挨一下恰好死$j$个人的概率 我们就 阅读全文
posted @ 2019-03-10 17:23 nianheng 阅读(403) 评论(0) 推荐(0) 编辑
摘要: Luogu 5004 专心OI 跳房子(矩阵快速幂) "题目链接" 题解: 先考虑最朴素的dp 设$f[i][0/1]$表示第$i$个位置跳/不跳的方案数,则: $$ \begin{cases} f[i][0]=f[i 1][0]+f[i 1][1]\\ \\ f[i][1]=f[i m 1][0] 阅读全文
posted @ 2019-03-10 12:21 nianheng 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Luogu 3250 [BJOI2017]魔法咒语(AC自动机,矩阵快速幂) "题目链接" 题解: 多串匹配问题,很容易想到是AC自动机 先构建忌讳词语的AC自动机,构建时顺便记录一下这个点以及它的所有后缀有没有忌讳词语,即对于每个AC自动机上的结点$x$,$p[x].p|=p[p[x].f].p$ 阅读全文
posted @ 2019-03-10 09:13 nianheng 阅读(175) 评论(0) 推荐(0) 编辑
摘要: BZOJ 5424: 烧桥计划(单调队列) "题目链接" 题解: 先考虑最暴力的$dp$:设$f[k][i]$表示搞掉第$1\sim i$段,烧了$k$段的最小花费,设$calc(x,y)=sum[x\sim y]\le M?0:sum[x\sim y]$,可以列出转移方程如下 $$ f[k][i] 阅读全文
posted @ 2019-03-09 19:10 nianheng 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round 545 (Div. 1) FST x 2 成功下紫 T1 题意:一个$n m$的矩阵,要求对于上面的每一个值,对他所在的行和列进行离散化,使得对于行和列都满足大小关系不变,让最大的值最小 题解:记一下每个值在行上列上的排名以及有几种排名大于它,两个数分别取$max$ 阅读全文
posted @ 2019-03-08 21:14 nianheng 阅读(221) 评论(1) 推荐(0) 编辑
摘要: Cnblog页面美化小记 这两天我在网上翻找了许许多多的资料,打开了不计其数的博客,对着$js$、$html$、$css$等文件删删改改,在浏览器和$vscode$间辗转腾挪...总算是在今天中午把博客园的美化给完成了大部分。这个过程虽然很累,但是~~很颓~~也借此机会学到了一些其他语言的正确食用方 阅读全文
posted @ 2019-03-01 15:25 nianheng 阅读(1666) 评论(6) 推荐(9) 编辑
摘要: Codeforces Round 533 (Div. 2) 链接: "Codeforces" 打得灰常愉悦的一场CF ~~如果T1没有fst的话能涨100+额~~ T1 题意:给出$n$个正整数,每个数$a_i$可以花费$|a_i x|$的代价变为$x$。要求指定一个数$t$,并变化$a$使得所有$ 阅读全文
posted @ 2019-01-21 09:35 nianheng 阅读(219) 评论(0) 推荐(0) 编辑
摘要: codeforces Hello 2019 ~~Hello candidate master~~ 然而没有紫,D题空间少开了1e6,fst了呜呜呜 新年第一场cf2333 感觉难度比 good bye 2018良心很多啊 T1 日常送分题,判断有没有相同的 cpp include include i 阅读全文
posted @ 2019-01-05 01:47 nianheng 阅读(304) 评论(2) 推荐(0) 编辑
摘要: codeforces good bye 2018 ~~good bye candidate master~~ 2018年的最后一场cf 感觉打完我又用rating换了一大波rp T1 题意: 给出三个数$r$,$b$,$y$,定义$a$,$b$,$c$是分别小于等于这三个数且满足$a+2==b+1= 阅读全文
posted @ 2018-12-31 02:18 nianheng 阅读(259) 评论(0) 推荐(0) 编辑
摘要: Luogu 3250 [HNOI2016]网络 题面 "Luogu 3250" 题解 CDQ分治...这个应该算是整体二分吧 二分重要度,按照时间从小到大加入大于重要度的边 对于一个询问,如果经过这个点的边数不等于加入的边数,那就说明有比重要度大而且不经过这个点的边,然后分成两部分继续做 看Cand 阅读全文
posted @ 2018-12-26 21:35 nianheng 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Luogu 1975 [国家集训队]排队 题面 "Luogu 1975" 题解 题意:给出一个长度为n的数列以及m个交换两个数的操作,问每次操作后逆序对数量 时间,下标和数的大小三维偏序,,,把交换操作看成是减去两个数再加上两个数,套板子就好了 发现这种计数类型的CDQ一般有两种写法: 按a排序,C 阅读全文
posted @ 2018-12-26 21:17 nianheng 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Luogu 3527 [POI2011]MET Meteors 题面 "Luogu 3527" 题解 感觉和上一那道题是一个类型的,直接二分答案,用BIT维护区间加(差分)即可 代码 ~~~cpp include include include include include include inc 阅读全文
posted @ 2018-12-25 22:46 nianheng 阅读(124) 评论(0) 推荐(0) 编辑