bzoj 1103 大都市meg (dfs序+线段树)

无线图像传输新突破:深度JSCC算法在低带宽环境下的性能实测 本文深入探讨了基于深度学习的信源信道联合编码(JSCC)算法在低带宽无线图像传输中的突破性表现。通过实测数据对比,深度JSCC在低信噪比环境下展现出卓越的鲁棒性,有效对抗传统方案的“悬崖效应”,实现图像质量的平滑下降,为远程医疗、工业巡检等严苛场景提供了新的解决方案。 阅读详情

题意:

       一颗树,每条边权是1,两种操作,一种查询x到根的距离,一种把某边改为0

思路:

        对于一个边变了,那么影响的就是子树,所以dfs序+线段树就行了,这题对于时间要求很低,vector存边,每次暴力找答案也能A

错误及反思:

代码:

#include<bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
const int N = 260000;
int segtree[N<<2],lazy[N<<2];
vector<int> e[N];
int id[N],to[N],len[N],fa[N];
int n,tid,w;

void dfs(int now,int f,int val){
    id[now]=++tid;
    fa[now]=f;
    len[tid]=val;
    for(int i=0;i<e[now].size();i++){
        if(e[now][i]!=f)
            dfs(e[now][i],now,val+1);
    }
    to[now]=tid;
}

void build(int l,int r,int rt){
    if(l==r){
        segtree[rt]=len[l];
        return ;
    }
    int m=l+r>>1;
    build(lson); build(rson);
}

void pushdown(int rt){
    if(lazy[rt]!=0){
        segtree[rt<<1|1]+=lazy[rt];
        segtree[rt<<1]+=lazy[rt];
        lazy[rt<<1]+=lazy[rt];
        lazy[rt<<1|1]+=lazy[rt];
        lazy[rt]=0;
    }
}
void update(int L,int R,int l,int r,int rt){
    if(L<=l&&R>=r){
        lazy[rt]--;
        segtree[rt]--;
        return ;
    }
    pushdown(rt);
    int m=l+r>>1;
    if(L<=m) update(L,R,lson);
    if(R>m) update(L,R,rson);
    return ;
}

int query(int x,int l,int r,int rt){
    if(l==r) return segtree[rt];
    pushdown(rt);
    int m=l+r>>1;
    if(x<=m) return query(x,lson);
    return query(x,rson);
}

int main(){
    scanf("%d",&n);
    for(int i=0,u,v;i<n-1;i++){
        scanf("%d%d",&u,&v);
        e[u].push_back(v);
        e[v].push_back(u);
    }
    dfs(1,1,0);
    build(1,n,1);
    scanf("%d",&w);
    while(w){
        char t[10]; scanf("%s",t);
        if(t[0]=='W'){
            w--;
            int x; scanf("%d",&x);
            printf("%d\n",query(id[x],1,n,1));
        }
        else{
            int x,y;
            scanf("%d%d",&x,&y);
            if(fa[y]==x) swap(x,y);
            update(id[x],to[x],1,n,1);
        }

    }
}
STM32 RTC_WaitForSynchro()死循环问题分析与LSI时钟优化实践 本文深入分析了STM32使用LSI时钟源时,调用RTC_WaitForSynchro()函数陷入死循环的根本原因。问题核心在于RTC时钟域未正确使能,导致硬件同步标志RSF无法置位。文章提供了通过显式调用RCC_RTCCLKCmd(ENABLE)函数启用RTC时钟总开关的解决方案,并分享了编写健壮RTC/BKP初始化代码、增加超时机制等最佳实践,确保系统稳定运行。 阅读详情

相关推荐

Vue3 + MQTT.js 实现 SCADA 实时数据通信:从不稳定到稳定的完整实践

