随笔分类 - 题解
摘要:题目链接 神奇数论题。 做这题需要知道两个结论: 对于满足$f_{i+2}=a\cdot f_{i+1}+b\cdot f_{i}$,也就是形式类似斐波那契数列的序列,有$gcd(f_i,f_j)=f_{gcd(i,j)}$(据说是这样,我不确定正确性,但至少这题中a=2,b=1的情况是对的) 对于
阅读全文
摘要:点我看题 A. Two Permutations 首先n=a=b的情况是合法的。其余的情况,如果$a+b \ge n$,显然矛盾,因为这样前缀和后缀相等的长度应该都是n才对。$a+b=n-1$也不行,因为题目中要求的是排列,这种情况下a和b也应该都是n才对。其它情况都是合法的。 时间复杂度$O(1)
阅读全文
摘要:题目链接 对于任意一个multiset,我们都把它的元素从大到小排序来观察。发现一个multiset合法有个必要条件:对于每个i,multiset中最大的i个元素之和不能超过$lim_i$,如果令$c_i$表示输入的数中i出现的次数,则$lim_i=\sum_{j=1}^n min(i,c_j)$。
阅读全文
摘要:题目链接 这题两种不同做法,普通的$O(n^2)$和奇怪的$O(nlogn)$。如果用$O(nlogn)$的话可以加强到1e6。 做法1 时间复杂度$O(n^2)$ 先把最终的排列随便画一个出来观察一下: 图中越高的数值越大 发现一个"峰顶"的数对最终花费的贡献是$2x_i+a_i+c_i$,一个"
阅读全文
摘要:题目链接 很恶心的分类讨论题,恶心程度不亚于初学者做Tic tac toe。据说djq交了很多次才过 先观察单独的一个询问,什么样的字符串a才能变换成字符串b。正向做似乎有点困难,我们考虑反向,什么样的b才能变换成a。为了将b变换成a,我们能做的操作是:把BC变成A,把AB变成C,把AC变成B,以及
阅读全文
摘要:题目链接 题意简述 有一个n个点的有向图,每个点有两条出边,称为A边和B边。称一种构图是好的,当且仅当对于所有i,从第i个点出发,先连走x次A边,走1次B边,再连走y次A边,走1次B边,再走z次A边,最后回到了i。对合法的构图计数,模1e9+7。两个构图不同当且仅当某个点的A边或B边的终点不同。 $
阅读全文
摘要:题目链接 其实"序列中1的数量有限"是一个非常重要的条件。这意味着我们可以找到序列中的第一个1和最后一个1。 考虑这样一件事情:初始时我们把一个长度为$2^{2w+1}$的"滑块"放在刚好在第一个1前面的位置(这时滑块的内部全是0),然后每次把滑块向右移动一格(也就是删掉滑块的第一个字符,在末尾再加
阅读全文
摘要:其实我们要干的事情是给每种货币分配一个值$value_i$,满足对于任意i、j,$m_{i,j} \le \frac{value_j}{value_i} \le M_{i,j}$。整理一下这个式子,发现可以转化成:对于每对$i,j(i<j)$,都有两个值x和y,要求$value$必须满足$value
阅读全文
摘要:题目链接 前两天做过一个题意类似但做法不类似的题 在这里 首先做这道题需要一个结论:(一元)同余方程组有解的充要条件是方程组中的所有方程两两联立有解。证明 两个同余方程联立有解就用裴蜀定理判一下就行了。不用这个结论的话需要用CRT和一些数据结构解决,但是非常麻烦。 依次枚举每种数字i,尝试算出最长的
阅读全文
摘要:题目链接 我们要干的事情其实是对于输入矩阵中的每个位置,求出从它开始至少走几步形成的序列能跟所有位置走同样步数形成的序列不同。注意到每个位置最多走$200^2$步就能达到目标了,所以这时就有了一个$O(n^4)$的暴搜(把trie树搜出来),如果写得好是可以卡过去的! 但是还有更优的做法。**注意到
阅读全文
摘要:CSAcademy 是一个比较小众的罗马尼亚OJ,UI好看功能多样,但是需要fq才能注册。访问是不用fq的 CSA的题目是有英文官方题解的,很不错 常用工具:画图 找不同 题目链接 前段时间刚做过类似的分层dp题,这次又忘了,深刻反思.jpg 题目要求构造一棵n个叶子的二叉树,发现一定存在一个最优解
阅读全文
摘要:先明确$a_i$是一个怪物的血量,$b_i$是攻击的代价。发现如果我们想攻击一个怪物,不如找出一个极大的包含它的区间,满足这个区间内所有怪物的攻击代价都不大于它本身的代价,因为多攻击一点肯定是好的,反正不多花钱。这启发我们把所有的怪物依照$b_i$的值建一棵笛卡尔树,其中$b_i$最大的怪物为根。容
阅读全文
摘要:题目链接 不错的点分树题。我之前只听说过有点分树这个东西,没做过几个题。 先考虑图是一棵树的情况怎么做。我们对这棵树建立点分树。**所谓点分树,就是先对树进行重心分治(点分治),然后把相邻两层的重心连边形成一棵新的树。**容易发现新的树的高度是$O(logn)$的。看一开始重心分治的过程,在重心分治
阅读全文
摘要:求点赞 T1. 假期计划 (holiday) 这个题作为t1可一点都不简单啊。 先用bfs $O(nm)$求出任意两点之间的最短路,这样就可以判断哪些点对可以排在一起。注意到第1、4个景点是对称的,第2、3个景点是对称的。我们对于每个景点求出当它作为第2个景点时,第1个景点的可能集合,令第i个点的这
阅读全文
摘要:Div1A / 2C. Make Nonzero Sum 令最后每个$a_i$的系数为$c_i$($c_i=1/-1$),发现只要满足$c_1=1$(下标从1开始),且c中没有两个-1相连,就一定能找出一种划分方式。那我们先令所有$c_i$都为1,再进一步把一些1改成-1。如果全是1时序列的和sum
阅读全文
摘要:点我看题 昨天刚打的ARC,题目质量还是不错的。 A - Equal Hamming Distances 对于一个位置i,如果$S_i=T_i$,那么不管$U$的这个位置填什么,对到$S$和$T$的海明距离增量都是相同的,所以这种位置一定填$0$更好;否则,这个位置填$0$或$1$分别可以给到$S$
阅读全文
摘要:点我看题 求点赞 A. Maxmina 首先序列全0的情况肯定是NO。否则,如果$k\ge 3$,则在序列中随便找一个1,把他左边和右边分别用第一种操作不断缩,直到序列长度为k为止,最后用一次2操作变成一个1;如果$k=2$,直接不断用2操作把序列缩成一个元素即可。所以最后的结论就是只要序列中有1就
阅读全文
摘要:点我看题 求点赞/kel/kk A - Continuous 1 对于每一个长度为k的区间,它合法当且仅当输入序列中所有出现的1都在这个区间内,所有出现的0都在这个区间外。用前缀和判断一下即可。注意题目要求的是合法区间只有一个,而不是存在就行。 时间复杂度$O(n)$。 点击查看代码 #includ
阅读全文
摘要:求点赞 点我看题 A. Ela Sorting Books 从前往后一位一位确定答案。用一个数组记录当前每个字母库存的数量,要确定答案的某一位时,枚举前$min(\frac nk,26)$个字母,找到第一个库存为0的字母,则当前这位的答案就是这个字母。然后把字典序在这个字母之前的字母库存都-1就行。
阅读全文
摘要:很久没rated打过cf的比赛了,这次打得还行,至少进前100了 求点赞 点我看题 A. Glory Addicts 把类型0的数放进数组a里,类型1的数放进数组b里。如果$|a|=|b|$,你可以把所有数里最小的放在第一个,其他的交错排列,这样除了最小的其他都能取到2的系数。这个需要特判。否则假设
阅读全文

浙公网安备 33010602011771号