摘要: [原题链接](https://atcoder.jp/contests/abc295/tasks/abc295_d) # 题意简述 给定一个长度不超过$\;5\times 10^5\;$的,仅有数字构成的字符串,问存在多少段子串,使得子串内字符重新排序后,前半段与后半段相同? # 做法分析 重组后前后 阅读全文
posted @ 2023-03-26 14:20 six_one 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 原题链接 链表 + 并查集乱搞做法: 思路 首先可以发现,想要让度数尽量大,那我们应该构造成菊花图,即下图所示: 对于每个需求,我们可以知道,如果之前他们没有连在一起,那我们一定得把他们连在一起,该过程使用并查集维护。 如果他们已经连接了,实际上我们就多出来一条“自由边”。 对于自由边,如何进行利用 阅读全文
posted @ 2023-02-25 21:00 six_one 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目类型总结 最近在阅读《算法竞赛进阶指南》这本书的链表这一节时,学会了链表在一类特定问题中的巧妙用法,遂有此文,也算是自己的一个学习笔记。 考虑这样一类问题,一个长度为$n$的序列,有$q$询问,询问序列前任意个数的一个结果,该结果可通过暴力排序后直接判断,但是这种方法显然很暴力,很容易达到$O( 阅读全文
posted @ 2023-02-22 19:55 six_one 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 比赛链接 ·A题 题目描述 给定一个整数$x$,请你找到严格大于$x$且各位数字均不相同的最小整数$y$。 $1000 \le x \le 9000$ 做法分析 发现数据范围很小,那么我们可以直接从$x+1$进行枚举,同时使用一个 check 函数检查是否满足条件。 代码 #include <bit 阅读全文
posted @ 2023-01-31 23:14 six_one 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题意描述 构造一个$1$到$n$的排列,使得其中正好有$k$个二元组$(i, j)$满足,$1\le i\lt j\le n$ && $a_i - a_j = 2^x(x\in N)$ $(1\le n \le 10^6, 1\le k \le 10^9)$ 做法分析 首先我们可以发现,每 阅读全文
posted @ 2023-01-09 16:35 six_one 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题意描述 一共有两堆石子,第一堆有 $a$ 个,第二堆有 $b$ 个,牛牛和牛妹轮流取石子,牛牛先手,每次取石子的时候只能从以下 $2$ 种方案种挑一种来取(对于选择的方案数必须保证当前石子 $\ge$ 取的石子个数才能取): 第一堆取 $1$ 个,第二堆取 $2$ 个 第一堆取 $2$ 阅读全文
posted @ 2023-01-07 12:41 six_one 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意描述 这一题的意思其实就是,让你构造一个$n * k$的矩阵,使得第 i 列的总和为 i ,同时使得:每一列的任意两个数之间的差不大于1,且任意两行之间的总和差不大于1。 $1 \le n * k \le 10^6$ 观察样例: 输入: 5 5 输出: 0 0 1 1 1 0 0 1 阅读全文
posted @ 2023-01-01 16:43 six_one 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 洛谷 P8897 AcWing 4821 题目描述 有$n$头奶牛,每头奶牛愿意交的最大学费为$c_i$,问如何设置学费,可以使赚到的钱最多。 $1\le n\le 10^5,1\le c_i \le 10^6$ 做法分析 首先看数据范围,猜下正解时间复杂度可能是$O(n \log n)$。 对于任 阅读全文
posted @ 2023-01-01 15:06 six_one 阅读(86) 评论(0) 推荐(0) 编辑
摘要: (2022-12-28 ) AcWing 1106 洛谷 P3456 题目大意 找出一个图中所有大于(或小于)周围相邻的非连通块点的所有连通块个数。 就是说,对于一个连通块: 如果它周围的点都低于它,那么山峰数量 +1; 如果它周围的点都高于它,那么山谷数量 +1。 做法 直接dfs,不是很喜欢用b 阅读全文
posted @ 2023-01-01 15:05 six_one 阅读(19) 评论(0) 推荐(0) 编辑
摘要: (2022,12,3) 原题链接(来自牛客竞赛) 抽象题意 题目有点长,我们需要抽象出一个模型: 一个长度为$n$的序列$a_i$,从$a_1$开始向后跳,每次可以从$a_i$跳到下一位$a_{i+1}$,或者跳到与$a_i$相同数字的任何一位。求跳到最后一位$a_n$所需的最小次数。 思路 为了方 阅读全文
posted @ 2023-01-01 15:04 six_one 阅读(63) 评论(0) 推荐(0) 编辑