[BZOJ2325][ZJOI2011][树链剖分][线段树]道馆之战

告别传统桥式PFC!用交错并联图腾柱方案搞定3kW大功率电源设计(附DSP28035+CPLD控制框图) 本文详细介绍了3kW高效电源设计中交错并联图腾柱无桥PFC的工程化实现方案。通过消除传统桥式PFC的导通损耗,该方案在服务器电源和工业电力系统中实现98.5%的高效率,同时减少40%磁性元件体积。文章涵盖拓扑结构创新、关键器件选型、DSP+CPLD控制架构及EMI抑制等实战经验,为高功率密度电源设计提供完整解决方案。 阅读详情

调了一个晚上
代码又臭又长

为什么zjoi2011的题目都是代码量那么大的题…

考虑在一条链上的情况,可以用线段树记录一个区间的八个值

  • 从左端点的A往右走的最大步数
  • 从左端点的B往右走的最大步数
  • 从右端点的A往左走的最大步数
  • 从右端点的B往左走的最大步数
  • 从右端点的A到左端点的A或从左端点的A到右端点的A的最大步数
  • 从右端点的A到左端点的B或从左端点的B到右端点的A的最大步数
  • 从右端点的B到左端点的A或从左端点的A到右端点的B的最大步数
  • 从右端点的B到左端点的B或从左端点的B到右端点的B的最大步数

然后维护瞎维护一下……
那么用树链剖分就可以把树上的情况转化成多个链的情况
树链剖分求一条(u,v)的路径的时候(u,lca)的路径要反转后再链上(v,lca)

这里和维护的部分坑了我一个晚上……

果然代码写的长就容易错……

#include <cstdio>
#include <iostream>
#include <algorithm>
#define N 30010

using namespace std;

int n,m,cnt,g,u,v;
int p[N],q[N],G[N],fa[N],top[N],son[N],siz[N],dpt[N];
char A[N],B[N];
char op;
struct edge{
    int t,nx;
}E[N<<1];
struct stp{
    int lara,larb,lbra,lbrb,Max,Empty,la,lb,ra,rb;
    stp(){lara=larb=lbra=lbrb=Max=Empty=la=lb=ra=rb=0;}
    friend stp operator +(stp a,stp b){
        stp r;
        if(a.lara&&b.lara) r.lara=a.lara+b.lara; if(a.larb&&b.lbra) r.lara=max(r.lara,a.larb+b.lbra);
        if(a.lara&&b.larb) r.larb=a.lara+b.larb; if(a.larb&&b.lbrb) r.larb=max(r.larb,a.larb+b.lbrb);
        if(a.lbra&&b.lara) r.lbra=a.lbra+b.lara; if(a.lbrb&&b.lbra) r.lbra=max(r.lbra,a.lbrb+b.lbra);
        if(a.lbra&&b.larb) r.lbrb=a.lbra+b.larb; if(a.lbrb&&b.lbrb) r.lbrb=max(r.lbrb,a.lbrb+b.lbrb);
        r.la=max(r.lara,r.larb); r.ra=max(r.lara,r.lbra); r.la=max(r.la,a.la); r.ra=max(r.ra,b.ra);
        r.lb=max(r.lbra,r.lbrb); r.rb=max(r.larb,r.lbrb); r.lb=max(r.lb,a.lb); r.rb=max(r.rb,b.rb);
        if(a.lara&&b.la) r.la=max(a.lara+b.la,r.la);
        if(a.larb&&b.lb) r.la=max(r.la,a.larb+b.lb);
        if(a.lbra&&b.la) r.lb=max(a.lbra+b.la,r.lb);
        if(a.lbrb&&b.lb) r.lb=max(r.lb,a.lbrb+b.lb);
        if(b.lara&&a.ra) r.ra=max(r.ra,b.lara+a.ra);
        if(b.lbra&&a.rb) r.ra=max(r.ra,b.lbra+a.rb);
        if(b.larb&&a.ra) r.rb=max(r.rb,b.larb+a.ra);
        if(b.lbrb&&a.rb) r.rb=max(r.rb,b.lbrb+a.rb);
        if(a.Empty||b.Empty) r.Empty=1;
        r.Max=max(r.la,r.lb);
        return r;
    }
    inline stp reverse(){
        stp r=*this;
        swap(r.larb,r.lbra);
        swap(r.la,r.ra);
        swap(r.lb,r.rb);
        return r;
    }
};
struct seg{
    int l,r;
    stp w;
}T[N<<2];

inline char nc(){
    static char buf[100000],*p1=buf,*p2=buf;
    if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,stdin);if(p1==p2) return EOF;}
    return *p1++;
}

