二维哈希与二维Manacher - Beautiful Matrix - 牛客多校Day3
Beautiful Matrix
前往 算竞题解 分类 || 前往 算竞模板 分类
原题链接
G-Beautiful Matrix 2023牛客暑期多校训练营3
简明题意
给一个二维矩阵,求其中有多少个中心对称正方形子矩阵。
数据范围:矩阵小于 2000x2000,没有多组,时间限制 5s 。
注:这道题非常的丑,一点不 Beautiful !
解题思路(一)
可以考虑使用二维字符串哈希。对矩阵求二维哈希,然后逆序求一遍哈希,通过比较哈希值可以 O(1)O(1)O(1) 判定一个矩阵是否为中心对称矩阵。
预处理二维哈希值是 O(n2)O(n^2)O(n2) 的,但是如果我们考虑枚举所有正方形子矩阵,发现时间复杂度是 O(n3)O(n^3)O(n3) 的,这是一个不可接受的时间。然后我们可以考虑枚举矩阵的中心,然后通过二分判断以该点为中心的最大中心对称正方形子矩阵,因为对于中心对称正方形满足相同中心的更小正方形同样满足中心对称。时间复杂度为 O(n2logn)O(n^2logn)O(n2logn) ,这里需要注意偶矩阵与奇矩阵需要分类讨论,或者直接添加空字符将矩阵拓展为两倍 ...
Github + Hexo + Butterfly 建站笔记(零) - 前言
前言
欢迎来到我的建站笔记,该系列的文章将教你如何使用 Github 搭建自己的博客网站。
这个博客网站需要用到 Hexo 框架和 Butterfly 主题,网站代码依托于 Github 。
Hexo 是一个静态博客网站框架,使用 Hexo 以及其提供的诸多配置选项,所有代码以及你的 Markdown 博客被转换为静态网页文件后递交到 Github,不需要拥有自己的服务器就可以搭建一个博客网站。虽然静态网站有很多局限性,但这作为博客够用了!这是 Hexo 的官方文档,如果你需要更深入的使用 Hexo 可能需要该官方文档。
Butterfly 是基于 Hexo 的主题,提供了许多相关配置,快速美化你的博客网站。当然使用这类主题使得博客同质化严重。Butterfly 的作者是香港人,这意味着你可以看到中文的官方文档。这是 Butterfly 的官方主页,右下角有简繁体转换按钮,后面的许多配置本文无法一一介绍,需要你自己查阅官方文档。
前置知识
在正式开始你的配置之前,请务必确保你会以下技能:命令行 、 Git 、 Markdown 。后面此博客的所有文章都必须使用 Markdown 书写。 ...
2023 年第十四届蓝桥杯 C/C++ B组省赛题解
前言
这是一篇 2023 年第十四届蓝桥杯省赛 C/C++ B 组题解。本人蒟蒻 ACMer,最近发现时隔两周的蓝桥杯省赛还没有一篇题解,火速补了题来写份题解。最后再顺便写一下心得吧。
A 题:日期统计
这题方法应该很多,没有和别人讨论想法。我的解法思路是:先 load 函数生成所有这一年的合法日期,然后枚举所有可以从数据中拿到的八位日期,检查它是否在合法日期的集合中。
这里枚举到四位,即年份的时候要判断一下,不然可能数据太多要跑很久。
注意要去重!不知道有多少冤大头痛失这 5 分。(原题里特意加粗了不重复)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182// 日期统计#include <bits/stdc++.h>#define int int64_t#define endl '\n'usin ...