HDU-3887-树状数组

画个板子玩一玩STM32F030F4P6,也许是最便宜的32bit MCU 前言,什么是STM32F030F4P6 STM32目前最便宜的芯片之一应该就是这一块,STM32F030F4P6,这一个芯片没有USB,但是其他都有,引脚少,价格低廉,如果找不到原厂,可以买替代的国产芯片,性能也一样。 不管怎么样也是Cortex-M0,比8bit和16bit的性能都强,总的来说就是低价,引脚少,体积小的同时,还容易开发,有很多模拟输入可玩,还有SPI,硬件I2C等等 所以,这一款MCU真的是从理论来说又便宜又好用,非常适合把玩。 画个板,最小系统 STM32F030其.. 阅读详情

一看这题简单啊 。。

于是写 。。

于是wa 。。。

传说中的暴栈 。。。

人工写 。。 对我来说还是挺难的 。。。

注释掉的就是暴栈的 。。


int start[maxn];
int end[maxn];
int vis[maxn];
int C[maxn];
int ans[maxn];
int ans1[maxn];
int ans2[maxn];
int stack[maxn];

int t, n;
vector<int>v[maxn];



int lowbit(int x)
{
    return x&(-x);
}

void add(int pos, int val)
{
    for(; pos<=n; pos+=lowbit(pos))
        C[pos] += val;
}

int query(int pos)
{
    int s = 0;
    for(; pos; pos-=lowbit(pos))
        s += C[pos];
    return s;
}

/*void dfs(int u)
{
    vis[u] = 1;
    ans1[u] = query(u-1);
    add(u, 1);
    for(int i=0; i<v[u].size(); i++)
    if(vis[ v[u][i] ]==0)
    {
        dfs( v[u][i] );
    }
    ans[u] = query(u-1)-ans1[u];
}*/

void dfs(int u)
{
    memset(C, 0, sizeof(C));
    memset(vis, 0, sizeof(vis));
    int top = 0;
    stack[top++] = u;
    vis[u] = 1;
    ans1[u] = query(u-1);
    add(u, 1);
    while(top)
    {
        int i, uu;
        u = stack[top-1];
        for(i=0; i<v[u].size(); i++)
        {
            uu = v[u][i];
            if(!vis[uu])
            {
                stack[top++] = uu;
                ans1[uu] = query(uu-1);
                add(uu, 1);
                vis[uu] = 1;
                break;
            }
        }
        if( i==v[u].size() )
        {
            top--;
            uu = stack[top];
            ans[uu] = query(uu-1) - ans1[u];
        }
    }
}
int main()
{
    int p, a, b;
    while(scanf("%d%d", &n, &p), n)
    {
        t = 0;
        for(int i=1; i<=n; i++) v[i].clear();
        for(int i=1; i<n; i++)
        {
            scanf("%d%d", &a, &b);
            v[a].push_back(b);
            v[b].push_back(a);
        }
        dfs(p);
        for(int i=1; i<n; i++)
            printf("%d ", ans[i]);
        printf("%d\n", ans[n]);
    }
	return 0;
}



车载通信技术原理-CAN通讯和代码配置:奥迪A6轿车总线拓扑图 CAN总线是一种用于汽车监测与控制系统的串行通信协议,由德国Bosch公司开发。它具有多主工作方式、优先级仲裁、高抗干扰等特点,支持点对点、广播等多种通信方式,传输距离可达10公里。CAN协议采用差分信号传输,物理层使用双绞线,数据链路层实现错误检测、位填充等功能。协议帧类型包括数据帧、遥控帧、错误帧等。CAN总线自1986年发布以来,已成为汽车电子系统的标准配置,广泛应用于车载网络。文章还提供了S32K144芯片的CAN驱动代码示例。 阅读详情

相关推荐

Anaconda安装教程(超详细版)

目录 一、Anaconda简介 二、运行环境 三、安装Anaconda 四、手动配置环境变量(重点) 五、测试Anaconda环境是否配置成功 一、Anaconda简介 Anaconda,一个开源的Python发行版本,可用于管理Python及其相关包,包含了conda、Python等180多个科学包及其依赖项。 二、运行环境 Windows11 (Window10用户亦可参考,仅环境变量打开位置不同)。 三、安装Anaconda (1)百度“Anaconda”或者输入网址

m0_61607990的博客 22万+

hdu3887 (模拟栈+树状数组 ) &poj 3321 apple tree

首先说一下hdu的题意是输出每一个点的子树中比他小的点的个数。 poj的题意是输出子树的节点数,这基本就算是一个题了。 本来是不断地dfs就好了,但是这个栈的内存会爆,学长说了,C++不是可以手动扩栈吗, 然后就加上这一句#pragma comment(linker, "/STACK:102400000,102400000") 但是我问他区域赛可以吗,他说只要你不写错,一般不会的,还有一种

wuhulala的休息室 1177

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1202

HDU--3887[Counting Offspring] DFS标号+线段树O(N*logN)

