- 博客(6)
- 收藏
- 关注
原创 【SCOI2019】—DAY2T1 湖之精灵的游戏(凸包+二分)
考场debuffdebuffdebuff太严重了下来一眼沙比提考虑其实就是求一段区间Max∣∑i∈[l,r](xi,yi)∗(x,y)∣Max|\sum_{i\in [l,r]}(x_i,y_i)*(x,y)|Max∣i∈[l,r]∑(xi,yi)∗(x,y)∣因为叉积不同方向会有正负由于有绝对值,可以拆成最大前缀和减去最小前缀和先只考虑最大前缀和即Max∑xi∗y−∑yi...
2019-05-25 20:13:35 204
原创 【BZOJ4817】【SDOI2017】—树点涂色(LCT+树链剖分+线段树)
传送门考虑到每次都是到根染上一种和原来不同的颜色这个操作和LCTLCTLCT时的accessaccessaccess很像实际询问的也就是到根改变了多少次虚实链考虑一次accessaccessaccess的影响对原来的实儿子也就是多了一次切换子树答案加1就是了对于新的实儿子则少了一个切换子树答案减一树剖维护一下就完了#include<bits/stdc++.h>u...
2019-05-25 20:02:05 135
原创 【SCOI2019】—DAY2T1 RGB(容斥)
发现就是傻逼论文题,或者今年九省联考的希望看了题解也就知道这道题怎么容斥了具体方法是考虑点数=边数−1点数=边数-1点数=边数−1直接统计每个GGG的答案减去所有边两侧都是GGG的答案就完了#include<bits/stdc++.h>using namespace std;#define gc getcharinline int read(){ char ch=gc()...
2019-05-25 19:52:11 146
原创 【BZOJ2594】【WC2010】—水管局长数据加强版(LCT维护最小生成树)
传送门水题,发现就是维护一个最小生成树由于卡时间 ,就不直接用LCTLCTLCT连断边先做一次KruscalKruscalKruscal化边为点就可以了不要用mapmapmap,似乎要被卡空间,每次二分判断#include<bits/stdc++.h>using namespace std;const int RLEN=1<<22|1;inline cha...
2019-05-03 16:36:43 199
原创 【BZOJ2870】—最长道路Tree(边分治)
传送门边分治比点分治好的一点就是每次分出来都只有2个集合如果遇到难以合并的信息的时候边分治就很有用了手动转二叉树每次可以按照权值大小排序后对两个集合双指针扫两遍具体实现可以看代码复杂度O(nlog2n)O(nlog^2n)O(nlog2n)#include<bits/stdc++.h>using namespace std;const int RLEN=1<&...
2019-05-03 16:31:33 342
原创 【BZOJ2959】—长跑(LCT维护双连通分量+并查集)
传送门LCT维护双连通分量每次连边的时候判一下两边连通性如果联通就把两点之间的环缩成一个新节点询问就是两点之间距离和由于findrtfindrtfindrt很慢就写一个并查集维护一下#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ st...
2019-05-03 16:25:25 207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人