上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: "Link" 题目大意:求给定一个区间内满足每一位的数相差大于$2$且没有前导零的数的个数。 $\text{Solution:}$ 我们可以按照数位$dp$.设状态为当前要$dp$第$pos$位,上一位填的是$pre,$当前是不是顶到最大值$(fg)$,当前是不是有前导零。 那么我们可以获得一个转移 阅读全文
posted @ 2020-04-16 19:29 Refined_heart 阅读(94) 评论(0) 推荐(0) 编辑
摘要: "Link" 单调队列板子。 题目大意:一个点可以由距离它不超过$k$的点跳过来,如果那个点比它高就不需要花费体力,否则花费$1$的体力。问走到$n$的最小体力,多组询问。 显然的转移方程,设计$dp_i$表示跳到$i$的最小体力,枚举$i k \to i 1$转移即可。 这东西显然$O(n)$,复 阅读全文
posted @ 2020-04-15 21:19 Refined_heart 阅读(140) 评论(0) 推荐(0) 编辑
摘要: "Question" 题目大意:要求一个$m,$使得对于任意$i,j,C_i+xP_i≡C_j+xP_j\mod m$无解。 $n using namespace std; inline int Exgcd(int a,int b,int &x,int &y){ if(!b){x=1,y=0;ret 阅读全文
posted @ 2020-04-13 14:54 Refined_heart 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 用于求解形如$a^x≡b\mod p$的最小非负整数解$x$. 由欧拉定理$a^{\phi(p)}≡1\mod p$可以知道,我们找的解如果有解则一定在$\phi(p)$范围内,而最大的范围就是当$p$为质数时,等于$p 1$. 一种暴力方法是枚举指数验证。由于$gcd(a,p)=1$.则$a$在$ 阅读全文
posted @ 2020-04-12 19:09 Refined_heart 阅读(119) 评论(0) 推荐(0) 编辑
摘要: "Question" 反思一下没有想出来……思维固化了…… 设$dp[i][j][0/1]$表示区间$\text{[i,j]}$全部关灯,且停止在$(i 0,j 1)$位置的最小花费。 那么,$dp[i][j][0]$由$dp[i+1][j][0/1]$转移,$dp[i][j][1]$由$dp[i] 阅读全文
posted @ 2020-04-02 22:40 Refined_heart 阅读(173) 评论(0) 推荐(1) 编辑
摘要: "$Question$" 题目大意:边权版本树形$dp$,求保留$Q$条边,使得其边权和最大。当然,必须联通。(要不就不是$dp$了) 那考虑设计$dp[i][j]$表示第$i$个节点,选择$j$条边的最佳方案。 写出方程为: $$dp[i][j]=\max_{v\in son[i]}dp[i][j 阅读全文
posted @ 2020-03-30 22:12 Refined_heart 阅读(113) 评论(0) 推荐(0) 编辑
摘要: "$Question$" 题目大意:给一颗有边权有点权的树,点权为正,边权为负,求出一个连通块,使得其块内权值之和非负,且包含叶子数最多。(点权只在叶子上) 设计$dp_{i,j}$表示第$i$个点,选择$j$个叶子的最大权值。 那么,枚举每一个点,及其子节点,当递归到底时,$dp[i][1]=v[ 阅读全文
posted @ 2020-03-30 22:08 Refined_heart 阅读(107) 评论(0) 推荐(0) 编辑
摘要: "Question" 题目大意:每个点不是黑点就是白点,求以每一个点为根时,选择出一个联通块,使得白点数与黑点数之差最大(白减黑)。 $Solution$ 考虑先跑一遍$dp$. 可以写出一个比较显然的方程:$dp_i=val_i+\sum_{j\in son[i]}max(0,dp_j),val_ 阅读全文
posted @ 2020-03-29 16:18 Refined_heart 阅读(140) 评论(0) 推荐(0) 编辑
摘要: "$Question$" 题目大意:给一个颜色序列,待修改,求区间颜色段数。 $Solution$ 考虑线段树合并。 对于每一个颜色建一个线段树,维护每个颜色出现的位置。同时维护区间的颜色段数,以及最左端、最右端的颜色位置。 于是,对于合并颜色$x,y$.,·将它们对应线段树合并即可。合并时,当一树 阅读全文
posted @ 2020-03-28 14:00 Refined_heart 阅读(165) 评论(0) 推荐(0) 编辑
摘要: "$Question$" 题目大意:给$n$个点及其权值,每次并两个点,会形成一些联通块,求一个点所在联通块的权值第$k$小的点的编号。 读起来比较绕口,但实质就那么几个:插入,合并,求第$K$小。 我们可以想到用线段树合并。而维护连通性,可以用那个代码量小,短小精悍的数据结构:并查集。 具体来说, 阅读全文
posted @ 2020-03-24 21:15 Refined_heart 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 模拟退火,很有力的一个偏分武器。 对于一类搜索,或者是有明确答案空间的题目,且不会写正解,爆搜过不去,剪枝减不了的时候,我们可以考虑用模拟退火偏分。 模拟退火模拟的是一个物理过程,即一个物体由高温逐步降温的过程。也可以理解为,在我们寻找答案的过程中,答案所存在的范围越来越小,以此类比降温。 也就是说 阅读全文
posted @ 2020-03-18 22:47 Refined_heart 阅读(203) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题目大意:有一颗树,有点权,每次询问:一条路径$x y$中与$z$异或的最大值,或是以$x$为根的子树中与$y$异或的最大值。 树剖……还是算了。 观察到,子树的$dfn$序是连续的一段区间。于是我们可以预处理$dfs$序来解决这个问题。 第二问,我们可以求两点的最近公共祖先,做一个树 阅读全文
posted @ 2020-03-14 20:47 Refined_heart 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 求序列通项公式的一个方法。 二阶齐次线性递推式: 考虑一个序列$a_n=Aa_{n 1}+Ba_{n 2}$的通项公式。 设$x,y$则有: $a_n xa_{n 1}=y(a_{n 1} xa_{n 2})$ 意义就是构造一个等比数列。 继续推: $a_n=(x+y)a_{n 1} xya_{n 阅读全文
posted @ 2020-03-13 22:04 Refined_heart 阅读(593) 评论(0) 推荐(0) 编辑
摘要: ~~谁知道一个学了快两年oi的菜鸡现在才学对拍……还不是因为之前比赛没写对拍死的太惨了~~ $Windows$下比较常用的是$\text{.bat}$形式的对拍程序。码量比较少,但是需要写文件读入读出。 当程序$\text{error}$的时候,不会突出显示。所以时不时要看一眼。出错的数据也不会输出 阅读全文
posted @ 2020-03-09 20:16 Refined_heart 阅读(180) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题目大意:给定一个集合$S$,给一个限制条件$P$,要求划分集合,使得每一个子集$A\in S$,$A$满足限制条件$P$,且划分总数最小。 注意到数据范围$n using namespace std; //设计g[i]表示状态为i的背包最大容量 //f[i]表示状态为i的最小划分数 阅读全文
posted @ 2020-03-05 20:59 Refined_heart 阅读(207) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题目大意:给定一张图(四联通),求图上从$A$点走完所有$key$点的最短路径, 输出字典序最小的路径 。 这里用一个小$trick$:求出所有关键点两两之间的距离,就可以把图给扔了。 考虑到$key$点的数量很少,考虑一波状压。 设计状态$dp[i][j]$表示当前点在$j$,状态为 阅读全文
posted @ 2020-03-03 19:04 Refined_heart 阅读(232) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题目大意:给定序列迭代规则,求一段的序列和。特点是要求的序列很长。 Solution 观察到,由于是求和,我们可以想到前缀和的思想。也就是说,对于求$\sum_{i=m}^n a_i$,我们只需要求$\sum_{i=1}^{m 1}a_i$和$\sum_{i=1}^n a_i$,然后做 阅读全文
posted @ 2020-02-23 19:17 Refined_heart 阅读(219) 评论(0) 推荐(0) 编辑
摘要: "题目链接" Solution 考虑构造生成函数,然后相乘。 对于第一个:都是$6$的倍数,构造: $$1+x^6+x^{12}+x^{18}+...$$ 形式化地: $$F_1(x)=\sum_{i=0}^{\infty}x^{6i}$$ 考虑一波无限等比数列求和公式(因为不考虑$x$取值,故不必 阅读全文
posted @ 2020-02-14 20:17 Refined_heart 阅读(121) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意如题,维护一个动态序列的逆序对总数。 注意题目给的是$[1,n]$的排列,所以没必要离散化了。 考虑逆序对:二维偏序可以用树状数组做,现在是三维偏序,即加了一个时间维度。 找一个数前面大于它的数和后面小于它的数,可以想到主席树做。 考虑修改操作,普通主席树的修改是不好做的,在静态前 阅读全文
posted @ 2020-02-13 11:03 Refined_heart 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 话说主席树还没写就先写这一篇了$qwq$ 回顾一下主席树的实现过程:类似查分思想,将线段树的每次修改看做函数式以支持可持久化。因为这样的线段树是可减的。 那么我们维护信息的时候,就要维护每一次新形成的信息。但是我们可以根据前一个信息的基础上进行改动,而不必要去再建一棵树。 所以总而言之,是前缀和的思 阅读全文
posted @ 2020-02-11 10:57 Refined_heart 阅读(270) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页