洛谷 1197 星球大战

ADB命令解锁Android手机屏幕的3种实用方法(附详细步骤) 本文详细介绍了在Android手机屏幕失灵或密码遗忘时,利用ADB命令解锁屏幕的三种实用方法。包括通过ADB模拟输入事件、移除锁屏认证文件(需Root权限)以及结合恢复模式抢救数据。文章提供了详细的操作步骤与风险提示,强调提前开启USB调试的重要性,是Android用户应对紧急锁屏情况的有效技术指南。 阅读详情

简?单?的并查集问题

题目描述

很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。

但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始不可靠起来。现在,反抗军首领交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及帝国打击的星球顺序,以尽量快的速度求出每一次打击之后反抗军占据的星球的连通快的个数。(如果两个星球可以通过现存的以太通道直接或间接地连通,则这两个星球在同一个连通块中)。

输入输出格式

输入格式:

输入文件第一行包含两个整数,N (1 <= N <= 2M) 和M (1 <= M <= 200,000),分别表示星球的数目和以太隧道的数目。星球用0~N-1的整数编号。

接下来的M行,每行包括两个整数X, Y,其中(0<=X<>Y

输入输出样例

输入样例#1:

8 13
0 1
1 6
6 5
5 0
0 6
1 2
2 3
3 4
4 5
7 1
7 2
7 6
3 6
5
1
6
3
5
7

输出样例#1:

1
1
1
2
3
3

一个并查集维护联通块的问题,因为每次删点不好做,我们倒序处理,改为一边加点,一边随时维护联通块的个数。另外注意双向建边和第一个输出星球都被未打击时的联通块个数。

ps:我因为双向建边后面忘了调了两个小时的血泪史。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;

int N,M,K,s,t,cnt;
int fa[600050],ans[600050],first[600050],next[600050];
int a[600050],used[600050];
struct maple{
    int f,t;
}Rode[600050];

int find(int x)
{
    return fa[x]==x?x:fa[x]=find(fa[x]);
}
void build(int f,int t)
{
    Rode[++cnt]=(maple){f,t};
    next[cnt]=first[f];
    first[f]=cnt;
}
int main()
{
   scanf("%d%d",&N,&M);
   memset(ans,0,sizeof(ans));
   for(int i=1;i<=M;++i)
   {
      scanf("%d%d",&s,&t);
      build(s,t);
      build(t,s);
   }    
   for(int i=0;i<N;++i) fa[i]=i;
   scanf("%d",&K);
   for(int i=1;i<=K;++i) 
   {
      scanf("%d",&a[i]);
      used[a[i]]=1;
   }
   for(int i=1;i<=cnt;++i)
      if(!used[Rode[i].f]&&!used[Rode[i].t])
      {
         int x=find(Rode[i].f),y=find(Rode[i].t);
         if(x!=y) fa[x]=y;
      }
   for(int i=0;i<N;++i) 
     if(find(i)==i&&!used[i])
       ++ans[K];
   for(int j=K;j>=1;--j)
   {
       used[a[j]]=0;
       for(int i=first[a[j]];i;i=next[i])
       if(!used[Rode[i].t])
       {
          int x=find(Rode[i].f),y=find(Rode[i].t);
          if(x!=y) fa[x]=y,--ans[j-1];
       } 
       ans[j-1]+=ans[j]+1;
   }
   for(int i=0;i<=K;++i) cout<<ans[i]<<'\n';
   return 0;
}

另:随手附上自己对拍时打的生成小数据的代码,不要浪费qwq

#include<iostream>
#include<cstdio>
#include<cmath>
#include<ctime>
#include<algorithm>
using namespace std;

int used[1010][1010];
int a[1010];
int main()
{
    //freopen("out.out","w",stdout);
    srand(time(0));
    int N=rand()%20+1,M=rand()%20+1;
    while(N==1) N=rand()%20+1;
    while(M>=N*(N-1)) M=rand()%20+1;
    cout<<N<<" "<<M<<'\n';
    while(M--)
    {
       int x=0,y=0;
       while(x==y||(used[x][y]||used[y][x]))
       {
          x=rand()%N,y=rand()%N;
       }    
       used[x][y]=1;
       used[y][x]=1;
       cout<<x<<" "<<y<<'\n';
    }
    int k=rand()%N;
    cout<<k<<'\n';
    while(k--)
    {
        int x=0;
        while(a[x])
        {
            x=rand()%N;
        }
        a[x]=1;
        cout<<x<<'\n';
    }
    return 0;
}

//ps:可能会死循,出数据多快看人品喽_(:з」∠)_ 
MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板) 本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。 阅读详情

相关推荐

Ta-Lib源码解析(三):蜡烛图指标 (Candlestick Indicator) #(附Python重构代码和示意图)(补充中)

