这名用户暂未设置签名。
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
## 思路 将函数转化为 $f(A_i,A_j)\bmod M=(A_i\times 10^{d}+A_j) \bmod M=0$ 其中 $d=\lfloor\log_{10}A_j\rfloor +1$。 暴力枚举 $i,j$ 会超时。 进一步转化 $(A_i\times 10^{d}\bmod M+A_j\bmod…
## 题目大意 有无限颗糖果一个小糖果重量为 $X$,一个大糖果重量为 $Y$。要求给每个小孩都分个大糖果和小糖果使数量之和等于 $A_i$ 且质量之和都相等。 ## 分析 令第 $i$ 个小孩拿到的大糖果数量为 $B_i$,则小糖果数量为 $A_i-B_i$,每人拿糖果的质量之和为 $W$。可得 $X\times(A…
在文章《题解:P1597 语句解析》发表评论:
@CCNB 你看看你的逻辑。
```cpp #include #define ll long long using namespace std; const int N=2e5+5; int n,l,r,ans,vis[N],k,cnt=1,sum; struct node{ int l,r; }a[N]; char c; void cut(int…
在讨论《申请撤下 18 篇题解 & 添加 Hack 数据》回复:
@[Besheep](luogu://user/1186526) 感谢已增加对孤立顶点的判断。
## 解题思路 考虑从顶点 $a$ 出发遍历所有不经过顶点 $b$ 能到达的顶点将其染色。再考虑从顶点 $b$ 出发遍历所有不经过顶点 $a$ 能到达的顶点将其染色。那么所有的顶点会出现三种情况。 一、仅被 $a$ 染色。 二、仅被 $b$ 染色。 三、被 $a$ 和 $b$ 同时染色。 这里只需要考虑从仅被 $a$…
## 解题思路 考虑变量和数字都是一位的,可以将字符串分成五个字符一段。每一段中只有第一个字符和第四个字符是有效信息,故只需要处理这两个字符即可。 用 `map mp` 维护变量存储的信息。如果每段的第四个字符是数字直接建立变量与数字的映射。如果是变量则建立变量与第四个字符对应映射的映射。 ## 代码实现 ```cpp…
## 题目大意 给定一个 $r\times c$ 的网格。分别从左往右从上往下填上 $1$ 至 $m$ 的循环数列,问从第一行开始每次可以走左下,正下,右下,走到最后一行的最小值。 ## 解题思路 考虑DP。 #### 定义状态 用 $f(i,j)$ 表示从第一行走到第 $i$ 行第 $j$ 列经过路径的最小值。 ##…
## 解题思路 考虑 $L\lt S\lt R$ 因此起点必然在两个点中间。观察规律可以转化为两个人分别从起点往左和往右轮流各走一步,判断两个小人的其中一个走到目标点的最少步数和。由于向右的小人先走,故如果起点到右目标点的距离等于左目标点距离时,右边先到。直接计算即可。效率为 $O(T)$。 ## 代码实现 ```cp…
## 解题思路 显然直接算数字很大,考虑到阶乘很大时,后面 $9$ 位全是 $0$,因此可以写个简单的程序看看大概多少的阶乘末尾 $9$ 位都是 $0$。结果大概 $30$ 至 $50$ 之间。非常的小。直接模拟边算边模即可。 ## 代码实现 ```cpp #include using namespace std; l…
## 题目大意 给出一串插入和删除序列,可以任意打乱序列,计算使得插入和删除执行完成后的结果相同的方案总数,结果对 $10^9+7$ 取模。 ## 解题思路 考虑有 $m$ 对二元组 $[I_1,D_1][I_2,D_2]\dots[I_m,D_m]$。问题可以转换为将 $m$ 对二元组全排列并且保证每一对二元组都存在…
## 解题思路 看到求最大值最小,考虑二分答案。 切割次数越多,则最长的木棍长度可以越短,具备单调性。二分答案的思路可行。 因此二分最长木棍的长度 $d$,验证时对于原第 $i$ 根长度为 $l_i$ 的木棍,需要切割的次数为 $\Large\frac{l_i}{d}$,但是若 $d\mid l_i$ 说明 $d$ 能…
## 解题思路 找规律,发现第 $n$ 个图形比第 $n-1$ 个图形会多 $$7 \times (n - 1) - ((n - 1) \times 2 - 1)$$ 第 $n$ 个图形外圈每条边 $(n-1)$ 个小球,上方去掉 $(2\times(n-1)-1)$ 个灰色小球。 循环迭代算出第 $20240601$…
在文章《题解: 原根判断》发表评论:
被单调队列了
## 题目大意 编号为 $1-n$ 的人手里都有一个数,找到数是唯一且最大的那个人的编号。 ## 解题思路 映射一下数出现的个数,然后遍历找到唯一的数,再遍历人找到人的编号。 ## 代码实现 ```C++ #include using namespace std; map mp; int n, a[300005], a…
## 题目大意 给定 $1$ 至 $n$ 的两种排列,求两种排列下的最长公共子序列的长度。 ## 解题思路 本题乍看是最长公共子序列的模板,但是数据范围会超空间和时间。再看题目给定的序列是 $1$ 至 $n$ 的排列,即在序列一中存在的元素必然在序列二中存在。 分析问题发现如果我们对序列一中的第 $i$ 个数 $a_i…
## 题目大意 给定一个 $H\times W$ 的空白方格,从中选出 $n$ 个点附上 $1$ 的价值。问从 $(1,1)$ 走到 $(H,W)$ 只能向下和向右前行,所能获得的最大价值,并输出路径。 ## 解题思路 #### 部分分思路 很容易想到坐标动态规划,然后用数组记录每次决策的转移方向。但是 $H$ 和 $…
## 题目大意 将一串长度为 $n$ 的数字字符串,分成 $k+1$ 个整数,使这 $k+1$ 个整数的乘积最大。 本题是划分型动态规划的经典例题。 划分型动态规划通常是将 $n$ 个元素划分为无限组或有限组同时计算分成若干组的最优解或方案数等问题。 状态定义一般为 $f(i,j)$ 表示把前 $i$ 个元素分为 $j…
## 解题思路 对于十进制数,取模 $10$ 可获得当前数的个位,整除 $10$ 可去掉当前数的个位,要获取当前数的每一位可以循环取个位,去个位,直到这个数被拆分为 $0$。因此观察数据范围后只需要枚举区间 $[1,n]$ 内的所有数进行拆分并统计 $x$ 的个数即可,时间复杂度为 $O(n\log n)$。 如果数据…
## 题目大意 给 $n$ 个格子,每个格子上都有一定的分数。再给 $m$ 张数值为 $1$ 到 $4$ 的卡片,卡片上的数值代表前进的步数,每张卡片只能用一次。每到达一个格子就可以拿走该分数,问所有卡片用光时能够获得的最大分数。 ## 解题思路 一眼动态规划,上动态规划**六步分析法**。 ### 一、定义问题状态…
## 解题思路 本题用二维数组模拟的话会超空间,因为给的坐标范围为 $10^5$ 开二维数组使用的内存远大于题目给的内存限制 $125MB$。 考虑直接判断点是否在地毯内即可,求的是最上面的地毯逆序遍历,遇到第一个就退出。 ## 代码实现 ```cpp #include using namespace std; con…
## 解题思路 对于十进制数,取模 $10$ 可获得当前数的个位,整除 $10$ 可去掉当前数的个位,要获取当前数的每一位可以循环取个位,去个位,直到这个数被拆分为 $0$。因此观察数据范围后只需要枚举区间 $[L,R]$ 内的所有数进行拆分并统计即可,时间复杂度为 $O(n\log n)$。 ## 代码实现 ```c…
## 解题思路 记录每个水龙头放水的时间,由于接水的顺序是固定的故只能依次去接水。让第 $i$ 个接水的人选择放水时间最小的水龙头。对于 $n$ 个人每次从 $m$ 个水龙头中获取放水时间最小的水龙头时可以选择用快速排序 $O(m\log m)$,打擂法 $O(m)$ 或堆 $O(\log m)$ 。选出最小时间并累加…
$2025$ 年 $10$ 月 $1$ 日 增加了对孤立顶点的判断。 ## 题目大意 给定一个无向图,图中每个顶点都可以生产邻接点上一个阶段的零件。给点 $q$ 次询问,第 $i$ 次询问顶点 $a_i$ 生产 $L$ 阶段的零件时顶点 $1$ 是否能够提供原材料。 ## 解题思路 可以将问题转化为从顶点 $1$ 出发…
在文章《P11385 [POI 2024/2025 R1] Walki robotów 题解》发表评论:
ORZ
在讨论《一模一样的题解。。。》回复:
@chen_zhe 来个管理员看看呢。
在讨论《没有很好的思路,求解释。》回复:
这个思路0分。。