摘要: 最近leetcode上面遇到一道题,需要用滑动窗口维护前k个出现最多的数的区间和,但是用对顶堆可以方便的写出来,下面介绍一种用multiset实现对顶堆的用法 先上模板: typedef pair<int,int> E; struct topheap{ int k; //后k个最大值 multise 阅读全文
posted @ 2024-10-17 11:09 chhh31 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Z函数也叫扩展KMP算法,因为思路和KMP很像,都是从已经获得的信息中处理后面的信息。 思路参考: 灵茶山艾府-Z函数 (听了这个才听懂) OI WIKI 算法demo程序 模板: vector<int> zf(string s) { int len = s.size(); vector<int> 阅读全文
posted @ 2024-09-06 12:53 chhh31 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 这部分内容要用到树的数据结构,我们有以下几种方式来存储节点 邻接表 邻接表就是用类似链表的结构来存储数据,先创建一个数组h,每一个位置都有一个表头。然后e数组和ne数组分别表示节点的值是多少,节点的下一个节点的编号是多少,这种方式一般用在稠密图中,也就是节点数跟边数相差很大。 邻接矩阵 邻接矩阵就是 阅读全文
posted @ 2024-09-05 10:33 chhh31 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 比赛链接 完成度:4/7 这场比赛相对于上次那场909 div3,题目描述清楚许多(可能是出简单了)。 首先是B题,一道模拟四舍五入的题目 题目B 这题就是简单模拟,我们需要读入一个数字字符串,把他输入到一个数组当中,然后从低位到高位找大于等于5的数,如果找到了,那么之前的数包括这个数都变成0,下一 阅读全文
posted @ 2024-08-04 13:29 chhh31 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 好吧,可能是我的文字功底太弱了,首先滴就是这个B题 题目链接 我一开始还以为这个能排序,就是算排完序之后的最大差,但是仔细一看题目,好像不要求使用排序,于是就尝试暴力做法。我发现的暴力做法是枚举k,直到k == n / 2为止,当时是因为没有开long long导致WA了,后面发现时间不是怎么多就没 阅读全文
posted @ 2024-08-02 15:58 chhh31 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目链接 :https://codeforces.com/contest/1996/problem/E 题目描述: 为了获得你最喜欢的角色,你不惜一切代价,侵入了游戏的源代码。经过几天的努力,你终于找到了编码游戏 gacha 系统的二进制字符串。为了解码它,你必须首先解决以下问题。给你一个长度为n的 阅读全文
posted @ 2024-07-29 22:23 chhh31 阅读(60) 评论(0) 推荐(0) 编辑