摘要:
【BZOJ5503】[GXOI/GZOI2019]宝牌一大堆(动态规划) 题面 "BZOJ" "洛谷" 题解 首先特殊牌型直接特判。 然后剩下的部分可以直接$dp$,直接把所有可以存的全部带进去大力$dp$就行了。 发现每多一张牌胡的本质就是把一个刻字换成杠子,所以这两个东西记录在一起就行了。 那么 阅读全文
摘要:
【BZOJ5502】[GXOI/GZOI2019]与或和(单调栈) 题面 "BZOJ" "洛谷" 题解 看到位运算就直接拆位,于是问题变成了求有多少个全$0$子矩阵和有多少个全$1$子矩阵。 这两个操作本质就是一样的,不妨考虑有多少个全$1$子矩阵。 预处理出每个元素向上能够找的最多的$1$的个数, 阅读全文
摘要:
[ZJOI2019]麻将(动态规划,自动机) 题面 "洛谷" 题解 先做一点小铺垫,对于一堆牌而言,我们只需要知道这$n$张牌分别出现的次数就行了,即我们只需要知道一个长度为$n$的串就可以了。 首先考虑如何判断一副牌是不是能胡。 出现了七对牌的情况很容易特判处理掉,只需要考虑第一种情况。 那么我们 阅读全文
摘要:
Educational Codeforces Round 62 A. Detective Book 一本书有$n$页,每一页都有一个谜题,第$i$页谜题的答案在$a_i$。现在一个人看书,他每天往后看一页,然后一直往后看,直到他看到了他已知的所有谜题的答案就停止。 问这个人要看多少天。 模拟题。 c 阅读全文
摘要:
【BZOJ5499】[2019省队联测]春节十二响(贪心) 题面 "BZOJ" "洛谷" 题解 如果是一条折链,显然维护两侧的值,每次两个堆分别弹出一个$max$然后合并一下,最后再放回去就可以了。 那么现在回到一棵树上,可以认为就是本身有一条链,现在每次要合并一条链进来,那么拿一个堆维护这个合并过 阅读全文
摘要:
【BZOJ5498】[十二省联考2019]皮配(动态规划) 题面 "BZOJ" "洛谷" 题解 先考虑暴力$dp$,设$f[i][j][k]$表示前$i$所学校,有$j$人在某个阵营,有$k$人在某个派系的方案数。 发现如果$k=0$,那么可以先决策每个城市选择哪一个阵营,再对于每个学校选择哪一个派 阅读全文
摘要:
AtCoder Grand Contest 013 A Sorted Arrays 翻译 给定一个长度为$n$的数组$A$,你需要把它分割成若干段连续的区间,每一段都必须单增或者单减,求最少分多少段。 $n\le 10^5,A_i\le 10^9$ 题解 设$f[i]$表示划分前$i$个数字的最小段 阅读全文
摘要:
AtCoder Grand Contest 012 A AtCoder Group Contest 翻译 有$3n$个人,每一个人有一个强大值(看我的假翻译),每三个人可以分成一组,一组的强大值定义为三个人中第二强的人的强大值。求$n$组最大的强大值之和。 题解 这。。。不是倒着选两个人,正着选一个 阅读全文
摘要:
Codeforces Round 551 (Div. 2) 题解 A. Serval and Bus 有若干种公交车,第$i$种会从$s_i$时刻开始,每过$d_i$秒会出现一次。现在有一个人在$t_i$时刻到达车站,问它会碰到的第一辆车是哪一种。 傻逼题 cpp include include u 阅读全文
摘要:
【BZOJ5496】[十二省联考2019]字符串问题(后缀树) 题面 "BZOJ" "洛谷" 题解 首先显然可以把具有支配关系的串从$A$到$B$连一条有向边,如果$B_i$是$A_j$的前缀,就从$B$连一条边到$A$。这样子问题就转化成了要求解这个二分图的最长路经,有环答案就是$ 1$。 然后显 阅读全文
摘要:
省选题记录 看起来辣鸡yyb打算跟着做做省选题了。 那么就汇总在这里吧。 我做完的链接就是题解,否则就是题面。 做完的就加粗+斜体,没做完的就划掉吧。 "~~[HNOI2019]鱼~~" "~~[HNOI2019]JOJO~~" " [HNOI2019]多边形 " " [HNOI2019]校园旅行 阅读全文
摘要:
【BZOJ5495】[十二省联考2019]异或粽子(主席树,贪心) 题面 "BZOJ" "洛谷" 题解 ~~这不是送分题吗。。。~~ 转异或前缀和,构建可持久化$Trie$。 然后拿一个堆维护每次的最大值,每次如果取了一个数,就把它再在$Trie$树上查一次新建一个元素丢回堆里就行了。 cpp in 阅读全文
摘要:
Codeforces Global Round 2 因为省选所以没打 orz打了的1tst上红了,成为了全机房唯一制定GM。 A. Ilya and a Colorful Walk 给你一个数列,问任意两个不同元素的距离的最大值是多少。 这个随便做吧。。 C. Ramesses and Corner 阅读全文
摘要:
[HNOI2019]校园旅行(bfs) 题面 "洛谷" 题解 首先考虑暴力做法怎么做。 把所有可行的二元组全部丢进队列里,每次两个点分别向两侧拓展一个同色点,然后更新可行的情况。 这样子的复杂度是$O(m^2)$的。 考虑如何优化边数,先说结论: 首先对于一个同色联通块,如果它是一个二分图,那么只需 阅读全文
摘要:
[HNOI2019]多边形(模拟,组合计数) 题面 "洛谷" 题解 ~~突然特别想骂人,本来我考场现切了的,结果WA了几个点,刚刚拿代码一看有个地方忘记取模了。~~ 首先发现终止态一定是所有点都向$n$连边(看样例图解就知道了) 那么大力猜想一下第一问的答案一定是$n 3 $和$n$号点直接相连的边 阅读全文
摘要:
HNOI2019游记 Day0 这么快啊,明天就是省选了。 说真的,从高一到高二,完完全全是两种不一样的心态吧。高一的时候总觉得明年还有一年,是相当放松的,对于结果无所谓。到了高二再说没有压力全是假的,毕竟是决定一切的比赛了。所以当听到初三、高一的说着“要退役了”,心里很不是滋味。到了现在,也能理解 阅读全文
摘要:
【CF1132F】Clear the String(动态规划) 题面 "CF" 题解 考虑区间$dp$。 增量考虑,每次考虑最后一个字符和谁一起删去,然后直接转移就行了。 cpp include include include using namespace std; define MAX 505 阅读全文
摘要:
【CF1132G】Greedy Subsequences(线段树) 题面 "CF" 题解 首先发现选完一个数之后选择下一个数一定是确定的。 对于每个数预处理出左侧第一个比他大的数$L$,那么这个数加入进来之后$[L+1,i]$的答案都会增加一,拿线段树维护一下就行了。 阅读全文
摘要:
【CF1133E】K Balanced Teams(动态规划,单调队列) 题面 "CF" 让你把一堆数选一些出来分成不超过$K$组,每一组里面的最大值和最小值之差不超过$5$,求最多有多少个人元素可以被分组。 题解 设$f[i][j]$表示把前$i$个数分成$j$组的最多人数。 然后单调队列转移一下 阅读全文
摘要:
【CF1139D】Steps to One(动态规划) 题面 "CF" 你有一个数组,每次随机加入一个$[1,n]$的数,当所有数$gcd$为$1$时停止,求数组长度的期望。 题解 设$f[i]$表示$gcd$为$i$时的答案的期望。 考虑转移就是每次选一个数和$i$求个$gcd$,那么计算一下变成 阅读全文
摘要:
【BZOJ1152】歌唱王国(生成函数,KMP) 题面 "BZOJ" "洛谷" 题解 根据$YMD$论文来的QwQ。 首先大家都知道普通型生成函数是$\displaystyle \sum_{i=0}^{\infty}a_ix^i$,类似的定义概率生成函数$\displaystyle F(x)=\su 阅读全文
摘要:
【Luogu4396】[AHOI2013]作业(莫队) 题面 "洛谷" 题解 模板题 cpp include include include using namespace std; define MAX 300300 inline int read() { int x=0;bool t=false 阅读全文
摘要:
【BZOJ5417】[NOI2018]你的名字(线段树,后缀自动机) 题面 "BZOJ" "洛谷" 题解 首先考虑$l=1,r=|S|$的做法,对于每次询问的$T$串,暴力在$S$串的$SAM$上跑,对于每个点记录其被匹配的最大长度,然后把每个被匹配到的点以及它到$parent$树根节点的所有节点全 阅读全文
摘要:
[ZJOI2019]线段树(线段树) 题面 "洛谷" 题解 首先问题等价于前面每次操作都可能进行修改或者不修改,求所有情况下有标记点的个数。 考虑依次修改操作会产生的影响,把线段树节点进行分类。 这个点和以及其父亲都和修改区间无交:显然这个点的标记不会被修改。 这个点和修改区间无交但父亲和修改区间有 阅读全文