摘要: KMP算法用于字符串匹配问题 原有一个主串T和一个要匹配字符串S 对S求next熟组然后进行较少回溯匹配 求next数组。也就是在S串匹配不正确时 进行回溯。 每个next数组指向前一个应该回溯对下标 然后进行匹配 对于每个不匹配字符串重新依据next数组匹配 阅读全文
posted @ 2019-10-30 12:14 AAAzhuo 阅读(107) 评论(0) 推荐(0)
摘要: http://codeforces.com/contest/4/problem/D 题意 给你n组高为h 宽为w的数 让你求他们最大的排列 每一个都要大于前面所有的h 和 w 并且大于题中给定你的 mih 和 miw 阅读全文
posted @ 2019-10-15 20:05 AAAzhuo 阅读(168) 评论(0) 推荐(0)
摘要: 本题链接:https://codeforces.com/contest/1215/problem/B 题意:给你n长度的数组 然后让你计算乘积为 负的 和 正的 的子串的个数 简单dp推导题 一个 a 一个 b 维护正数和负数的字串个数 开始为正时 a++ 如果遇到负号变号 则原先可以组成正数的子串 阅读全文
posted @ 2019-09-28 14:37 AAAzhuo 阅读(142) 评论(0) 推荐(0)
摘要: priority_queueque; //默认从大到小排列 priority_queue,cmp>que; struct cmp { bool operator ()(int &a,int &b) { return a>b; } }; //采用自定义的方式来排列 #include pr... 阅读全文
posted @ 2019-07-30 15:29 AAAzhuo 阅读(86) 评论(0) 推荐(0)
摘要: 转自https://blog.csdn.net/cbcbcbz/article/details/78309380 阅读全文
posted @ 2019-07-30 12:09 AAAzhuo 阅读(125) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3579 题意很简单 如果直接计算差值 n方一定会炸 这里采用二分的方法 首先 计算二分的范围 然后 对每次的mid 相当于计算每个数的贡献 在每个数a[i] 到 a[i]+mid 有多少个数 n个数 一共有n*(n+1)/2个组合 在中间就是(n 阅读全文
posted @ 2019-07-30 10:58 AAAzhuo 阅读(339) 评论(0) 推荐(0)
摘要: Floyd算法是多源最短路算法,复杂度最高(n^3),通常用在点比较少的起点不固定的问题中。能解决负边(负权)但不能解决负环。 (暴力)Dijkstra算法是单源最短路算法,最常用时间复杂度(n^2)优化后可以达到(nlogn),不能解决负边问题,稀疏图(点的范围很大但是边不多,边的条数|E|远小于 阅读全文
posted @ 2019-07-26 16:49 AAAzhuo 阅读(152) 评论(0) 推荐(0)
摘要: 莫队算法是对暴力的一种优雅诠释,以根号n分块然后进行排序分类 (莫队很简单 ,但这个例题被我做炸了) 莫队先将给的数据分块,然后将每次询问的顺序记录下来 也就是node.id 最后再输出 不得不说 莫队这个操作直接优化根号n实在是太强 https://codeforces.com/problemse 阅读全文
posted @ 2019-07-25 21:14 AAAzhuo 阅读(107) 评论(0) 推荐(0)
摘要: 把和一个元素有关的集合合并起来方便查找 简单的模板应用题 http://poj.org/problem?id=1611 题意::0是感染者,和0一组的都是怀疑对象。即找到多少人和0在一个集合里 ac代码 阅读全文
posted @ 2019-07-24 17:59 AAAzhuo 阅读(101) 评论(0) 推荐(0)