Processing math: 0%

11 2020 档案

摘要:一个奇妙的不等式操作: a_x+a_y\geq (a_x xor a_y)=f_x-f_y 所以只有a_x+a_y\geq f_x-f_y的点才能贡献答案。 这个东西的意义是a_x\geq 在x子树且不包含x,y子树的点。 考场上猜了符合这个条件的点对只有$n\log_2 阅读全文
posted @ 2020-11-29 12:28 celerity1 编辑
摘要:题解赛后发。 最后一题没看懂题意就没做 结果发现我第一次理解的题意是对的。。。。。。。 感觉这次题目没有什么思维难度。 ADADISH 签到。 #include<bits/stdc++.h> using namespace std; #define N 5010 int n,T,a[N],f[N]; 阅读全文
posted @ 2020-11-13 22:17 celerity1 编辑
摘要:基础卷积练习题 看上去\max的限制不好处理。 但是题目中a,b都特别小。 考虑枚举a,b的值为x,y,新建两个数组c,d,当a_i=x,b_i=yc_i,d_i赋值为1。 把c,d作or卷积,>0的部分对f(x,y)\(取\)\max贡献到答案。 时间 阅读全文
posted @ 2020-11-12 10:14 celerity1 编辑
摘要:考虑如何回答询问。 由于每个格子被加成多少在询问某个时间很难具体得知(或者得知时间复杂度太高),所以要换一种思路。 注意到每个格子加上的都是正数,所以一个格子如果\geq L,则在后面的时刻它都会\geq L。 考虑求出一个格子\geq L的时间,这是个经典的问题(集训队作业矩阵乘法), 阅读全文
posted @ 2020-11-12 09:38 celerity1 编辑
摘要:在集训队作业 line 中,单调栈的限制很难处理。 但是顺着一个点往左边第一个比他大的点跳,则我们得到了可以转移的连续段。 考虑把一个点向左边第一个比它大的点连边,则形成了一棵树。 使用树链剖分+线段树即可维护。 回到此题。 求出一个点i向左/右跳到的第一个合法的区间位置l_i,r_i。 这 阅读全文
posted @ 2020-11-10 10:23 celerity1 编辑
摘要:我这个贪心做过2遍了,但是不太记得了。 这个问题:有一颗树。 你需要求出一个答案排列。 权值和这个排列有关。 要求一个点必须在它的父亲后面。 求最优的排列。 维护一个并查集。 考虑我们把两个操作序列合并。 操作序列的最优顺序是个全序关系。 我们维护一个堆,每次取出最优的块,把它和父亲的块合并,表 阅读全文
posted @ 2020-11-05 16:04 celerity1 编辑
摘要:题目的限制等于从p个队列,每个队列里有n个数。 每次可以取出一个非空的队列的头部,询问方案数。 如果p较小,设(s_1,s_2...s_p)表示第i个队列取到s_i的方案数。 题目要求不能取连续相同的p个数。这等于在空间上有一些点不能走。 把这个问题放在p维空间上。 阅读全文
posted @ 2020-11-05 07:45 celerity1 编辑

点击右上角即可分享
微信分享提示