随笔分类 -  codeforces

1
摘要:A.Median Maximization 比较简单显而易见的贪心,显然前$\lfloor\frac{m-1}{2} \rfloor$数是$0$,后面的数尽可能平均分。 #include<cstdio> #include<algorithm> #include<iostream> #include< 阅读全文
posted @ 2021-09-16 23:27 蒟蒻--lichenxi 阅读(97) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 一般的套路显然转化按位确定 第一行直接算有多少字典序比他小就行了。 对于$2$到$n$行,每行的总方案数就是错排数量。 这就存在一个问题,我们无法确定当前行能放的有多少字典序比它小。 我们发现对于第$i$行第$j$个,假如第$i 1$行前$j$个数和第$i$行前$j$个数一 阅读全文
posted @ 2019-09-20 13:30 蒟蒻--lichenxi 阅读(229) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 由于每个数组可以滑动。 我们对于一个位置,要考虑它是否可以为空,能放的最大值是多少。 每行的每个位置都直接这样做显然会TLE。 我们发现每行可以分为三个部分(有些时候不可以,随便讨论一下啦) 第一个部分是只能放前几个。 第二个部分是所有的都可以放。 第三个部分是只能放后几个 阅读全文
posted @ 2019-09-11 14:13 蒟蒻--lichenxi 阅读(246) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 显然发现可以从右往左依次确定。 考虑求出前缀和,每次查询当前位置上的值,然后删掉当前数,动态维护一下前缀和就好了 对于查询值可以树状数组+二分$O(n\log^2n)$,也可以线段树$O(n\log n)$ ~~貌似树状数组+二分比线段树跑的要快~~ 代码: c++ inc 阅读全文
posted @ 2019-09-11 13:58 蒟蒻--lichenxi 阅读(174) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 发现矩阵 $$ \begin{align } &0\ 1\ 2\ 3\\ &4\ 5\ 6\ 7\\ &8\ 9\ 10\ 11\\ &12\ 13\ 14\ 15\\ \end{align } $$ 每行和每列的$\rm xor$和为0,发现每个位置加上$16x$也不会改 阅读全文
posted @ 2019-09-11 13:53 蒟蒻--lichenxi 阅读(182) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 我们设$f[i]$表示有多少个数的二进制下的子集值为$i$ 显然当$f[i] =2$时,$i$是可以通过$a_j\&a_k$得到的 然后我们枚举$a_i$,从高位到低位考虑,尽量多取$a_i$二进制下没有的位。 然后取最大值就行了,至于满足$i include includ 阅读全文
posted @ 2019-09-11 13:42 蒟蒻--lichenxi 阅读(383) 评论(3) 推荐(0) 编辑
摘要:"codeforces" 考虑算出$nxt_i$表示以$i$为左端点,不出现重复的数最远可以到的位置 然后枚举左端点$l$,枚举右端点$r$,如果当前区间内的最大值$mx r l+1$,我们就将右端点移到$mx+l 1$的位置上。 由于答案是$O(n)$的,所以总复杂度就是$O(n\log n)$ 阅读全文
posted @ 2019-09-11 13:27 蒟蒻--lichenxi 阅读(166) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 线段树优化建图的裸题 代码: 阅读全文
posted @ 2019-09-11 13:19 蒟蒻--lichenxi 阅读(114) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 简单题,考虑这个串只有0,1两种字符。所以每9个必有一组合法的情况 所以暴力的复杂度是$O(9n)$ 代码: 阅读全文
posted @ 2019-08-24 13:53 蒟蒻--lichenxi 阅读(210) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 很有意思的题。 考虑dp,设$f_i$表示$i$这棵字树的答案。 显然有$f_i=deg_x!\prod_{j\in son[i]}f_j$ 由于根节点是钦定的,所以答案还要乘上一个$n$ 代码: c++ include include include include us 阅读全文
posted @ 2019-08-24 13:50 蒟蒻--lichenxi 阅读(180) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 很有意思的构造题,自己并没想到 构造方法就是每次从一列的第一个连向最后一列的最后一个,然后不断交叉去连。 连完这两列后再往内走一个,以此类推 代码: c++ include include include using namespace std; define rg reg 阅读全文
posted @ 2019-08-23 18:36 蒟蒻--lichenxi 阅读(189) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 简单题 考虑每次都买它能买的最大的,所以他买的一定是价格比他钱低的东西。 我们考虑建立权值线段树,对于$a_i$将$[1,a[i]]$这一段加$1$,对于$b_i$将$[1,b[i]]$这一段减$1$。 每次查询就查询最右边的值大于$0$的,因为这意味着在他后面还有没被购买 阅读全文
posted @ 2019-08-23 17:21 蒟蒻--lichenxi 阅读(201) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 有一个很显然的$O(a+b)$的做法可以想到,就是枚举$k$,然后$O(1)$判断 如何$O(1)$判断,我们显然考虑将这个序列每$k$个分一个块,只要判断存不存在合法方案就行了 其实这个时候很显然就能想到整除分块了,所以复杂度已经优化到$O(\sqrt{a+b})$了 判 阅读全文
posted @ 2019-08-23 17:08 蒟蒻--lichenxi 阅读(325) 评论(3) 推荐(0) 编辑
摘要:"codeforces" 考虑只有三个字符,所以每四个必然选出两个来,也就是不存在$\rm impossible$的情况 所以我们简单模拟就好了,从两端往中间扫,不匹配就移动一端,时间复杂度$O(n)$。 代码: c++ include include include include using n 阅读全文
posted @ 2019-08-23 16:36 蒟蒻--lichenxi 阅读(156) 评论(0) 推荐(0) 编辑
摘要:"传送门" 很简单的一个题目 由于向上是无限延伸的,所以我们从上往下考虑,然后对于每个$x$坐标,我们只用管它是否出现过。 统计答案就是按每个$y$坐标来统计, 如果只有一个点,直接计算当前出现的所有$x$的本质不同的区间覆盖的方案数就行了 但是现在有一个问题,对于同一个$y$坐标,$x$坐标可能不 阅读全文
posted @ 2019-08-07 09:20 蒟蒻--lichenxi 阅读(180) 评论(0) 推荐(0) 编辑
摘要:"传送门" 读懂题之后发现条件一和条件二并没有什么用 然后对于条件四显然可以将整个图连成一个环 然后考虑条件三怎么满足? 假如点数正好是质数,直接就满足了 否则 此时所有点的度数都是2。 给每个点多连一条边,度数依然是质数 发现这样最多可以连$\lfloor \frac{n}{2} \rfloor$ 阅读全文
posted @ 2019-07-25 09:50 蒟蒻--lichenxi 阅读(158) 评论(0) 推荐(0) 编辑
摘要:"传送门" 一道小清新题 首先转化一下问题,将题目给出的$t$数组$sort$之后差分一下。 问题就变成了给出一个长度为$n 1$的序列,选出$k$个不相邻的数使得和最小 很容易发现这是一个下凸的函数,$\rm wqs$二分去掉$k$的限制之后那个$dp$就很简单了 设$f[i][0/1]$表示前$ 阅读全文
posted @ 2019-07-13 15:33 蒟蒻--lichenxi 阅读(327) 评论(0) 推荐(0) 编辑
摘要:"传送门" 首先应该考虑一下,多加一条边对树上路径的影响是什么 可以发现多加一条边就会出现一颗基环树 我们发现所有经过环的路径都会翻倍 那么假设$x$是$y$的父亲,$x$在环内,那么将$y$加入环的贡献就是$(size[x] size[y]) size[y]$ 然后类似求树的直径做两遍$bfs$( 阅读全文
posted @ 2019-07-13 14:20 蒟蒻--lichenxi 阅读(220) 评论(0) 推荐(0) 编辑
摘要:"Codeforces Round 499 (Div. 1)" 这场本来想和同学一起打$\rm virtual\ contest$的,结果有事耽搁了,之后又陆陆续续写了些,就综合起来发一篇题解。 "B.Rocket" 极其简单的一道交互题,有些位置会说反的,那么就选一个数来询问直接选出所有的这样的位 阅读全文
posted @ 2019-06-20 15:32 蒟蒻--lichenxi 阅读(193) 评论(0) 推荐(0) 编辑
摘要:罚时有点小严重,但是div.3确实快乐. "A.Wrong Subtraction" 模拟,暴力模拟. "B.Two gram" $O(n^2)$暴力枚举. "C.Less or Equal" ~~小清新~~的判断题,sort就可以了,判断很小清新的. c++ include include inc 阅读全文
posted @ 2019-06-15 18:57 蒟蒻--lichenxi 阅读(203) 评论(0) 推荐(0) 编辑

1