07 2019 档案
摘要:(题面来自luogu) 题目描述 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K 输入格式 N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 接下来是k N(n<=40
阅读全文
摘要:(题面来自ACwing) 汉诺塔问题,条件如下: 1、这里有A、B、C和D四座塔。 2、这里有n个圆盘,n的数量是恒定的。 3、每个圆盘的尺寸都不相同。 4、所有的圆盘在开始时都堆叠在塔A上,且圆盘尺寸从塔顶到塔底逐渐增大。 5、我们需要将所有的圆盘都从塔A转移到塔D上。 6、每次可以移动一个圆盘,
阅读全文
摘要:(题面来自luogu) 题目描述 输入两个正整数a和b,求a^b的所有因子之和。结果太大,只要输出它对9901的余数。 输入两个正整数a和b,求a^b的所有因子之和。结果太大,只要输出它对9901的余数。 输入格式 仅一行,为两个正整数a和b(0≤a,b≤50000000)。 仅一行,为两个正整数a
阅读全文
摘要:(题面来自ACwing) 你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关
阅读全文
摘要:这是算法进阶上的三个例子。 一、指数型枚举 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各
阅读全文
摘要:题意:给出一张含有n(n<20)个点的完全图,求从0号节点到第n-1号节点的最短Hamilton路径。Hamilton路径是指不重不漏地经过每一个点的路径。 算法进阶上的一道状压例题,复杂度为O(n^2 * 2^n),还是蛮恐怖的。 设f[i][j]表示当前经过状态为i,且当前在点j所花费的最小代价
阅读全文
摘要:题目大意:给定两数a,b和模数p,求a*b mod p的值。 解法一:迭代累加法 用类似于快速幂的思想,我们把a*b看作b个a相加,每次将各项两两合并,然后令b除以2。特判b不是2的倍数时把单独的一项累积到答案上。复杂度为对数级别。 代码: 解法二:转化原式后O(1)求解 这个方法我想了好久才明白…
阅读全文
摘要:为期两周的集训于七月二十日晚结束,本来想要今天完成的游记才开了个头,能参考的只有一些散乱的日志。简要回顾所录后,主要从两个方面对半个月来的学习经历进行总结。 I 学习到了什么: 1、各种NB的新算法和数据结构。尤其是在D班受打击以后激发了学习数据结构的决心,之后抽时间学习了很多课上提到的知识,包括树
阅读全文
摘要:(题面不是来自Luogu) 题目描述 有一个大小为n且以1为根的树,树上每个点都有对应的颜色ci。现给出m次询问v, k,问以v为根的子树中有多少种颜色至少出现了k次。 输入格式 第一行两个数n,m表示树的大小以及询问的次数。 第二行n个数表示树上每个结点的颜色。 接下来的n-1行,每行两个数a,
阅读全文
摘要:(这题在洛谷主站居然搜不到……还是在百度上偶然看到的) 题目描述 给一棵根为1的树,每次询问子树颜色种类数 输入输出格式 输入格式: 第一行一个整数n,表示树的结点数 接下来n-1行,每行一条边 接下来一行n个数,表示每个结点的颜色c[i] 接下来一个数m,表示询问数 接下来m行表示询问的子树 输出
阅读全文
摘要:(题面来自luogu) 题意翻译 你有一棵以1为根的有根树,有n个点,每个节点初始有一个颜色c[i]。 有两种操作: 1 v c 将以v为根的子树中所有点颜色更改为c 2 v 查询以v为根的子树中的节点有多少种不同的颜色 翻译贡献者UID:28455 n、m <= 4e5,ci <= 60。 今天唯
阅读全文
摘要:T3还没有打出来,就先放两道。 T1:密码破译 温温手下的情报部门截获了一封加密信息,这个信息可以用长度为n的由小写字母构成的一个字符串表示。为了破译这个重要情报,温温决定亲自出马。 通过不懈研究,温温推测出了这封密文是怎样被构造出来的。 首先选择一个长度大于4的“根”字符串,然后在“根”字符串之后
阅读全文
摘要:T1题面: 输入点数为N一棵树 求树上长度恰好为K的路径个数 (n < 1e5, k < 500) 这是今天的考试题,也是一道假的紫题,因为我一个根本不会dp的蒟蒻只知道状态就一遍A掉了……(然后我当时不会……emm) 考虑f[i][j]表示点i为根的子树中深度为j的点的个数,初始设置f[i][0]
阅读全文
摘要:(7.17)早就想学点分治了……今天状态不太在线,眯一会写篇笔记来理理思路。 (静态)点分治是一种利用无根树性质暴力分治的思想,可以在O(nlogn)的复杂度下统计可带权树上的路径信息。 像是这道例题,多组询问是否存在长度为k的路径,需要我们预处理出一个储存所有路径长度信息的桶。 点分治的做法,就是
阅读全文
摘要:(题面来自luogu) 题意翻译 题意 一个9层的楼有一个可以容纳4个人的电梯,你要管理这个电梯。 现在各层楼上有一些在排队的人,你知道他们在哪层要到哪层去。你也知道到电梯门口的顺序。根据公司的规定,如果一个人比其他人早到。他也必须先进电梯(无论楼层,只凭时间)。注意人们可以随时离开电梯。 电梯有两
阅读全文
摘要:以下是从中文翻译成人话的题面: 给定一个长度小于等于500的序列,每个数字代表一个颜色,每次可以消掉一个回文串,问最多消几次可以消完? (7.16) 这个题从洛谷pend回来以后显示有103个测试点(满屏的AC好爽…… 上午考试的时候这个题直接用马拉车暴力贪心骗了十五分。然而每次消掉一个最长的回文串
阅读全文
摘要:(7.16晚)更完先在B站颓一会儿…… (以下为luogu题面) 题目描述 给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求∑(l≤i
阅读全文
摘要:(题面摘自luogu) 题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的
阅读全文
摘要:(以下是luogu题面) 题目描述 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 输入输出格式 输入格式: 第一行两个整数N,M。 第二行
阅读全文
摘要:(7.15)康托展开,就是把全排列转化为唯一对应自然数的算法。它可以建立1 ~ n的全排列与[1, n!]之间的自然数的双向映射。 1、康托展开: 尽管我并不清楚康托展开的原理何在,这个算法的过程还是比较好记的。正确性之后有机会询问下学长。 如果从1开始给全排列的排名从大到小编号的话(从0开始也可,
阅读全文
摘要:浙江集训Day9,没有出任何实质性成果,只好把昨天打完的板子记一下。 该博客基于luogu的三道模版题。只有一个大致的讲解,主要提供代码给自己参考。 (7.14) 一、AC自动机 AC自动机,一个有着令人容易误会的名字的有限状态自动机结构,主要被应用在多模式串的文本匹配问题中。理解AC自动机,首先要
阅读全文
摘要:浙江集训Day4,从早8:00懵B到晚21:00,只搞懂了可持久化线段树以及主席树的板子。今天只能记个大概,以后详细完善讲解。 可持久化线段树指的是一种基于线段树的可回溯历史状态的数据结构。我们想要保存某一段序列的历史信息,可以朴素地开m倍的空间存储;而线段树是一种优秀的数据结构,它每次修改操作只把
阅读全文
摘要:PS:时间限制不必太紧,重要的是深入理解算法思想。 待学知识: 1、图论 优化建边 基环树 负环和差分约束 二分图的性质 费用流、上下界网络流 2-sat问题 2、数据结构 树状数组、线段树的灵活使用 带权并查集 可持久化并查集 带修主席树 Done 线段树合并 线段树分治 平衡树(https://
阅读全文
摘要:这是一篇迟来的博客,由于我懒得写文章,本篇以两个问题阐述笔者对树链剖分的初步理解。 Q1:树链剖分解决什么问题? 树链剖分,就是把一棵树剖分成若干连续的链,将这些链里的数据映射在线性数组上维护。比方说我们想要维护树上任意两点间的lca,或者支持一段路径或一棵子树的修改和查询,都可以用树链剖分来解决。
阅读全文
摘要:这个题是很经典的生成树问题。第一次接触时对倍增算法的理解还不够透彻,没能打出来正解。 首先,原题中给出的是一幅图,询问从某点出发到另一点“需要经过的最短边的最大值”。用floyd来解决是可以的,但是数据范围不能承受O(n^3)的复杂度。于是我们考虑:假设原图是连通的,那么我们从某点到另一点,一定至少
阅读全文
摘要:树形图的定义:一个有向图,满足从某一点u出发可以遍历全部点,并且图中不存在环(恰有点数-1条边),则称该图为一个树形图,其中u是该图的根。对于一个有向图,如果我们可以在其上生成一个包括原图所有点的树形图T,且满足T的所有边权之和最小,那么T就是原图的一个最小树形图。 从定义上很容易联想到无向图的最小
阅读全文
摘要:我们把“u点能够到达的最大点”转化为反向图中能到达u点的所有点里的最大值,可知缩点后满足无后效性。val[i]的初值设为连通分量i中的最大点。反向存图,tarjan缩点,拓扑序dp即可。 至此luogu上真哥留下的缩点习题全部完成。晚上更新对最小树形图(朱刘算法)的理解。
阅读全文
摘要:tarjan有向图缩点的基础应用。把原图中某点的连通数转化为反向图中”能够到达某点的个数“。缩点后,每个新点的贡献等于 原dcc大小 * f[i] 其中f[i]表示(包括该点自身)通向该点的点的个数。设u点为v的入度,满足转移方程: 所以我们按照拓扑序dp求解即可。f[i]的初值设为该分量的节点数。
阅读全文

浙公网安备 33010602011771号