蜡烛图指标为识别K线形态的指标,笔者认为重点在于定义方式所提供的思路,背后的投资逻辑可以借鉴但不建议直接参考文档的翻译内容和源码逻辑存在不一致的现象,笔者分别列出中文百科中的定义和源码实际逻辑,供大家参考技术分析理论中的一些模糊词,ta-lib中给出了精确的定义源码

量化就是探索生活 3254

洛谷P1197星球大战题解

题解之前的小故事——细节决定成败细节决定成败细节决定成败 两天前为了练习并查集,在洛谷做了这道题,刚开始的时候没有思路就去看了题解,找到解题方向后就去自己写了代码,在本地通过样例后就去提交,结果只通过了四个点,就回去检查自己的代码,发现没有什么大问题,就去看了题解的代码,发现解题思想是一致的,就又交了一发,结果还是死活WA了六个点只有40分,又回去检查代码,发现真的没有什么问题啊,我想是不是测试点...

Wlis的博客 627

Modem2G/3G/4G/5G:RFFE Driver(射频前端驱动):高通平台GRFC配置方法

文 | GentlemanTsao 文章目录前言1.什么是GRFC2.GRFC的配置流程概览3.msm_sig_info的配置与分析msm_sig_info Table位置:msm_sig_info Table示例:Table元素解读:rfc_msm_sig_info_type结构体signal typemsm_gpio |grfc_num:GPIO到GRFC的映射output_typefunction_select4._sig_cfg的配置与分析_sig_cfg table位置:_sig_cfg tabl

GentelmanTsao的博客 7315

洛谷p1197星球大战 :并查集+逆向思考

2>我们可以在求已删图的并查集的过程中求连通块个数,最开始每个点的根结点节点都是自己,相当于每一个点都是一个连通块,每合并两个点,连通块的数量就要减一.对于该题有n个星球,减去k个要修复(删除)的星球就是n-k,然后我们进行合并操作,当合并两个根结点不同的星球时就cnt--,最后合并完成也得到了连通块的个数,代码就可以这样写。2.我们先用邻接表保存原本的无向图,由于我们先要得到已删图,所以我们只需要先将那些不会被删掉的星球合并到一起,定义一个vis数组标记要被删除的星球即可.3.注意对逆向思考的理解。

m0_73870617的博客 1399

基于紫光展锐平台的音频调用到hal层逻辑

基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA

weixin_55053963的博客 1355

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2726

【题解】洛谷P1197 星球大战(并查集 连通块)

对于这道题目,我们不难想到要用并查集来解决,但由于数据范围较大,而且摧毁星球的过程很难在已经建好的并查集内构建,所以我们不妨逆向思考,将摧毁变为重建星球。 读入数据后,我们采用链式邻接表构建两个点之间的边,并初始化所有即将被摧毁的星球为true。初始化并查集。由于单个点也可以作为连通块,所以我们初始化num为n-k,记录在要摧毁的所有星球都被摧毁后连通块的数量。枚举边,如果边的两个端点都没被摧毁...

Rem_Inory的博客 474

置顶必读(3) |《滚雪球学SpringBoot》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 15万+

洛谷P1197

如果从正面去做,每干一个点跑一次tarjan之类的,肯定会tle;所以不妨反(倒着)着来,把摧毁星球变成添加星球,这样就是每次跑并查集了。至于如何快速确定联通块的数量嘛,并查集每连一条边就是减少了一个联通快,不过要注意的是初始的时候联通快的数量是n-k!!!!此外还是有不少小坑需要留意的。 #include&lt;cstdio&gt; #include&lt;iostream&gt; #incl...

HumveeA6的博客 433

081、LLC谐振变换器的短路特性与保护

本文深入分析了LLC谐振变换器在短路工况下的特性与保护策略。作者通过实际案例指出,LLC在输出短路时会出现谐振电流失控、ZVS条件丧失等危险现象,导致MOS管炸毁。文章详细阐述了短路保护的三大难点:响应速度、频率与电流的耦合、重启策略,并提出了硬件级快速保护、频率快速拉升、打嗝模式等实用解决方案。作者分享了关键参数设计经验,包括电流检测阈值设置、最高频率限制和保护响应时间控制,并通过实测波形验证了保护效果。最后总结出五点重要经验,强调硬件保护的必要性和系统设计的注意事项,为LLC变换器的短路保护设计提供了有

Jack010169的博客 75

2.STM32F407ZGT6 学习笔记-移植 FreeRTOS