思路: (1):dfs对每个点标号。记录每个点的开始时间S和结束时间E. (2):按顺序一次查询并访问每个结点。 (3):查询并访问: for(i=1;i<=N;i++) { f[i]=Query(1,S1[i],E1[i]); Update(1,S1[i]);

___简言 1204

RGB接口电容触摸屏驱动(二)接口与时序说明

RGB接口电容触摸屏驱动(二)接口与时序说明

杰克拉力船长个人博客 4918

【PCIe 总线及设备入门学习专栏 3.2.2 -- PCIe 中什么是 SR-IOV】

SR-IOV(Single Root I/O Virtualization)是 PCIe 规范中的一种技术,允许物理 PCIe 设备(称为 Physical Function, PF)虚拟化为多个虚拟设备(称为 Virtual Functions, VFs),使多个操作系统或虚拟机能够共享同一个物理设备。SR-IOV:一种 PCIe 虚拟化技术,允许将一个物理 PCIe 设备虚拟化为多个虚拟设备。:物理设备的主要管理接口。:PF 的轻量级副本,分配给虚拟机或操作系统。

CodingCos的博客 1513

hdu 3887 Counting Offspring 树上求所有节点的子树上比当前节点小的个数 树状数组

Problem DescriptionYou are given a tree, it’s root is p, and the node is numbered from 1 to n. Now define f(i) as the number of nodes whose

kongming_acm的专栏 683

工业级Modbus ASCII实时监控系统(WinForms完整实现)

本文介绍了一个基于WinForms的工业级Modbus ASCII实时监控系统实现方案。该系统采用经典工控界面布局,包含串口配置、数据采集控制和实时数据显示三大区域。核心功能包括:串口通信参数设置、Modbus从站地址配置、寄存器数据采集、实时数据表格展示和趋势图绘制。系统通过ModbusAsciiClient类实现通信核心,采用定时器轮询机制采集数据,支持最多100个数据点的历史趋势显示。界面设计注重用户体验,配置区位于左侧,主显示区在右侧,底部为状态和日志区,符合工业控制系统的操作习惯。代码示例展示了窗

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 277

【DFS序+树状数组】HDU 3887 Counting Offspring

http://acm.hdu.edu.cn/showproblem.php?pid=3887 【题意】 给定一棵树,给定这棵树的根 对于每个结点,统计子树中编号比他小的结点个数 编号从小到大一次输出 【思路】 从小到大处理每个结点,即统计当前结点的结果后,把当前结点插入到树状数组中 【AC】 1 #include<bits/stdc++.h> ...

weixin_30267691的博客 113

[P4V]Perforce(P4V)使用教程

1.前言 Perforce SCM System是一款构建于可伸缩客户/服务器结构之上的软件配置管理工具。仅仅应用TCP/IP,开发人员就能够通过多种Perforce客户端(几种平台的GUI、WEB、或命令行)访问Perforce服务器。Perforce能够被快速和容易地部署,即使对大型或分布式的站点,也只要求最小限度的管理。Perforce可以使用在50多个操作系统中,它包括版...

元直的博客 2万+

ABAP Secure Storage 在事务码 SM59 中的应用

系统管理人员在进行维护时,应关注相关日志信息,及时发现可能出现的安全异常,并针对不同安全等级的操作制定相应的备份与恢复策略,以降低潜在风险。该区域在设计上具备高度隔离性,仅允许经过授权的组件访问。保存后,系统会将密码存储在 Secure Storage 中,这种处理方式充分体现了 SAP 标准程序在安全设计上的考量。对于系统管理员而言,这种机制在日常维护与审计中提供了有力的支持,可以通过比对存储数据的哈希值或其他完整性校验手段,及时发现异常变动,保障系统长期稳定运行。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 670

hdu3887dfs序+树状数组/线段树

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3887 大意:求在当前点的所有后代中,后代点的序号大小&amp;lt;当前点的序号大小,并统计他们的个数,这就是f[i]。 思路:dfs序+树状数组/线段树 dfs序:https://www.cnblogs.com/stxy-ferryman/p/7741970.html dfs序:dfs是深度优先的,所以...

liwei_av的博客 343

【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第1章 开发环境搭建

开发环境: MDK:Keil 5.30 MCU:GD32F207IK 1.1 GD32F207I-EVAL开发板简介 笔者使用的开发板是兆易创新设计的GD32F207I-EVAL开发板。 GD32F207I-EVAL开发板使用 GD32F207IK作为主控制器,主频120MHz、集成3MB Flash、256KB SRAM、通用定时器*10、Adv. TM*2、Basic TM*2、系统时钟*1、看门狗*2、RTC*1、USART*4、UART*4、I2C*3、SPI*3、I2S*1、SDIO*1、CAN

不问归期的博客 9986

【HDU 3887 Counting Offspring】dfs序 +树状数组

HDU 3887 他要统计子树内小于他的数有多少个 那么我们处理好询问空间 然后排个序 然后用树状数组维护比他小右多少个 答案就是 getsum(arr[i].id) - 1 (不计自身) /* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq */...

我是谁 --- 卡比兽 215

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

HDU3887 - Counting Offspring(树状数组+模拟栈)

题目链接 HDU3887 【题意】 给出一颗树,求出每个点的

转移到dawxy.com 707

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【HDU 3887 Counting Offspring】 dfs序+树状数组

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3887 题目大意: 给你一颗n个节点的数,对于每个节点i,问你每个节点的子树中有多少个节点序列数小于i,求f[i]。 解题思路: 用样例来说明,我们可以先深搜一遍,那么深搜得到的序列就是 7,3,15,15,12, 12, 3, 4, 4, 1, 1, 10, 14, 13...

baidui8622的博客 182

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HDU-3887 Counting Offspring 树状数组+模拟栈

http://acm.hdu.edu.cn/showproblem.php?pid=3887 做树状数组专题,竟然还是没有看出这题可以用树状数组来写,表示有点不好意思啊。 原来树状数组之所以能够搞定这一题是因为我们在建立好一棵数时,通过反问一个节点的子孙们后,顺序对的变化数来统计有多少数字比该节点小的子孙节点。 该题用DFS搜索直接爆栈,所以恶心的写了一个模拟栈,其实要注意的就是每个节点要在...

weixin_30869099的博客 87

hdu 3887 树状数组

给你一棵树,每个节点都有个编号。 让你求一个节点他的子树中编号比他小的节点有几个。(编号唯一,从1-N,已给出根节点) 解: 树状数组统计。转化为线性序列。          可以想到的是,若要统计一个节点,那么比它小的孩子必须先插完,然后统计就行了。对于一个节点i来说,只要把所有x          那么对于所有节点来说也是这样的,从一开始插,插一个,查询一个即可。

Julyana_Lin_夜 633

HDU 3887 Counting Offspring 树状数组

/* 题意:1-n在一棵树上,给定边的关系。要求得到每一个顶点的后继节点中比它值小的个数 题解:树状数组。dfs过程中,进入一个节点x前求一次sum(x-1),然后add操作,递归返回节点x后再求一次sum(x-1) 两次sum操作的差值就是比x小的个数 本题数据量大

Join Hands 1282

HDU 3887 Counting Offspring (树状数组)

思路:对于每个结点深搜,先记录在搜索该结点前已经出现过的比该结点小的结点总数为pre[i],然后搜索并更新该结点的所有子树,最后返回该节点时,再求一次比该结点小的结点总数now[i],则该结点子树中比他小的结点总数就为now[i]-pre[i]。查询出现过比i小的结点总数用树状数组。 #include #include #include #include using namesp

BehappyXiang的专栏 721

hdu 3887 DFS序+树状数组

点击打开链接 DFS序的意义:对一棵树进行DFS遍历,一个结点最多到达两次, 一次入,一次出,而这之间的结点标号均为它的子树结点的标号。所以只要用某种方法快速查询其左右标号内含的区间中,比它小的标号个数即可 //#pragma comment(linker, "/STACK:1024000000,1024000000") //开大栈 防止dfs爆栈 #include #inc

Masamiiiiii 501

hdu3887-dfs序&树状数组-Counting Offspring

http://acm.hdu.edu.cn/showproblem.php?pid=3887 dfs序可以解决一些子树上信息维护。 给定一个树,问你某点子树上的编号小于当前结点的数量是多少。 当然要建立双向图了,因为你不知道树的走向。 走完dfs序之后(当然,这个处理方法本质上没有什么难的,我甚至觉得tarjan也是dfs序,但是这个dfs序还包括遍历完的时间。而tarjan却是把他当成唯一

天与云与山与水 316

HDU 3887 DFS序+树状数组

Problem Description You are given a tree, it’s root is p, and the node is numbered from 1 to n. Now define f(i) as the number of nodes whose number is less than i in all the succeeding nodes of nod

Little_boy_z的博客 407

HDU 3887 Counting Offspring 树状数组 + 栈模拟dfs

来源:http://acm.hdu.edu.cn/showproblem.php?pid=3887 题意:给一棵树,树的根结点给出,边也给出,现在问每个结点下面有多少个结点的编号比该结点的编号小。 思路:这道题就是POJ 3321 和 HDU 4417的结合。首先用dfs遍历树,对每个结点对应一个区间,然后就是求一个区间内比一个数小的数有多少个,和HDU  4417 一样。不同的是这道题目df

3089

hdu3887 树状数组--思维还是有待提高啊。。

先贴代码:#include #include using namespace std; const int N=200010; int n, p, sum[N], ans[N], stk[N], sn; int pre[N], pos[N], flag[N]; vector

xuanflyer 1684

Counting Offspring(hdu 3887dfs+树状数组)

You are given a tree, it’s root is p, and the node is numbered from 1 to n. Now define f(i) as the number of nodes whose number is less than i in all the succeeding nodes of node i. Now we need to cal...

starlet_kiss的博客 248
上一篇: POJ-1185-状态dp
下一篇: HDU-2852-树状数组+第k小数
walk_up
博客等级 码龄15年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值