inline void reaD(int &x){
    char c=nc(); x=0;
    for(;c>57||c<48;c=nc());for(;c>=48&&c<=57;x=x*10+c-48,c=nc());
}

inline void reaD(char &x){
    while((x=nc())!=46&&x!=35&&x!='Q'&&x!='C');
}

inline void Insert(int x,int y){
    E[++cnt].t=y; E[cnt].nx=G[x]; G[x]=cnt;
    E[++cnt].t=x; E[cnt].nx=G[y]; G[y]=cnt;
}

void dfs0(int x,int f){
    fa[x]=f; dpt[x]=dpt[f]+1; siz[x]=1;
    for(int i=G[x];i;i=E[i].nx)
        if(E[i].t!=f){
            dfs0(E[i].t,x);
            if(siz[E[i].t]>siz[son[x]]) son[x]=E[i].t;
            siz[x]+=siz[E[i].t];
        }
}

void dfs1(int x,int tp){
    top[x]=tp; p[q[x]=++g]=x;
    if(son[x]) dfs1(son[x],tp);
    for(int i=G[x];i;i=E[i].nx)
        if(E[i].t!=fa[x]&&E[i].t!=son[x]) dfs1(E[i].t,E[i].t);
}

inline void set(int g,int x){
    T[g].w.lara=(A[p[x]]=='.');
    T[g].w.lbrb=(B[p[x]]=='.');
    if(A[p[x]]=='.'&&B[p[x]]=='.') T[g].w.larb=T[g].w.lbra=2;
    else T[g].w.larb=T[g].w.lbra=0;
    T[g].w.la=max(T[g].w.lara,T[g].w.larb); T[g].w.lb=max(T[g].w.lbra,T[g].w.lbrb);
    T[g].w.ra=max(T[g].w.lara,T[g].w.lbra); T[g].w.rb=max(T[g].w.larb,T[g].w.lbrb);
    if(A[p[x]]=='#'&&B[p[x]]=='#') T[g].w.Empty=1; else T[g].w.Empty=0;
    T[g].w.Max=max(T[g].w.la,T[g].w.ra);
}

void build(int g,int l,int r){
    T[g].l=l; T[g].r=r;
    if(l==r) return set(g,l);
    int mid=l+r>>1;
    build(g<<1,l,mid);
    build(g<<1|1,mid+1,r);
    T[g].w=T[g<<1].w+T[g<<1|1].w;
}

stp query(int g,int l,int r){
    if(T[g].l==l&&T[g].r==r) return T[g].w;
    int mid=T[g].l+T[g].r>>1;
    if(r<=mid) return query(g<<1,l,r);
    if(l>mid) return query(g<<1|1,l,r);
    return query(g<<1,l,mid)+query(g<<1|1,mid+1,r);
}

inline int query(int x,int y){
    int lara=0,larb=0,lbra=0,lbrb=0;
    int a=x,b=y,lca;
    while(top[a]!=top[b])
        if(dpt[top[a]]<dpt[top[b]]) b=fa[top[b]];
        else a=fa[top[a]];
    lca=dpt[a]<dpt[b]?a:b;
    stp L,R;L.Empty=R.Empty=1; bool fir=1;
    for(;top[x]!=top[lca];x=fa[top[x]])
        if(fir)L=query(1,q[top[x]],q[x]).reverse(),fir=0;
        else L=L+query(1,q[top[x]],q[x]).reverse();
    if(fir)L=query(1,q[lca],q[x]).reverse();
    else L=L+query(1,q[lca],q[x]).reverse(); fir=1;
    for(;top[y]!=top[lca];y=fa[top[y]])
        if(fir) R=query(1,q[top[y]],q[y]),fir=0;
        else R=query(1,q[top[y]],q[y])+R;
    if(y!=lca) 
        if(fir) R=query(1,q[lca]+1,q[y]);
        else R=query(1,q[lca]+1,q[y])+R;
    return (L+R).Max;
}

void update(int g,int x){
    if(T[g].l==T[g].r) return set(g,x);
    int mid=T[g].l+T[g].r>>1;
    if(x<=mid) update(g<<1,x);
    else update(g<<1|1,x);
    T[g].w=T[g<<1].w+T[g<<1|1].w;
}

int main(){
    freopen("1.in","r",stdin);
    freopen("1.out","w",stdout);
    reaD(n); reaD(m);
    for(int i=1;i<n;i++)
        reaD(u),reaD(v),Insert(u,v);
    dfs0(1,0); dfs1(1,1);
    for(int i=1;i<=n;i++)
        reaD(A[i]),reaD(B[i]);
    build(1,1,g);
    for(int i=1;i<=m;i++){
        reaD(op);
        if(op=='Q'){
            reaD(u); reaD(v);
            printf("%d\n",query(u,v));
        }
        else{
            reaD(u); reaD(A[u]); reaD(B[u]);
            update(1,q[u]);
        }
    }
}
ESP32S3编译micropython固件 编译ESP32芯片的micropython固件 阅读详情

