上一页 1 2 3 4 5 6 ··· 31 下一页
摘要:"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 阅读(52) 评论(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 阅读(103) 评论(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 阅读(28) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 线段树优化建图的裸题 代码: 阅读全文
posted @ 2019-09-11 13:19 蒟蒻--lichenxi 阅读(22) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 简单题,考虑这个串只有0,1两种字符。所以每9个必有一组合法的情况 所以暴力的复杂度是$O(9n)$ 代码: 阅读全文
posted @ 2019-08-24 13:53 蒟蒻--lichenxi 阅读(38) 评论(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 阅读(46) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 很有意思的构造题,自己并没想到 构造方法就是每次从一列的第一个连向最后一列的最后一个,然后不断交叉去连。 连完这两列后再往内走一个,以此类推 代码: c++ include include include using namespace std; define rg reg 阅读全文
posted @ 2019-08-23 18:36 蒟蒻--lichenxi 阅读(46) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 简单题 考虑每次都买它能买的最大的,所以他买的一定是价格比他钱低的东西。 我们考虑建立权值线段树,对于$a_i$将$[1,a[i]]$这一段加$1$,对于$b_i$将$[1,b[i]]$这一段减$1$。 每次查询就查询最右边的值大于$0$的,因为这意味着在他后面还有没被购买 阅读全文
posted @ 2019-08-23 17:21 蒟蒻--lichenxi 阅读(38) 评论(0) 推荐(0) 编辑
摘要:"codeforces" 有一个很显然的$O(a+b)$的做法可以想到,就是枚举$k$,然后$O(1)$判断 如何$O(1)$判断,我们显然考虑将这个序列每$k$个分一个块,只要判断存不存在合法方案就行了 其实这个时候很显然就能想到整除分块了,所以复杂度已经优化到$O(\sqrt{a+b})$了 判 阅读全文
posted @ 2019-08-23 17:08 蒟蒻--lichenxi 阅读(101) 评论(3) 推荐(0) 编辑
摘要:"codeforces" 考虑只有三个字符,所以每四个必然选出两个来,也就是不存在$\rm impossible$的情况 所以我们简单模拟就好了,从两端往中间扫,不匹配就移动一端,时间复杂度$O(n)$。 代码: c++ include include include include using n 阅读全文
posted @ 2019-08-23 16:36 蒟蒻--lichenxi 阅读(37) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 31 下一页