数学联邦政治世界观
超小超大

数学(九) (5-3)

{

for (int k = 0; k <= x; k++)

{

if (dp[j][k] <= y)

ans = std::max(ans, j + 1);

}

}

std::cout<<ans<<'\n';

return 0;

}

F - Range Connect MST

赛时没仔细想盲猜线段树优化建图然后就一直冲E 去了,打完一看直接升温

可以将图分成两个部分一边是1 ∼ N,另一边是 N+1 ∼ N+Q,操作完第二个部分所有节点一定会连到第一个部分,代价是 ∑Gᵢ,然后只要考虑第一个部分

每次操作会有[Lᵢ,Rᵢ] 中所有点和点 N+i 连接,总共 Rᵢ – Lᵢ+1 条边,相当于 [Lᵢ,Rᵢ] 中的点连成链,然后 N+i 连到这个区间(怎么连不重要),我们只需要暴力把 x 连接到 x+1(x<Rᵢ) 如果 [Lᵢ,Rᵢ] 内某个区间

已经相连,直接跳过这个区间,这个操作用并查集很容易实现,根据上面连接方式,每个点的祖先一定大于或者等于它,最后只要判断 1 的祖先是不是 N 判断是否连通

至于最小生成树问题,存下每次询问然后排序

struct DSU

{

int n;

std::vector<int> fa, size;

DSU(int n) : n(n), fa(n + 1), size(n + 1, 1) { std::iota(fa.begin(), fa.end(), 0); }

int find(int x)

{

if (x != fa[x])

{

fa[x] = find(fa[x]);

}

return fa[x];

}

void merge(int x, int y) // x -> y

{

x = find(x), y = find(y);

if (x == y)

return;

// if (size[x]>size[y])

// std::swap(x, y);

fa[x] = y, size[y] += size[x];

}

bool same(int x, int y)

{

return find(x) == find(y);

}

};

int main()

{

std::ios::sync_with_stdio(false);

std::cin.tie(0);

int n, q;

std::cin>>n>>q;

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

梦的结局I 连载中
梦的结局I
紫苜花
“我以天下为棋,赌我胜它半子。”“你说,我们还有见面的机会吗?”“我好想你,我错了……”“师尊你何时归来。”“主上,你不在的日子,总归是无趣......
1.9万字1年前
春山祭 连载中
春山祭
木辞南忆
不知道
0.2万字1年前
镜中蝶笙 连载中
镜中蝶笙
惊羽蝶笙
杀戮游戏悄然诞生,游走在生命的边缘,斩断荆棘将利刃刺向神明……(分数多以be为结局,注意避雷哦)
0.8万字1年前
无限:山海地图持续为您导航 连载中
无限:山海地图持续为您导航
隔岸观柏
【无cp-无限流(微微恐)-女强-异能】黎听余自诩倒霉蛋但直到她收到了山海地图的短信后她才发现——自己可以更倒霉*自从被莫名其妙拉进副本后黎......
0.6万字1年前
星拟:迷宫 连载中
星拟:迷宫
桶中加尿泼谁谁发疯
『停更中…』“迷宫中隐藏的秘密是什么呢?”“迷宫……就像人心一样复杂难解,难以走出去。”“呵,你觉得能来到迷宫的人能是什么好人?”“等你走出......
2.5万字1年前
上届看下届(强金) 连载中
上届看下届(强金)
猪猪侠是我的
0.6万字1年前