相关推荐

SageMath下载与安装

SageMath的下载与安装

旺旺的碎冰冰~的博客 7495

[ZJOI2011] 道馆之战(树链剖分)

啊啊啊啊啊考试时打数据结构简直就是找死

369

Bladed风电仿真软件新手必看:从界面操作到功率曲线计算的完整指南

本文为风电工程师提供Bladed仿真软件的完整入门指南,涵盖界面操作、功率曲线计算及动态仿真等核心功能。通过实战技巧和常见问题解决方案,帮助新手快速掌握这款全球领先的风电机组仿真工具,提升风电项目开发效率。

weixin_30839881的博客 102

【BZOJ2325】[ZJOI2011]道馆之战 线段树+树链剖分

【BZOJ2325】[ZJOI2011]道馆之战 Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过一次。当一个冰地上的所有冰块都被经过之后,到下一个冰地的楼梯才会被打开。三个冰地分别如下: 当走出第三个冰地之后,就可以与馆主进行道馆战了。馆主发现这个难度太小,导致经常有...

aodanchui1057的博客 191

物体检测之非极大值抑制:NMS、softNMS、softerNMS、IoU-Net

当前的物体检测算法为了保证召回率,对于同一个真实物体往往会有多个的候选框输出。由于多余的候选框会影响检测精度,因此需要利用NMS过滤掉重叠的候选框,得到最佳的预测输出。当前有如下几种较为常见的NMS方法, 1.基本NMS 非极大值抑制, 顾名思义就是抑制不是极大值的边框,这里的抑制通常是直接去掉冗余的边框。 这个过程涉及以下两个量化指标: 1.预测得分:NMS假设一个边框的预测得分越高,这个框...

LeoLee 1941

FAST-LIO2实战:从零搭建香港大学火星实验室SLAM框架(附官方数据集测试指南)

本文提供了一份详细的FAST-LIO2实战指南,帮助读者从零开始搭建香港大学火星实验室开源的这一高效激光惯性里程计框架。内容涵盖系统环境配置、依赖安装、源码编译、官方数据集测试以及参数调优,旨在让开发者快速上手并应用于机器人SLAM项目。

ppp33的博客 688

【ZJOI2011】道馆之战

【ZJOI2011】染色 【题目描述】 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 【输入】 第一行包含2个整数n和m,分别表示节点数和操作数;

OI技术宅 1600

SAP-ABAP:SAP库存管理核心增强:IF_EX_MB_DOCUMENT_BADI 深度解析

SAP库存管理核心增强:IF_EX_MB_DOCUMENT_BADI 深度解析

baidu_35680696的博客 1446

[BZOJ2325][ZJOI2011]道馆之战(树剖+线段树)

Address 洛谷P4679 BZOJ2325 Solution 先树剖,把树转成序列。然后线段树上每个点维护 888 个值: z00z_{00}z00​ :从对应区间左端点的 AAA 区域走到右端点的 AAA 区域经过的最多格子数,如果不连通则为 000 。 z01z_{01}z01​ :从对应区间左端点的 AAA 区域走到右端点的 BBB 区域经过的最多格子数,如果不连通则为 000 。 z...

女装的你,如此好看! 331

枪支/刀具检测 (gun, knife) - SIXray, Clasp Dataset,YOLOv11+UI界面+数据集

python复制编辑# 计算 CIoU 损失。

YOLO 539

【BlueDroid】【PBAP】蓝牙电话本协议之同步通讯录分析(超详细)

Header - Type = "x-bt/vcard-listing":代表了该Request对应的Function为PullvCardListing;Profile:PBAP (4),上层应用层协议为PBAP,OBEX协议的上层应用层协议除了PBAP,还有OPP、MAP协议;Response in Frame:该request frame-485对应的Response frame为489;在PBAP协议同步通讯录和通讯记录中,都是基于OBEX协议实现的,PBAP协议作为了应用层协议;

风云说通信 2071

bzoj 2325: [ZJOI2011]道馆之战 (树链剖分+线段树)

2325: [ZJOI2011]道馆之战 Time Limit: 40 Sec  Memory Limit: 256 MB Submit: 1175  Solved: 429 [Submit][Status][Discuss] Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中 的每一个冰块都只能经过

clover_hxy的博客 621

2026华为OD面试题029:勇攀数字高峰

