11 2019 档案

摘要:Part1 二分栈优化DP 引入 二分栈主要用来优化满足决策单调性的DP转移式。 即我们设$P[i]$为$i$的决策点位置,那么$P[i]$满足单调递增的性质的DP。 由于在这种DP中,满足决策点单调递增,那么对于一个点来说,以它为决策点的点一定是一段连续的区间。 所以我们可以枚举以哪个点作为决策点 阅读全文
posted @ 2019-11-30 12:30 孤攀客 阅读(713) 评论(1) 推荐(2)
摘要:怎么讲呢? Day1:7:00左右从家里出发,准备还是做得比较充分,早饭也记得吃了。路上闭目养神了一会儿,7:50左右到了大门附近,和大家再次把一些自认为还是比较重要的数据结构之类的再复习了一下。进去后在考室外等了较久的时间,调整了下心态,终于在8:20左右踏进了考场,先确认了一下键盘和鼠标以及电脑 阅读全文
posted @ 2019-11-21 13:44 孤攀客 阅读(199) 评论(0) 推荐(1)
摘要:"题目链接" 大意 给定多组$N$,$M$,求$1\le x\le N,1\le y\le M$并且$Gcd(x, y)$为质数的$(x, y)$有多少对。 思路 我们设$f(i)$表示$Gcd(x,y)=i$的$(x,y)$的个数,$F(i)$表示$Gcd(x,y)\%i=0$的$(x,y)$的个 阅读全文
posted @ 2019-11-15 19:27 孤攀客 阅读(128) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出$N$个点,$M$条边的一张图,其中每条边都有一个非负整数边权。 一个人从1号点出发,在与该点相连的边中等概率的选择一条游走,直到走到$N$号点。 问:将这条路径上的边权异或起来的期望值为多少。 (图中可能有重边与自环) 思路 对于异或,我们考虑逐位解决,这样之后,边权只有0 阅读全文
posted @ 2019-11-14 14:06 孤攀客 阅读(145) 评论(0) 推荐(0)
摘要:"题目链接" 大意 有$N$种颜色的球,第$i$种球有$Ai$个,要求把球分成几个集合,使得: 1. 一个集合里的球只能有一种颜色。 2. 任意两个集合的球的数量相差不能超过1。 求这些球至少需要分几个集合。 思路 我们设这些集合的大小为$Ans$与$Ans+1$,考虑如何判断一个$Ans$是否可行 阅读全文
posted @ 2019-11-14 11:26 孤攀客 阅读(395) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出$N$个点,$M$条边的一张图,其中每个点都有一个0或1的颜色。 再给出$Q$个询问,每次询问查询两个点之间是否存在一条路径,使得路径上的颜色组成的01字符串是一个回文串。(这条路径上的每条边可以重复经过) 思路 首先有一个暴力的想法,我们设$Ans[u1][u2]=1$表示 阅读全文
posted @ 2019-11-12 11:30 孤攀客 阅读(192) 评论(0) 推荐(0)
摘要:"题目链接" 大意 现有$N$个人要打比赛,知道任意两个人间打比赛的胜负关系。 要求在 深度最小 的情况下,根为$M$的 竞赛树 的个数。 满足$1\le M\le N\le 16$ 思路 虑及$N$如此之小的范围,不是状压就是暴搜。 考虑状态$Dp[s][u][d]$表示在以点集$s$组成子树,$ 阅读全文
posted @ 2019-11-12 08:55 孤攀客 阅读(180) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给定$A,B$两个数组,让他们进行匹配。 我们称$A_i$与$B_j$的匹配是稳定的,当且仅当目前所剩元素不存在$A_x$或$B_y$使得 $A_i\oplus B_j include include using namespace std; const int MAXN=100 阅读全文
posted @ 2019-11-11 21:59 孤攀客 阅读(283) 评论(0) 推荐(0)
摘要:KMP.... 阅读全文
posted @ 2019-11-08 20:19 孤攀客 阅读(223) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出一颗树,按下列方式生成一个括号序列。 其中可以从任一点出发,且对儿子的遍历顺序是随机的。 求本质不同的括号序列个数。 思路 前置板块:树Hash 如何判断两颗有根树是否本质一样? 我们先随机生成一个$T$数组(随机数被卡概率小?) 令$Siz[u]$表示$u$的子树大小,$H 阅读全文
posted @ 2019-11-07 09:58 孤攀客 阅读(293) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出一颗树,每个点上有一个权值$A[i]$,有两个绝顶聪明的人甲和乙。 甲乙两人一起在树上轮流走,不能走之前经过的点。(甲乙时刻在一起) 甲先手,并可以确定起点。甲想要走过的点权之和最大,乙想要权值和最小。 求最终权值和。 思路 首先有个很明显的想法就是树形Dp: 设$F0[u] 阅读全文
posted @ 2019-11-06 22:45 孤攀客 阅读(148) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给定一个$N\times N$的矩阵,问是否满足以下三个条件: 1. $A_{i,i}=0$ 2. $A_{i,j}=A_{j,i}$ 3. 对于任意的$i,j,k$,满足$A_{i,j}\ge max(A_{i,k},A_{k,j})$ 如果满足条件输出 ,否则输出 。 思路 阅读全文
posted @ 2019-11-06 21:17 孤攀客 阅读(260) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给你一个无向带权连通图,每条边是黑色或白色,求一棵最小权的恰好有$Need$条白色边的生成树。 题目保证有解,输出最小权值。 其中每条边权在$[1,100]$范围内。 思路 首先有一个比较明显的想法: 用Kruskal跑出一个最小生成树,然后再不断往其中加边调整白色边的数量,用L 阅读全文
posted @ 2019-11-05 11:03 孤攀客 阅读(201) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出$N$个数的 序列 ,每次操作可以选择连续的三个数,将中间的那个数抽出,将另外两个数的数值加上中间那个数的数值。 一直执行以上操作直到只剩最后两个数,求最后两个数的所有可能的和的最小值。 ($1\le N\le 18$) 思路 由于$N$的奇妙的范围,易想到状态压缩与双向BF 阅读全文
posted @ 2019-11-04 19:50 孤攀客 阅读(459) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出有$N$个点$M$条边的一张图,其中每个点都有一个High值,每条边都有一个Hard值。 再给出$Q$个询问:$v$ $x$ $k$ 每次询问查询从点$v$出发,只经过Hard值小于等于$x$的边能到达的点中,第$k$大的High值。 思路 考虑Kruskal重构树: 在Kr 阅读全文
posted @ 2019-11-04 13:11 孤攀客 阅读(157) 评论(0) 推荐(0)
摘要:"题目链接" 大意 给出$N$个点的点权,定义两个点之间的边权为这两个点权的异或和,求这$N$个点间的最小生成树。 思路 贪心地想,相连的两个点异或和应当尽量的小。 那么应先从高位确定,因为高位的大小比低位大,所以高位间的连边首先要尽量小。 考虑对于某一数位怎么做: 首先将这一位的数字全部抽出来,变 阅读全文
posted @ 2019-11-03 20:23 孤攀客 阅读(140) 评论(0) 推荐(0)