随笔分类 - 题解
摘要:## 思路 ### 暴力 比赛的时候想过树链剖分,然后想不出来怎么处理区间合并,再加上树链剖分代码量比较大,我又比较懒,就随手写了个暴力拿了40pts。 思路就是暴力求得 $u$ 到 $v$ 的简单路径,然后暴力枚举模拟一遍。 ### 40pts 代码 ```cpp #include using n
阅读全文
摘要:## 思路与分析 这道题乍一看还挺难的,但是如果把这个序列拆成两半就会容易一些。 首先,讨论一下序列长度 $n$,如果 $n$ 为偶数,就可以对半分开;如果是 $n$ 奇数,就把中间那位单独拿出来,然后再对半分开。  我们发现,当一条线向下穿过的时候,设与中间的线交
阅读全文
摘要:# 题目大意 给出一个有向图,每条边有两个权值,分别代表通过该路径的最小要求 $r_i$,和通过后增加的值 $p_i$。问:从每个点出发,各需要至少多少初始值,才能不停走下去。 # 思路 首先,分析一下,如果设 $f_i$ 为从 $i$ 点出发需要的最少初始值。那么可以轻易的推出转移方程:$f_i=
阅读全文
摘要:~~因为比赛的时候数据比较水,暴力原本能拿满的,但是后面怕T掉,改了个线性筛的,结果有个地方写错了,导致T了,悲痛啊。~~ # 分析 首先我们想到了暴力分别求出 $gcd,lcm$ 和乘积,然后判断是否相等,但是当数列中的数足够大的时候,求 $gcd$ 的时候会超时,而且乘积就算是 ```unsig
阅读全文
摘要:# 思路 首先观察到数据范围很大,所以暴力模拟是不可行的,所以我们思考其他的性质。 显而易见地,$X$ 和 $Y$ 一定都是 $N$ 的倍数,所以最大公因数一定都是 $N$ 的倍数。 那么我们可以先将 $X$ 和 $Y$ 除以一个 $N$,那么剩下的就是 $10 \ldots 010 \ldots
阅读全文
摘要:感觉这道题难点全在计算几何的细节,调了几天qwq。 # 思路 观察到 $p$ 最大也只有 $8$,作为蒟蒻的我第一时间就想到了暴力搜索,每次选一条没算过的边计算加进去的切割线长度。 有了核心思想,我们就要处理细节了,搜索很好写,重点是如何求出切割线。 在这里介绍两种方法: 第一种,我们暴力找到这条边
阅读全文
摘要:# 思路 我们可以先找出所有的可以被删除的点,然后取点权前 $k$ 大的点就好了。 因为图可能存在环,所以我们需要先缩点,考虑缩点后的 DAG,我们可以按照拓扑序倒序删点就好。 再来考虑每个 SCC 如何取点。 我们先把 SCC 分为三种情况: 1. 该 SCC 没有入度,且无自环。 2. 该 SC
阅读全文
摘要:# 题目大意 给定一个带权无向图与距离 $t$,问有多少条从 $1$ 到 $n$ 路径长度为 $T$。 # 思路 ### 从特殊情况出发 先考虑权值只有 $0,1$ 的情况,我们设 $f_t[i][j]=k$ 代表从 $i$ 到 $j$ 经过的路径权值综合为 $t$ 的方案数共 $k$ 种。 那么我
阅读全文