本文介绍了SCADA组态引擎开发中MQTT协议的应用及优化实践。项目采用MQTT协议实现工业设备数据采集与可视化,但面临连接不稳定、数据格式多样化和数据绑定复杂三大问题。针对MQTT连接问题,分析发现超时设置过短(原8秒)、缺少客户端超时配置和心跳机制是主要原因。优化方案包括:协议转换(mqtt://→ws://)、双重超时保护(15秒手动+30秒客户端)、60秒心跳间隔等,显著提升了连接稳定性。通过完整代码实现展示了连接配置、认证处理和错误处理机制,为物联网数据传输提供了可靠解决方案。

weixin_36794508的博客 1398

【BZOJ 入门oj】1103: 那些N位数(dfs)

1103: 那些N位数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 581  Solved: 232 [Submit][Status][Web Board] Description 一个n位数,只由1,2,3,4...p这几个数字组成。 请编写程序输出这些n位数,先小后大,每行一个。   Input 两个整数n,p(n<9,p<=9,且...

reverie_mjp的博客 1148

Macbook Pro Bootcamp 安装触控板驱动mac-precision-touchpad在Windows系统下实现更好的触控板操作

由于很多软件的限制,所以不得不在Windows和MacOS之间进行切换,然而,Windows下虽然Bootcamp提供了触控板的驱动,然而只能实现简单的上下滑动和点击等操作,而且在滑动页面的时候滑动非常不流畅,体验极差。 今天无意间发现了一款第三方撰写的驱动,可以较为完美地实现Macbook笔记本在Windows系统下的触控板操作支持,通过在我的2015款Macbook Pro(A1502)进行安装测试,感觉体验很不错,在这里分享给大家。 驱动来自于Github上的imbushu,他的项目地址如下: htt

博客 1万+

BZOJ1103

BZOJ 1103 题目 BZOJ1103 分析 考虑树链剖分 本题考虑边的个数,而不是点的个数。但是可以考虑用点权代替边权,nnn 个点会有 n−1n - 1n−1 条边,所以在操作时只考虑 n−1n - 1n−1 个点即可。 代码 const int N = 250005; int head[N], ver[N], Next[N]; int d[N], son[N], fa[N],...

strategist_614的博客 266

Simulink实战:火电机组一次调频与AGC协同控制建模与仿真解析

本文详细解析了如何使用Simulink进行火电机组一次调频与AGC协调控制的建模与仿真。通过系统架构设计、参数设置和模块实现,阐述了如何实现两者的协同控制,确保电网频率稳定。文章提供了实用的建模技巧、参数整定经验和性能评估方法,为电力系统仿真工程师提供了有价值的实践指导。

c7d8e9的博客 308

Burp靶场实战:JWT签名绕过漏洞分析与利用

本文通过Burp Suite靶场实战,深入剖析了JWT签名绕过漏洞的多种攻击手法,包括签名未验证、alg:none攻击、弱密钥爆破、JWK/JKU头注入、KID路径遍历及算法混淆攻击。文章详细演示了利用过程,并提供了关键的防御指南,帮助开发和安全人员加固JWT实现,确保认证安全。

weixin_29325515的博客 594

8.3 bzoj1103 [POI2007]大都市meg

题目描述   在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。 不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双 向的土路。从每个村庄都恰好有一条路径到达村庄1(即比特堡)。并且,对于每个村庄,它到比特堡的路径恰好 只经过编号比它的编号小的村庄。另外,对于所有道路而言,它们

cx0627year的博客 896

【华为OD机试真题 2025双机位A卷】958、 高效的任务规划 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025双机位A卷】958、 高效的任务规划 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,

KJ.JK 1072

bzoj1103

dfs序 dfs序真神奇 dfs求出入栈时刻和出栈时刻,然后在in和out分别打上1和-1就能统计路径和了。 其实这里dfs序能够让我们求一个点处于哪些节点的子树内,而一个节点只处于从自己到跟路径的节点的。 这里的dfs序有些像括号序列,如果一个点不在另一个点的子树内,那么也就不在另一个点的括号内,那么另一个点的括号也闭合了,+1-1抵消 #include<bit...

weixin_30847865的博客 171

《Android系统开发中高级定制专栏导读》

欢迎来到【Android 中高级系统定制】专栏!在这里,将深入探讨Android系统开发与定制的方方面面,涵盖从权限管理、驱动开发到系统应用配置等多个领域。

我其实什么都不会 1579

RK3568适配MIPI屏幕触摸,触摸延时很大

我用的是系统,接了一个,设备树已经正确配置,evtest测试坐标值和触摸位置都是准确的。但是出现了一个:我在屏幕上点一下,要等大约 2 秒才能在evtest里看到坐标事件打印。这种现象在 Goodix 系列触摸驱动里比较少见,一般意味着。

小灰灰的博客 1363

二叉树和最大的子树

给一个二叉树,每个节点都是正或负整数,如何找到一个子树,它所有节点的和最大? struct Node { int value; Node *left; Node *right; }; int result = 0; bool maxSet = false; void postOrderVisit(Node *root) { if (NULL == root) { ret

brucehb的专栏 3526

【乐鑫】唤醒词修改方法

乐鑫科技的语音识别模块(如ESP-SR)支持自定义唤醒词,但需通过官方工具链完成。

以实战经验介绍行业知识 827

【BZOJ1103】[POI2007]大都市meg【树链剖分】【线段树】【或 树状数组 + dfs序】

【题目链接】 想都没想直接树剖去了...看了题解发现树状数组维护dfs序也可以做。 树剖: /* Pigonometry */ #include #include #include using namespace std; const int maxn = 250005; int n, head[maxn], cnt; struct _edge { int

BraketBN 983

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【DFS序+线段树】BZOJ1103 [POI2007]大都市meg

题面在这里很显然可以用DFS序把树上问题转化为区间问题修改一条边只影响了下面那棵子树中所有点的答案线段树维护区间加,单点询问就好了示例程序:

linkfqy 770

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

BZOJ1103 [POI2007]大都市meg dfs序 线段树

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1103 题意概括   一棵树上,一开始所有的边权值为1,我们要支持两种操作:   1. 修改某一条边的权值为0   2. 询问根节点到某一节点的路径权值和 题解   前置技能 - dfs序相关   然后差不多你就会了。   dfs序+线段树搞定了。 ...

weixin_30907935的博客 137

bzoj1103: [POI2007]大都市meg

bzoj1103: [POI2007]大都市meg Description   在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双向的土路。从每个村庄都恰好有一条路径到达村庄1(即比特堡)。并且,对于每个村庄,它到比特堡的路径恰好只...

weixin_30657541的博客 95

BZOJ 1103 Poi2007 大都市meg

1103: [POI2007]大都市meg Time Limit:10 SecMemory Limit:162 MBSubmit:3012Solved:1581[Submit][Status][Discuss] Description   在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。不过,她经常回...

148

BZOJ1103 [POI2007]大都市meg(DFS序)

题目:一颗树,单边修改,链上查询。。实际上链是根到结点的链。网上好像有其他做法,我的想法是这样的: 先不看修改,毫无疑问查询只是查询结点的深度;而修改一条边会有什么影响:影响是且只是以边上深度最深结点为根的子树。 所以就是DFS序了。把子树转化为区间,然后用区间修改、单点查询的线段树维护。 1 #include<cstdio> 2 #include<cs...

dengliugong3918的博客 92

【BZOJ 1103】[POI2007]大都市meg

【链接】 我是链接,点我呀:) 【题意】 在这里输入题意 【题解】 dfs序 进入的位置设为1出去的设为-1则某个点进去的位置的dfs序的前缀和就是这个点到根节点的路径数。 (可以巧妙的把那些分叉路径去掉。 修改成公路后。就把下面的那个点(深度高的)的进入和出去的值都设置为0 用线段树维护区间和。 (可以用树状数组. 【代码】 #include <bits/st...

AWCXV 118

【BZOJ1103 [POI2007]大都市meg】树链剖分

BZOJ1103 直接上树链剖分即可 注意题目是删一条路 之前以为删区间路 WA了 /* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq */ #include <cstdio> #include <cstring> #in...

我是谁 --- 卡比兽 194

[bzoj1103]大都市meg

[bzoj1103]大都市meg 树剖板子 模板 #include&lt;bits/stdc++.h&gt; using namespace std; const int N=2.5e5+2; int cnt,hed[N],to[N*2],nxt[N*2]; void adde(int u,int v){ cnt++;to[cnt]=v,nxt[cnt]=hed[u];hed[u...

jerome_wei的博客 189

BZOJ1103(POI2007)[大都市meg]--DFS序+树状数组

bzoj1103

Greninja的博客 787

BZOJ1103【POI2007】大都市meg <树上差分+树状数组>

BZOJ1103【POI2007】大都市meg 【POI2007】大都市meg Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双向的土路。从每个村庄都恰好有一条路径到达村庄1(即比特

qq_30802053的博客 351

[bzoj1103][POI2007]大都市meg

题意:给定一棵n个点的树,一开始边权都是1,然后要支持修改一条边为0和查询一个点到点1的路上的边权和。n<=250000 题解:求出dfs序,然后每个点如果它和父亲的连边有权值就把它这个子树都+1. #include<cstdio> #include<iostream> #define INF 2000000000 #define N 262144 u...

weixin_30681615的博客 72

[bzoj1103][poi2007]大都市meg(DFS序)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1103 分析: 处理树的问题如果有边权,一般转化成点权,然后问题就等价于: 给你一个初始每个点的点权都为1的树,有2种操作: 1、将一个点的点权变为0 2、询问从根(1)到某个节点的路径上的所有点的点权和 如果某个点的点权边为了0,那么说明以这个点为根的子树所有的点到树...

weixin_30521649的博客 120
上一篇: Codeforces Round #104 (Div. 1) E. Lucky Queries (线段树)
下一篇: Codeforces 85D. Sum of Medians (线段树)
Roll_Keyboard
博客等级 码龄9年 10粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值