- 博客(8)
- 收藏
- 关注
转载 CF#579div.3
只写了4题...(BCDE) A和F太长就懒得看了... B题题意:给你4*n个小木棍,问你能不能拼出n个面积相同的矩形 做法:排序后,最大的和最小的组成一个矩形 C题题意:求满足所有的$[ai%x==0]$的x的个数 做法:求gcd然后分解gcd D题题意:给你两个字符串s,t满足t是s的子序列,删掉一个子串使得t仍然是s的子序列,问你子串长度最大是多少 ...
2019-08-15 21:13:00
157
转载 「BZOJ1827」奶牛大集会
题意:找一个点x使得$\sum c_i\cdot dis(i,x)$最小(其中dis表示i->x的距离) 做法:先跑出一个点的答案,然后在树上跳动,x->son的时候son这棵子树的答案都减去$\sum c_i*dis(x,son),i\in son$,其他节点都增加$\sum c_i*dis(x,son)$ #include<bits/stdc++.h&g...
2019-08-08 09:09:00
159
转载 「BZOJ2821」作诗 && 「BZOJ2724」蒲公英
题目大意(蒲公英):多次询问求区间众数,不带修,强制在线 题目大意(作诗):多次询问求区间中出现偶数次的数的个数,不带修,强制在线 做法:发现都是强制在线,所以优秀的莫队算法就没用了:( 然后我们套路性的设$F_{i,j}$为i~j块中的答案,然后对两边剩下的至多$2\sqrt n$个数单独处理。 效率是$O(M\sqrt N log_2 N)$ 细节:(作诗)*单独处理的时候...
2019-08-07 07:43:00
166
转载 「BZOJ4576」262144
看到$c_i$的数据范围你是不是明白了什么 (其实这种题常规写法不是区间dp吗) 但是区间dp $O(N^3)$ 显然过不去 *我们考虑一下把值域丢到状态中 设$dp_{i,j}$表示第i个数,向右合并到哪能得到j 然后就可以得到$$dp_{i,j+1}=dp_{dp_{i,j}+1,j}$$ 1 #include<bits/stdc++.h> 2...
2019-08-06 14:24:00
194
转载 「51nod1689」逛街
做法:维护3个堆(有贡献堆,无贡献堆,垃圾堆)。然后将$b_i$前k小个$c_i=1$的点丢进有贡献堆,将其他的能进点丢进无贡献堆,将暂时不能进的点丢进垃圾堆。 具体实现看代码 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 typedef long long ll; 5 inline ...
2019-08-05 10:08:00
149
转载 「51nod1681」公共祖先 &&「51nod2553」双重祖先
来自51nod的双倍经验题 公共祖先 : 题意: 给你两颗树,问你有多少对点(a,b,c)满足c在第一棵树中是(a,b)的公共祖先,在第二棵树中也是(a,b)的公共祖先 双重祖先:题意:给你两棵树,问你有多少对点(u,v)满足u在第一棵树种是v的祖先,在第二棵树种也是v的祖先 乍看一下好像不是很一样,蓝鹅… 转换一下题意发现,题意都是:给你两棵树,求两棵树中的每个节点有多少个共同...
2019-08-01 11:18:00
267
转载 「BZOJ3339」Rmq Problem && 「BZOJ3585」mex
题目大意:不带修,查询区间mex 做法:看这数据范围感觉可以$O(Nlog_2N)$或者是$O(N\sqrt N)$ 1.线段树(之所以不说是主席树,是因为并没有用到主席树那种用差分提出区间的操作) 查询[L,R]的话就是对第i棵线段树维护每个数字最后一次出现的位置,维护区间最小值,然后对值域[0,1e9]二分,若mn[l,mid]>=L则说明mex在[mid+1...
2019-07-30 11:25:00
174
转载 「BZOJ1803」Spoj1487 Query on a tree III
题目大意:给一棵n个节点的树,每个点有一个权值$val_i$,m次查询,每次查询x的子树中第k大的节点的编号,权值不重复,且树以1为根。 做法:看起来就是一个查询区间第k大强行上树,于是dfs序做 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 inl...
2019-07-26 13:47:00
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