洛谷 P1197 [JSOI2008] 星球大战 做题记录

news/2024/10/21 16:01:22

我不会做摧毁,于是反着做,就变成了合并连通块,倒序加边即可,时间复杂度 \(O((n+m)\alpha(n))\)。(大抵是吧

点击查看代码
#include<bits/stdc++.h>#define mem(aqwqawa,bqwqawa) memset((aqwqawa),(bqwqawa),sizeof(aqwqawa))
#define m0(aqwqawa) memset((aqwqawa),0,sizeof(aqwqawa))
#define lb(xqwqawa) ((xqwqawa)&-(xqwqawa))
#define lc(xqwqawa) ((xqwqawa)<<1)
#define rc(xqwqawa) (((xqwqawa)<<1)|1)
#define pb(Gqwqawa,xqwqawa) (Gqwqawa).push_back((xqwqawa))
#define For(Aqwqawa,Bqwqawa,Cqwqawa) for(int Aqwqawa=(Bqwqawa);Aqwqawa<=(Cqwqawa);Aqwqawa++)
#define Rep(Aqwqawa,Bqwqawa,Cqwqawa) for(int Aqwqawa=(Bqwqawa);Aqwqawa>=(Cqwqawa);Aqwqawa--)
#define in1(Aqwqawa) Aqwqawa=read()
#define in2(Aqwqawa,Bqwqawa) Aqwqawa=read(), Bqwqawa=read()
#define in3(Aqwqawa,Bqwqawa,Cqwqawa) Aqwqawa=read(), Bqwqawa=read(), Cqwqawa=read()
#define inn(Aqwqawa,Nqwqawa) For(Iqwqawa,1,Nqwqawa) Aqwqawa[Iqwqawa]=read();#define ll long long
using namespace std;
inline int read() {int xx= 0;int f= 1;char c = getchar();while(c<'0'||c>'9') { if(c=='-') f= -1;c= getchar();}while(c>='0'&&c<='9') {xx= (xx<<1)+(xx<<3)+(c^48);c= getchar();}return xx*f;
}
#define maxn 400050
int n,m,k;
vector<int>G[maxn];
bool vis[maxn];
int x[maxn];
int fa[maxn];
int find(int x) { return x==fa[x]?fa[x]:fa[x]=find(fa[x]); }
int ans[maxn];
signed main() {mem(vis,1);in2(n,m);For(i,1,m) {int u,v;in2(u,v);u++,v++;pb(G[u],v);pb(G[v],u);}in1(k);For(i,1,k) {in1(x[i]);x[i]++;vis[x[i]]=0;}int res=n-k;For(i,1,n) fa[i]=i;For(u,1,n) if(vis[u]) {for(auto v:G[u]) {if(vis[v]&&find(u)!=find(v)) {fa[find(u)]=find(v);res--;}}}ans[k+1]=res;Rep(i,k,1) {int u=x[i];vis[u]=1; res++;for(auto v:G[u]) if(vis[v]&&find(u)!=find(v)) {fa[find(u)]=find(v);res--;}ans[i]=res;}For(i,1,k+1) cout<<ans[i]<<'\n';
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74219.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

数据库—多表查询、事务

1.多表查询: 例:点击查看代码 # 创建部门表 CREATE TABLE dept( did INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(20) );# 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), gender CHAR(1), -- 性别 salary DOUBLE, -- 工资 join_d…

021 天气案例

@click后面也可以写一些简单语句,这样就不用配置methods了

通义灵码操作指南——插件配置指南

点击链接,立即下载通义灵码插件:https://tongyi.aliyun.com/lingma/ 通义灵码支持在 Visual Studio Code、JetBrains IDEs 中修改常用快捷键、进行行间生成的启用/禁用等功能开关配置。 Visual Studio Code 中配置通义灵码 准备工作 如果需要在 Visual Studio Code 中使用通义…

1200PLC通过NODERED,将数据发布到阿里云物联网平台

配置要求:1,电脑上需要安装有博图软件,我这里使用的是TIA Portal V16版本 2,电脑上需要安装NODE_RED 3,已经有阿里云物联网平台账号。新建PLC项目,编写PLC程序, *新建PLC项目,我这里硬件为cpu1214,dcdc_R| | | | | ---- | ---- | ---- | | | …

织梦数据库主表?dedecms数据库包含那些表

以下是织梦CMS (DedeCMS) 数据库表的汇总表格,包括主要表及其用途:表名 用途dede_admin 管理员信息表,存储管理员账号、密码、权限等信息。dede_addonarticle 附加文章表,存储文章的详细内容。dede_arctype 栏目类型表,存储网站栏目的分类信息。dede_archives 文档主表,存…

UI自动化测试方案及各个环境部署步骤

Saas后台UI自动化测试方案 一、背景saas后台功能繁多,人工回归工作量大; 版本持续迭代周期快,无足够的人力资源进行全量回归测试,特别是后端架构变动时,影响范围很广,导致测试占用时间太多。二、目标 目标一:对冒烟测试、主功能回归测试进行自动化,这样可以持续,快速的…

织梦数据库在哪个文件夹

织梦CMS数据库连接文件的内容及其参数说明:<?php // 数据库连接信息 $cfg_dbhost = localhost; // 数据库主机地址 $cfg_dbname = dedecmsv56gbk; // 数据库名称 $cfg_dbuser = root; // 数据库用户名 $cfg_dbpwd = 123456; // 数据库密…

020 计算属性简写

注意,只有当计算属性只需读取而不需修改,即没有setter时才能用简写