把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: # AT_agc012_c [AGC012C] Tautonym Puzzle ## 题目描述 当字符串 $ x $ 满足以下条件时,称 $ x $ 为*好字符串*。 - 条件:$ x $ 可以表示为某个长度不少于 $ 1 $ 的字符串 $ y $ 重复两次所得的字符串 $ yy $。 例如,`aa`、`bubobubo` 等是好字符串,而空字符串、`a`、`abcabcabc`、`abba` 等都不是好字符串。 “ワシ”与猫头鹰设计了关于好字符串的谜题。请找出一个满足下列条件的字符串 $ s $。在本题的约束条件下,一定存在这样的字符串。 - $ 1\leq |s|\leq 200 $ - $ s $ 仅由用 $ 1 $ 至 $ 100 $ 的整数表示的 $ 100 $ 种字符构成。 - $ s $ 的 $ 2^{|s|} $ 个子序列中,成为好字符串的子序列有 $ N $ 个。 ## 题目分析 这显然是一道构造题目,高质量的构造题目。 我们注意到填什么似乎并不重要,重要的是种类不同。 阅读全文
posted @ 2025-09-25 15:05 high_skyy 阅读(33) 评论(0) 推荐(0)
摘要: # CF520E Pluses everywhere 题目分析 ## 题目概述 给定一个 $n$ 位的十进制数,可以在数字之间加恰好 $k$ 个 `+`,得到一个式子,求每种方案的这个式子的和。 对 $10^9+7$ 取模,数据范围:$1\leq n\leq 10^5$。 ## 分析 有点意思。 不难想到设 $f_{i,j}$ 表示前 $i$ 个数填 $j$ 个加号的方案和,转移是简单的,考虑在不在前面放 `+` 即可。 但是这不是本题的思路。 像这种求所有的全局的方案,一般考虑每一个位置对于总共答案的贡献是多少。 我们考虑从前往后的第 $i$ 个位置,这个数填在当前分割出来的数的从前往后数第 $j$ 位,显然 $j\leq n - i + 1$。 那么对于当前他的数值方面的贡献为 $a_i\times 10^j$ 阅读全文
posted @ 2025-09-23 21:42 high_skyy 阅读(25) 评论(0) 推荐(0)
摘要: 怎么样,很震惊吧,我也是这么认为的。 那么我们更改 $f(a,b)$ 这个值,相当于更改 $g(a,b)$ 的值,又通过更相减损术可以得到其更改 $g(x,y)$ 的值当且仅当 $\gcd(x,y)=\gcd(a,b)$。 通过这个我们发现一个题目的性质,那就是:**我们可以将任意 $f(a,b)$ 的更改以及求贡献都可以算到 $f(\gcd(a,b),\gcd(a,b))$ 中**,在物理中这被光荣地称为**等效替代法**。 阅读全文
posted @ 2025-08-12 22:34 high_skyy 阅读(33) 评论(0) 推荐(0)
摘要: 线性基求第 \(k\) 大,先处理 \(p_i\),表示某一位上为 \(1\),其他数这一位是 \(0\) 的数,然后我们就会考虑选与不选,由于只有一个数这一位上有 \(1\),所以就转换成了二进制选取。 什么时候线段树合并要新建节点?(更为厉害【湖南集训】)很显然,我不新建节点会导致一些线段树上面 阅读全文
posted @ 2025-08-02 15:02 high_skyy 阅读(22) 评论(0) 推荐(0)
摘要: ## 概述 给你一个长度为 $n$ 的排列 $p$,定义集合: $$ S_i=\{x\mid x\geq i\wedge \max_{k\in[i,x-1]}p_k 阅读全文
posted @ 2025-08-01 11:08 high_skyy 阅读(32) 评论(0) 推荐(0)
摘要: ## 题目概述 给你一个排列 $p$,共有 $n$ 个元素,你可以选择两个数 $i,j$,然后将 $p_i$ 移动到位置 $j$,这个过程需要花费 $i+j$ 的代价,问你通过这些操作过后所能使 $p$ 变为降序的最小代价。 ## 思路 变成降序似乎不是我们所擅长的,我们先转化为变成升序,这个是容易的只需要令 $p_i=n-p_i+1$ 即可。 我们先考虑暴力的做法,总结出来一些性质: - 每个数显然只能移动一次,如果移动了两次还不如一步到位。 - 按照从大到小的顺序移动这些数比按照其他顺序移动更好。 因此我们可以得到 $\mathcal{O}(n2^n)$ 的暴力。 阅读全文
posted @ 2025-07-30 12:27 high_skyy 阅读(66) 评论(0) 推荐(0)
摘要: ## 基本算法 ### 求无序数组(不可排序)的前驱和后继(比当前值小) 考虑离线使用 `stack` 来进行维护。 顺序遍历的时候,求的是 $i$ 之前能否到达 $i$,不能就标记数组 `right[sta.top()] = i`,容易证明只是所能到达的最远。 倒序遍历同理。 时间复杂度 $\mathcal{O}(n)$,是一个离线算法(预处理)。 阅读全文
posted @ 2025-04-22 20:26 high_skyy 阅读(30) 评论(0) 推荐(0)
摘要: # CF140E New Year Garland 题目分析 挺不错的动态规划题目。 ## 思路 一看到题目便可以知道每一层和层与层之间是要分开来算的(这种类似的动态规划还有很多)。 我们先看看层与层之间的。 ### 层与层 题目要求:**相邻的两层的小球颜色集合不相同**。 那么区分相邻两层小球颜色集合不同可以通过**数量不同来区分**,然后再进行讨论即可。 根据上述,显然地,设 $f_{i,j}$ 表示已经完成前 $i$ 层,到了第 $i$ 层小球颜色集合的数量为 $j$ 的总方案。 我们先抛开重不重复不谈,那么它的总方案肯定是从前面的那一层转移过来,即 $f_{i-1,k}$,其中 $k\in [1,l_{i-1}]$。 那么是不是就是 $$ f_{i,j}=\sum_{k=1}^{l_{i-1}}f_{i-1,k} $$ 呢?显然不是,这里的 $j$ 是数量,并不是选了什么,因此还要有 $C_m^j$ 来确定选 $j$ 种颜色球的方案(这是对于当前 $i$ 的)。 阅读全文
posted @ 2025-03-11 19:17 high_skyy 阅读(40) 评论(0) 推荐(0)
摘要: 1.浅谈一些数论函数 阅读全文
posted @ 2025-03-02 22:31 high_skyy 阅读(85) 评论(0) 推荐(0)
摘要: 给一个 $1$ 到 $n$ 的排列 $a$,并且给出点权 $x_i$,并定义: $$ LCA\{b\}=lca(lca(\dots(b_1,b_2),\dots),b_m) $$ 其中 $lca(x,y)$ 表示 $x$ 和 $y$ 的最近公共祖先。 并且给出一颗树。 求: $$ ans=\sum_{i=1}^n\sum_{j=i+1}^nx_{LCA_{i\in[i,j]}\{a_i\}} $$ 像这种比较经典的双 sigma 题目,最最最最暴力的解法是 $\mathcal{O}(n^3)$(先不考虑这里求 $LCA$ 的 $\log$)。 于是就很简单地拿到了此题的 $40$ 分。 那么怎么优化到 $\mathcal{O}(n\log n)$ 呢? 我一般的思路是直接上线段树。 我们这颗线段树(显然维护的是 $dfs$ 序区间)维护两个值,一个是 $cnt$ 代表这段区间内有点作为 $lca$ 的总方案,$sum$ 就是加和实际的数量 $\times x_{lca}$,注意到这里只有在有可能作为 $lca$ 的点上相乘,`pushup` 的时候都是加和(这里的思路比较巧妙)。 阅读全文
posted @ 2025-02-11 11:18 high_skyy 阅读(36) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 下一页
动态线条
动态线条end
浏览器标题切换
浏览器标题切换end
💬 加载中……