随笔分类 -  题解

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页
摘要:##传送门 ##解题思路 比较巧的一道题。 把$y−x=z−y$化简一下得$x+z=2y$,这要求x和z一定要同为奇数或偶数。 所以很明显我们首先要对他们分类: 按照奇数偶数点 按照颜色 这样就化成了若干个集合,而我们需要快速求出每个集合对答案的贡献。 把数学式子列一下: \(\sum_{i=1}^ 阅读全文
posted @ 2021-07-13 17:33 尹昱钦 阅读(306) 评论(1) 推荐(1)
摘要:##传送门 ##解题思路 仔细阅读题目,发现按照顺序插入每一个节点,且按照二叉搜索树的规则。 于是满足这两个条件其实就是笛卡尔树。 但是注意这里的x是读入的数,y是读入的数的下标。 构建完笛卡尔树后,其先序遍历的x值就是最终的ans。 (按照样例画个图就很显然了) ##AC代码 #include<i 阅读全文
posted @ 2021-07-11 22:52 尹昱钦 阅读(124) 评论(0) 推荐(0)
摘要:##传送门 ##前置知识 单调栈 ##笛卡尔树 ###定义 每个节点都由一个键值二元组构成(x,y)。 要求构建一棵树,满足: x上是一个二叉搜索树(左儿子<根<右儿子) y上是一个小根堆 ###构建过程 于是我们可以按照x值从小到大将节点加入笛卡尔树中。 新加入的点now一定要放在某个节点的右儿子 阅读全文
posted @ 2021-07-11 09:51 尹昱钦 阅读(221) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 发现某谷有单调栈板子了,就在这里贴一份代码吧。 单调栈讲解 ##AC代码 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<alg 阅读全文
posted @ 2021-07-11 08:42 尹昱钦 阅读(172) 评论(0) 推荐(0)
摘要:##CF传送门 ##洛谷传送门 ##解题思路 注意每个叶子节点的修改是独立的,不会对后面造成影响。 所以我们先从根遍历一边,O(n)求出不改变之前根节点的取值。 然后再从根遍历一遍,求出每个儿子变化会不会对根节点造成影响: AND:若另一个儿子是0,则无影响,否则有影响 OR:若另一个儿子是1,则无 阅读全文
posted @ 2021-07-07 20:58 尹昱钦 阅读(45) 评论(0) 推荐(0)
摘要:##CF传送门 ##洛谷传送门 ##解题思路 考虑什么情况数字 \(i\) 会出现在所有连续子数列的 \(mex\) 值中: 当且仅当两个 \(i\) 之间包含了 \(1\to (i-1)\) 的全部数字。 假设我们已经判断出两个 \(i\) 之间包含了 \(1\to (i-1)\) 的全部数字,这 阅读全文
posted @ 2021-06-23 12:02 尹昱钦 阅读(44) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 令 \(dp[i][j]\) 表示从 \(1\) 号点到 \(i\) 号点的长度比最短路多 \(j\) 的路径的条数。 则答案为: \(ans=\sum_{i=0}^{k}dp[n][i]\) 从 \(n\) 开始在反图上进行转移,转移方程为: \(dp[u][k]=\su 阅读全文
posted @ 2021-06-20 16:38 尹昱钦 阅读(64) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 在 \(O(n)\) 内求出 \(n\) 个数的逆元: 令 \(S=\sum_{i=1}^{n}a[i]\), 则 \(a[i]^{-1}=\frac{S/a[i]}{S}=S_1[i-1]*S_2[n-i]*S^{-1}\)。 其中 \(S_1\) 为 \(a[i]\) 阅读全文
posted @ 2021-06-20 11:32 尹昱钦 阅读(68) 评论(0) 推荐(0)
摘要:##传送门 不得不说这题细节很恶心。 ##解题思路 二分最小时间x: 首先很显然的贪心是,每个节点的军队在时间x内一定要尽可能向上走,并且如果某个子树如果去支援别的子树,一定到的是子树的根节点(即根的儿子)。 所以我们可以用倍增判断在时间x内每个军队能到达的位置,把能到达根节点的并且还有剩余时间的拿 阅读全文
posted @ 2021-06-20 08:51 尹昱钦 阅读(61) 评论(0) 推荐(0)
摘要:##传送门 比较综合的一道题。 ##解题思路 求把一条边变为0后这m条路径中的最短值,最大值最小,可以二分求解。 如何check某个答案x是否合法? 实质就是判断能否找到一条边,使得大于x的路径都经过这条边,并且减去这条边边权后路径长度都小于等于x。 于是我们先预处理出要求的路径的原长度(倍增求LC 阅读全文
posted @ 2021-06-20 08:23 尹昱钦 阅读(85) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 我才不是因为题目变蓝题了才做的呢 看一眼数据范围,普通期望dp(dp[n][m])比较容易想,但是只有卑微的25分。 发现 \(n\leq10^{14}\),所以我们可以大胆推测做法只与m有关。 于是我们就从m入手思考这道问题。 设 \(f(n,m)\) 表示杀死n个带护盾 阅读全文
posted @ 2021-06-20 07:46 尹昱钦 阅读(118) 评论(0) 推荐(0)
摘要:##传送门 ##nim博弈 很典型的一种博弈。 我们考虑每堆石子的异或和。 若异或和为0,则必败,若非零,则必胜。 因为我们每一步都可以从一个异或和非零的状态转移到异或和为0的状态。 而最终每堆都是零时,异或和恰好为0(必败)。 如何证明? 考虑异或的性质,把数量最多的那一堆石子 \(k\) 单独拿 阅读全文
posted @ 2021-06-13 21:46 尹昱钦 阅读(92) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 很妙的一道题。 首先若是选项数都相同,则同等于lc的随机写答案。 所以影响答案的就是前后的选项数。 分情况讨论: 若 \(a[i]==a[i+1]\),则 \(ans+=\frac{1}{a[i]}\) 若 \(a[i]> a[i+1]\),则选择的选项在 \(a[i+1] 阅读全文
posted @ 2021-06-13 20:54 尹昱钦 阅读(41) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 设置状态(x--你在这里--y)表示所处的点两边的边权分别为x和y 考虑终止状态(0--你在这里--0)能由什么状态转移过来: (k--你在这里--x 0)经过边x并把边x的边权设置为0 -->必胜 (貌似就一种) 很显然每次都会选择使经过的边权为0(否则先手等于把先手权交 阅读全文
posted @ 2021-06-13 14:14 尹昱钦 阅读(122) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 首先答案很显然: \(ans=\sum_{i=1}^{n}(p[i]\times to[i])\) 其中 \(p[i]\) 表示到点 \(i\) 的概率,\(to[i]\) 表示 \(i\) 的出边的边权和。 \(to[i]\) 可以预处理得到,而 \(p[i]\) 可以在 阅读全文
posted @ 2021-06-12 16:58 尹昱钦 阅读(51) 评论(0) 推荐(0)
摘要:##传送门 ##拓展中国剩余定理EXCRT 早知道有这东西就不学CRT了呜呜呜~~(ljCRT)~~ 这个比CRT范围更广更快更好写…… 虽然我写挂了,并且调了两天四五个小时 还是这一堆式子: $$\begin x\equiv b_1\pmod \ x\equiv b_2\pmod \ x\equi 阅读全文
posted @ 2021-06-11 22:58 尹昱钦 阅读(68) 评论(0) 推荐(0)
摘要:传送门 中国剩余定理(CRT) 我的第一反应是小学奥数题——韩信点兵。 转化成数学语言,就是给你 \(n\) 个关于 \(x\) 的同余方程(保证 \(a_i\) 互质),求最小整数解。 $$\begin x\equiv b_1\pmod \ x\equiv b_2\pmod \ x\equiv b 阅读全文
posted @ 2021-06-10 00:11 尹昱钦 阅读(144) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 其实很简单,先考虑什么时候无解: 当分母b是模数p的倍数时。 当b不是p的倍数时,又因为p是个大质数,所以可以直接费马小定理求逆元。 但是a和b很大,所以我们可以先把a和b取模,然后求a乘上b的逆元就行了。 \(ans=a\times b^{-1}\pmod p\) 高精度 阅读全文
posted @ 2021-06-04 18:56 尹昱钦 阅读(270) 评论(0) 推荐(0)
摘要:##传送门 ##解题思路 ####裴蜀定理 首先第一个字读\(p\acute{e}i\) 对于一个方程$ax+by=c$ 有整数解的条件是$\gcd(a,b)|c$ 证明如下: \(\because\gcd(a,b)|a\quad\gcd(a,b)|b\) \(\therefore\gcd(a,b) 阅读全文
posted @ 2021-06-04 00:25 尹昱钦 阅读(125) 评论(0) 推荐(1)
摘要:##传送门 ##解题思路 板子没啥好讲的。 就是要注意以下几点: 进位时条件是 \(\geqslant10\) 而不是 \(>10\) 。 string中的某个位置若没有初始化,会炸,所以要在读入的字符串最后加上0。 ##AC代码 #include<iostream> #include<cstdio 阅读全文
posted @ 2021-06-03 23:53 尹昱钦 阅读(211) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页