1. 在工程下建议FreeRTOS文件夹 2. 在FreeRTOS文件夹下建立 src 和 port 文件夹 (src用于存放freertos源码,port文件夹存放内存和接口相关的文件) 3. 复制freertos/source文件夹下所有c文件复制到刚刚建立的freertos/src目录下 4. 复制FreeRTOSv9.0.0\FreeRTOS\Source\portablex下的MemMang和RVDS文件夹复制到刚刚建立的port问价夹下 5. 将FreeRTOSv9.0.0\FreeRTOS

Car12 1233

并查集判断连通块 [JSOI2008]星球大战(洛谷 P1197)

[JSOI2008]星球大战 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通...

不知所云的博客 290

基于自抗扰控制的虚拟同步发电机二次调频控制研究

摘要:本文针对高比例可再生能源并网导致的电力系统频率稳定性问题,提出基于自抗扰控制(ADRC)的虚拟同步发电机(VSG)二次调频控制策略。通过分析VSG工作原理和传统调频方法的不足,设计了非线性ADRC和线性ADRC两种控制器,详细阐述了参数整定方法。仿真结果表明,该策略能有效消除频率稳态偏差,提升系统抗扰能力,为分布式电源参与电网调频提供了新思路。 关键词:虚拟同步发电机;自抗扰控制;二次调频;频率调节;抗扰能力

huanghm88的专栏 243

洛谷P1197.星球大战

正着不好想,逆向思维将。

Pisasama的博客 345

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

洛谷 P1197 [JSOI2008]星球大战

洛谷 P1197 [JSOI2008]星球大战 Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于...

weixin_30664615的博客 72

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

洛谷 P1197 [JSOI2008]星球大战 离线+并查集

洛谷 P1197 [JSOI2008]星球大战 离散化+并查集 题解: 这道题我们需要离线存储信息,然后逆着往上不断地修复每个星球。 代码如下: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include...

化身孤岛的鲸o的博客 461

【洛谷】P1197星球大战

【洛谷】P1197星球大战 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始不可靠起来。 现在,反抗军首领交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及帝国打击的星球

weixin_46975572的博客 313

(并查集)洛谷P1197 [JSOI2008]星球大战

P1197 [JSOI2008]星球大战 思路: 摧毁是这个题目的一个难点,如果是摧毁一个点就重新构图的话肯定会T。那么我们可以反着想,就是从最后的状态往前推,用并查集判断是否是连通块。 代码: #include<bits/stdc++.h> #define pii pair<int,int> #define ll long long const int N=1e6+10;...

Z7784562的博客 319

【题解】洛谷P1197 [JSOI2008]星球大战

题目 洛谷P1197[JSOI2008]星球大战 题解 判断两个星球的连通性以及计算连通块的个数,可以使用并查集。但是,并查集不容易实现删除操作,所以要从问题的反面考虑,即从最终的局面开始,逐个添加被消灭的星球。实时计算连通块的数量,若两个连通块合并,则数量减一。 一些与题目本身无关的提醒:定义vector<int> v后,如果容器是空的,不能用v[]=直接赋值,如果容器内有超过i个元素(即v[i]存在),才可以直接访问v[i]。 变量名不要用kill(与库函数

zjgmartin的博客 448

#洛谷oj:P1197星球大战

** 洛谷oj:P1197星球大战 ** #题目描述 #要用并查集 #这个是要反着用的 比起其他差不多的题有点特殊 #知识点 并查集 #代码 第一次:就按照一般的板子来写超时了 就稍微优化了点 还是超时了 懂了这个再看第二个 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define Maxn 400005 int

resting_xiub的博客 310

洛谷1197 [JSOI2008]星球大战

洛谷1197 [JSOI2008]星球大战 本题地址: http://www.luogu.org/problem/show?pid=1197题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造

huzujun的博客 846

寒假刷题34:洛谷P1197 [JSOI2008]星球大战(并查集)

题目链接: 洛谷P1197 [JSOI2008]星球大战 题目解析: 离线以后逆序操作 AC代码: #include<iostream> #include<cstring> #include<vector> #include<queue> #include<algorithm> using namespace std; con...

int_lyy的博客 216

洛谷P1197 [JSOI2008]星球大战

洛谷P1197 [JSOI2008]星球大战 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧...

weixin_30511039的博客 91

每日一题004-并查集-洛谷p1197星球大战

现在,反抗军首领交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及帝国打击的星球顺序,以尽量快的速度求出每一次打击之后反抗军占据的星球的连通块的个数。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。的方式存图,大多数题解都是这么写的,但我觉得,我偷懒使用直接存边和邻接表的方式,代码写起来更简单。先假设全部摧毁了,看看有几个连通块,再倒着恢复节点,并记录连通块的数量。很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。

zjh的博客 1128
上一篇: 洛谷 1007 独木桥
下一篇: <学习笔记?>考试与做题的注意事项总结。
Loi_Mapleleaf
博客等级 码龄10年 17粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值