摘要: 这篇我就随意写啦~不用统一的“题解”形式。♪(^∀^●)ノ 也分好几次慢慢更吧~ 对于NOIP2016的总结,我本想善始善终back回,但是心情不足以支撑我,那就只能有始有终了......下面进入我的话唠模式......另外,我真的如名是蒟蒻,想看神犇的“OI生涯”就不用往下看了。<( ̄︶ ̄)↗ 初阅读全文
posted @ 2016-11-21 18:40 konjac蒟蒻 阅读(243) 评论(0) 编辑
摘要: 题目:给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减。试求出x的值。 解法:与二分法枚举中点使区间分成2份不一样,三分法是枚举三分点,再根据题目的情况修改 l , r 。 P.S.嘻嘻,其实我就是为了凑够我这3个月博客刚好150篇才补了这个我NOIP比阅读全文
posted @ 2016-11-21 18:31 konjac蒟蒻 阅读(87) 评论(0) 编辑
摘要: 题目:给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数。 解法:匈牙利算法。(以前我总是不记得......)实质上应该有贪心的思想,每次都尽量匹配,找到能和自己匹配的也尽量让它们匹配。若对方已有匹配的对象,就让那个对象尽量调整来使自己这对能凑起来。而要注意,每次问过的对象就不要再问阅读全文
posted @ 2016-11-18 11:00 konjac蒟蒻 阅读(24) 评论(0) 编辑
摘要: 题目:已知一个数列,你需要进行下面两种操作:1.将某一个数加上x;2.求出某区间每一个数的和。 解法:树状数组求前缀和。阅读全文
posted @ 2016-11-18 09:55 konjac蒟蒻 阅读(16) 评论(0) 编辑
摘要: 题意:给2个数字序列 a 和 b ,问按从小到达排序后,a中的哪些子串与b的名次匹配。 a 的长度 N≤100,000,b的长度 M≤25,000,数字的大小 K≤25。 解法:【思考】1.X 暴力。枚举 a 中的子串,选出来排序后比对名次。O(n* m log m *m)=O(n*m^2*log 阅读全文
posted @ 2016-11-18 09:55 konjac蒟蒻 阅读(23) 评论(0) 编辑
摘要: 题目:已知一个数列,你需要进行下面两种操作:1.将某区间每一个数数加上x;2.求出某一个数的和。 解法:树状数组+前缀和优化。数组中每位存和前一位的数的差,这样区间修改只用改两位,单点询问就是求前缀和。阅读全文
posted @ 2016-11-18 09:52 konjac蒟蒻 阅读(31) 评论(0) 编辑
摘要: 题目:有一个图有N个顶点,M条边。边用三个整数a b w表示,意思为a->b有一条权值为w的边(若w<0则为单向,否则双向)。共T组数据。对于每组数据,存在负环则输出一行"YE5"(不含引号),否则输出一行"N0"(不含引号)。 注意——坑爹的输出啊!!它不是平常的 YES 和 NO!! 解法:1.阅读全文
posted @ 2016-11-18 08:54 konjac蒟蒻 阅读(27) 评论(0) 编辑
摘要: 题意:求n个串的字典序最小的最长公共子串。 解法:枚举第一个串的子串,与剩下的n-1个串KMP匹配,判断是否有这样的公共子串。从大长度开始枚举,找到了就break挺快的。而且KMP的作用就是匹配子串,近乎O(n)的速度,很快。 P.S.对于字符串要仔细!!!阅读全文
posted @ 2016-11-17 22:28 konjac蒟蒻 阅读(24) 评论(0) 编辑
摘要: 题意:给定一个由字符组成的矩阵,求出它的面积最小的覆盖矩阵。(感觉应该是可重叠的......* (・ω・)っ) 解法:KMP。行列互不影响,可以问题分解。先求出每一行的最小重复串,利用kmp中的next[ ]数组,然后求其最小公倍数。若变成最大值就可以break了,这也是我代码本来应该O(2*m*n阅读全文
posted @ 2016-11-17 21:16 konjac蒟蒻 阅读(15) 评论(0) 编辑
摘要: 题意:求子串在文本串中出现了多少次。 解法:使用KMP的next[ ]和tend[ ]数组计数。阅读全文
posted @ 2016-11-17 19:38 konjac蒟蒻 阅读(32) 评论(0) 编辑