在给定的数字地形图里寻找登山路径,数字代表当前位置的海拔高度。要求从最低海拔出发,不断攀登,最终到达最高山峰。地图保证最低海拔和最高山峰都只有一个。 登山规则: - 路径上的海拔必须严格递增 - 只能向上下左右 4 个方向移动 - 路径必须从最低海拔开始,到最高海拔结束 - 每个地点只能走一次 - 每一步的攀登高度差必须大于 0,且不超过指定值 `K` 输出满足条件的登山路径的数量。

琅嬛福地 116

BZOJ2325 [ZJOI2011]道馆之战 树链剖分 线段树

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2325 题意概括 给你一棵N个点的树,树上的每个节点有A,B两块区域,且每种区域有两种状态:可以走的“.”,不能走的“#”。每次只能移动到相邻节点的同一类区域(AA,BB)或这个房间的另一区域(AB,BA)。 现在有Q个操作,操作分两种:C x s :将x节点A,B的...

weixin_30871701的博客 151

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

深度学习工具包 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")

BZOJ2325[ZJOI2011]道馆之战——树链剖分+线段树

题目描述 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中 的每一个冰块都只能经过一次。当一个冰地上的所有冰块都被经过之后,到下一个冰地的楼梯才会被打开。三个冰 地分别如下: 当走出第三个冰地之后,就可以与馆主进行道馆战了。馆主发现这个难度太小,导致经常有挑战者能通过,为了加 大难度,将道馆分成了n个房间,每个房间中是两...

weixin_34055910的博客 221

NTscan扫描工具

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

bzoj2325 [ZJOI2011]道馆之战(树链剖分+线段树)

Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过一次。当一个冰地上的所有冰块都被经过之后,到下一个冰地的楼梯才会被打开。三个冰地分别如下: 当走出第三个冰地之后,就可以与馆主进行道馆战了。馆主发现这个难度太小,导致经常有挑战者能通过,为了加大难度,将道馆分成了n个房间,每个房间中是两个冰块

Coco_T的博客 420

【bzoj2325】[ZJOI2011]道馆之战 树链剖分+线段树区间合并

题目描述 给定一棵树,每个节点有上下两个格子,每个格子的状态为能走或不能走。m次操作,每次修改一个节点的状态,或询问:把一条路径上的所有格子拼起来形成一个宽度为2的长方形,从起点端两个格子的任意一个开始走,每个能走的格子最多只能经过一次,这个条件下能够走的最多格子数。 输入 第一行包含两个正整数n和m。第2行到第n行,每行包含两个正整数x和y,表示一条连接房间x和房间y的边。房...

weixin_30496751的博客 180

【BZOJ-2325】道馆之战 树链剖分 + 线段树

2325: [ZJOI2011]道馆之战 Time Limit:40 SecMemory Limit:256 MBSubmit:1153Solved:421[Submit][Status][Discuss] Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过一次。当...

weixin_30617737的博客 133

【BZOJ 2325】[ZJOI2011]道馆之战

思路: 代码: #include #include #include #include using namespace std; const int maxn = 30010; int n, m; int head[maxn], to[maxn1], nxt[maxn1], cnt; int top[maxn], dep[maxn], son[maxn], sz[maxn],

yhf_2015 291

bzoj2325 [ZJOI2011]道馆之战

Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过一次。当一个冰地上的所有冰块都被经过之后,到下一个冰地的楼梯才会被打开。 三个冰地分别如下: 当走出第三个冰地之后,就可以与馆主进行道馆战了。 馆主发现这个难度太小,导致经常有挑战者能通过,为了加大难度,将道馆分成了n个房间,每个...

weixin_30332241的博客 159

重走长征路---OI每周刷题记录---8月2日 2014

总目录详见https://blog.youkuaiyun.com/mrcrack/article/details/84471041 做题原则,找不到测评地址的题不做。2018-11-28 重走长征路---OI每周刷题记录---8月2日  2014 本周共计 题+题 测评地址: bfs+树上倍增:「JoyOI1577」泥泞的道路 dp:「bzoj1576」楼梯 树链剖分+线段树:「bzoj2325...

mrcrack的博客 450

【QBXT】学习笔记——Day6树上问题

今天这个专题上的真是一脸mengbi啊。 讲的各种用法十分玄学,听懂的不是很多。 不过把点分治好好看了看,还切掉了一道点分+扩欧的题。 对我来说已经是很神的题了啊,居然没有调试很久就过掉了233. =====================分割线===================== Day6 1.19AM 树上问题啊树上问题啊,上午讲树剖+点分。 刚开始还好,然后就昏昏欲睡

MEET YOU FIRST TIME 884
上一篇: [BZOJ2227][Zjoi2011][找规律][排列组合][数学]看电影(movie)
下一篇: [BZOJ3817][类欧几里得算法]Sum
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值