HDU - 3887 Counting Offspring(dfs序+主席树)

VLOOKUP_fixed.py 立即下载

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 node i. Now we need to calculate f(i) for any possible i.

Input
Multiple cases (no more than 10), for each case:
The first line contains two integers n (0<n<=10^5) and p, representing this tree has n nodes, its root is p.
Following n-1 lines, each line has two integers, representing an edge in this tree.
The input terminates with two zeros.

Output
For each test case, output n integer in one line representing f(1), f(2) … f(n), separated by a space.

Sample Input
15 7
7 10
7 1
7 9
7 3
7 4
10 14
14 2
14 13
9 11
9 6
6 5
6 8
3 15
3 12
0 0

Sample Output
0 0 0 0 0 1 6 0 3 1 0 0 0 2 0

Author
bnugong

Source
2011 Multi-University Training Contest 5 - Host by BNU

Recommend
lcy | We have carefully selected several similar problems for you: 3450 3030 1541 3743 1394

题意:就每个节点为根节点的树中,有多少个编号比根小的值。

思路:开始用树上启发式合并超时了,因为找有多少个小,需要排序,复杂度O(nlogn^2),因为这个有多种案例,所以过不了,然后第二种思路就是将树型结构转换为线型结构,然后用主席树维护,交了13次,全部爆内存,最后发现只要将建空树删掉就能过了。

代码:

//#pragma GCC optimize(2)
//#include<bits/stdc++.h>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<vector>
#include<algorithm>
#define ULL unsigned long long
#define LL long long
#define Max 1000005
#define mem(a,b) memset(a,b,sizeof(a));
#define pb push_back
#define mp make_pair
#define input ios::sync_with_stdio(false);cin.tie(0);
#define debug printf("debug!!!\n");
const LL mod=1e9+7;
const ULL base=131;
const LL LL_MAX=9223372036854775807;
using namespace std;
struct node{
    int to,next;
}edge[Max];
struct zxs{
    int l,r,sum;
}tree[Max*20];
int head[Max],tot,link;
int num[Max],in[Max],out[Max],tim;
int n,p,root[Max];
void init(){
    mem(head,-1);
    tot=0;
    tim=0;
    link=0;
}
inline void addedge(int u,int v){
    edge[tot].to=v;
    edge[tot].next=head[u];
    head[u]=tot++;
}

void dfs(int u,int fa){
    in[u]=++tim;
    num[tim]=u;
    for(int t=head[u];t!=-1;t=edge[t].next){
        if(edge[t].to!=fa)
            dfs(edge[t].to,u);
    }
    out[u]=tim;
}
void build(int& root,int l,int r){
    root=++link;
    if(l==r)
        return ;
    int mid=(l+r)/2;
    build(tree[root].l,l,mid);
    build(tree[root].r,mid+1,r);
}

void update(int l,int r,int& now,int last,int index){
    now=++link;
    tree[now]=tree[last];
    tree[now].sum++;
    if(l==r)
        return ;
    int mid=(l+r)/2;
    if(index<=mid)
        update(l,mid,tree[now].l,tree[last].l,index);
    else
        update(mid+1,r,tree[now].r,tree[last].r,index);
}

int query(int l,int r,int L,int R,int k){
    if(l>=k)
        return 0;
    if(r<k)
        return tree[R].sum-tree[L].sum;
    int mid=(l+r)/2;
    return query(l,mid,tree[L].l,tree[R].l,k)+query(mid+1,r,tree[L].r,tree[R].r,k);
}

int main()
{
    while(scanf("%d%d",&n,&p)==2 && n!=0){
        init();
        for(int i=1;i<n;i++){
            int u,v;
            scanf("%d%d",&u,&v);
            addedge(u,v);
            addedge(v,u);
        }
        dfs(p,0);
        for(int i=1;i<=n;i++)
            update(1,n,root[i],root[i-1],num[i]);
        for(int i=1;i<=n;i++)
            printf(i==n?"%d\n":"%d ",query(1,n,root[in[i]-1],root[out[i]],i));
    }
    return 0;
}

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

HDU - 3887 Counting Offspring(DFS序+主席树)

题目链接 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 ...

不二君 270

使用 VPN 访问太理内部网相关问题总结【太原理工大学】

电脑连接 VPN,访问校园内部网相关问题总结,太原理工大学。

m0_52861684的博客 9876

HDU 3887 Counting Offspring(DFS序+树状数组)

题意:给出一颗标号为1-n的树,求每个节点的子树节点的标号有多少小于该节点的标号。 此题DFS序+主席树过不了,内存太小。。。 看到子树很容易想到树的DFS序,把树转一下DFS序就是求n个区间,每个区间的数字小于k的数目的问题了。 显然可以用主席树,但是内存还是太蛋疼。。。 如果发现这个序列是一个全排列,且每次询问的都是不一样的k。 那么我们可以先把所以节点的贡献置1,,询...

weixin_30892763的博客 99

嵌入式设备系统日志记录及调试技巧_嵌入式日志系统(1),如何成为杰出的程序员

这里面我使用的芯片为哈弗体系,全局常量存储编译器默认分配在flash,需要注意如果使用片内flash时,注意存储调试等级的flash块不要与代码区重合,要不然修改调试等级擦除flash块同时PC指针指向当前块的代码区,会导致仪器死机;这个也是之前用的比较多的,以上代码是模仿linux 内核的写法,可以比较好的做到日志信息分层,编译时相加对应的编译开关即可。但有个弊端就是,切换debug等级时,需要重新编译且需更新固件,而嵌入式设备出现异常后更新固件往往复位后,故障有时很难复现,调试起来比较浪费时间。

2401_84240431的博客 1292

逆向分析-SeparationPreview.aip-分色预览-结构分析(一)-x64dbg条件日志打印-命令表达式-PS脚本

从功能上分析,仅显示使用的专色这个功能,并没有触发插件接口。使用X64dbg加载illustrator进程,切换到句柄窗口,在窗口过程中,右键刷新获取界面。在x64dbg中,在UI中可以输入一些条件表达式,能够计算出对应的值,并打印在日志中。常用的,如果非暂停,输出第一个参数。参数二是utf16的指针,utf16@字符串地址,这里的字符串地址为[[ebp-108]]参数一是utf8的,utf8@字符串地址,这里的字符串地址为[ebp-28]从界面上分析,一个颜色列表,及仅显示专色的多选框组成。

插件开发 643

Scu4438 栈+哈希

题目描述 现在给定一个你很讨厌的字符串 A 和另外一个字符串 B,请删除在 B 中出现的所有 A。 请注意:有可能在删除一个 A 后导致新的 A 出现,此时请继续删除,直到没有 A。 输入格式 输入为多组数据,请处理到 EOF。 对于每组数据: 第一行为你很讨厌的字符串 A,第二行为另外一个字符串 B,均仅包括小写字母。 保证 A串 和 B串 的长度不超过 5000000 且 A、B 均不为空串。...

Gee_Zer的博客 1615

Smart PLC高速脉冲输入计米轮模块(编码器测速/计米详细讲解)

线缆行业单绞机PLC控制算法详细解读可以参看下面的文章链接:线缆行业单绞机控制算法(详细图解+代码)_RXXW_Dor的博客-优快云博客在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-优快云博客_plc闭环控制实例。SMART PLC时间间隔定时器应用(高速脉冲测频/测速)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2819

排列2

题目: Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。 Input 每组数据占一行,代表四张卡片上的数字(0&lt;=数字&lt;=9),如果四张卡片都是0,则输入结束。 Output 对每组卡片按从小到大的顺序输出所有能由这四张卡片组成的4位数,千位数字相同的在同一行,同一行中每个四位数间用空格分隔。 ...

Gee_Zer的博客 1188

PyTorch深度学习实战(1)——神经网络与模型训练过程详解

在本节中,我们将了解传统机器学习与人工神经网络间的差异,并了解如何在实现前向传播之前连接网络的各个层,以计算与网络当前权重对应的损失值;实现反向传播以优化权重达到最小化损失值的目标。并将实现网络的所有关键组成——前向传播、激活函数、损失函数、链式法则和梯度下降,从零开始构建并训练了一个简单的神经网络。

盼小辉丶的博客 9万+

RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGB

RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGB

J。 2339

简单计算器 (Stack)

题目: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input 1 + 2 ...

Gee_Zer的博客 983

《QGIS快速入门与应用基础》108:CGCS2000对应的投影坐标系

本文详细解析了CGCS2000地理坐标系对应的各类投影坐标系,包括高斯-克吕格3°带/6°带、UTM、地方独立投影和Web墨卡托投影。文章系统阐述了各投影类型的分带规则、参数设置、精度特性及适用场景,并提供了EPSG编码对照表和QGIS操作指南。通过"基准+投影"的绑定机制,这些投影坐标系实现了平面坐标与经纬度的精准转换,满足从大比例尺工程测量到Web地图服务等不同应用需求。内容涵盖投影原理、坐标格式、变形控制等关键技术要点,为GIS开发者和测绘人员提供了实用的参考信息。

LuckyHanMo的博客 540

Atcoder ABC132 D - Blue and Red Balls

D - Blue and Red Balls Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400 points Problem Statement There are K blue balls and N−K red balls. The balls of the same color cannot be distinguished. Snu...

Gee_Zer的博客 944

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

D. Tree Requests (树上启发式合并)

题目链接:CF570D Roman planted a tree consisting of n vertices. Each vertex contains a lowercase English letter. Vertex 1 is the root of the tree, each of the n - 1 remaining vertices has a parent in the t...

Gee_Zer的博客 775

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

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

POJ 2406 Power Strings

题目描述 给定若干个长度 ≤ 1000000 的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:ababab 则最多有 3 个 ab 连接而成。 输入格式 输入若干行,每行有一个字符串,字符串仅含英语字母。 输入数据以"."结束。 输出格式 对于每组输入数据输出一行,找出每个字符串最多是由多少个相同的子字符串重复连接而成的。 样例输入 abcd aaaa ababab . 样...

Gee_Zer的博客 729

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

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

CSU 1778 多边形的公共部分(计算几何)

给定两个简单多边形,你的任务是判断二者是否有面积非空的公共部分。如下图中的两个 矩形只有一条公共线段,没有公共面积。 在本题中,简单多边形是指不自交(也不会接触自身)、不含重复顶点并且相邻边不共线的多 边形。 注意:本题并不复杂,但有很多看上去正确的算法实际上暗藏缺陷,请仔细考虑各种情况。 Input 输入包含不超过 100 组数据。每组数据包含两行,每个多边形占一行。多边形的格式是:第一 个整数...

Gee_Zer的博客 679

Atcoder abc128 D

Problem Statement Your friend gave you a dequeue D as a birthday present.D is a horizontal cylinder that contains a row of N jewels. The values of the jewels are V1,V2,…,VN from left to right. There m...

Gee_Zer的博客 602

abc134 D - Preparing Boxes

题目链接:ABC 134D 题意:给你一个序列a,让你构造一个序列b,序列里面只有数字0和1,满足以下条件: 对于位置i,将所有是i的倍数的下标里的值相加,取余2必须等于ai。 思路:直接从后往前模拟一遍就可以了,因为后面的数会影响前面的数,所以必须先确定后面的数。 那么怎么确定i位置的值是什么呢,只有将它的倍数的值全部加起来(除了一倍),如果取余和ai相等那么bi就是0,否则的话改为1。 代码:...

Gee_Zer的博客 599

CF208 E.Blood Cousins(树上启发式合并)

题目链接:CF208E Polycarpus got hold of a family relationship tree. The tree describes family relationships of n people, numbered 1 through n. Each person in the tree has no more than one parent. Let’s cal...

Gee_Zer的博客 568

Delivery Man(贪心)

一开始以为可以用优先队列写,每次选择小费最多的,结果WA,正确的贪心思想是按照两个数的差排序,然后每次选择小费最多的即可。 代码如下: #include&lt;bits/stdc++.h&gt; #define LL long long #define Max 100005 #define Mod 1e9+7 const LL mod=1e9+7; const LL inf=0x3f3f3f3f...

Gee_Zer的博客 553

CF600E Tree Requests(树上启发式合并模板题)

题目链接:CF600E You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour. Let’s call colour c dominating in the subtree of vertex v if there are no other colours that appe...

Gee_Zer的博客 532

USACO ORZ(dfs+set)

题目: Like everyone, cows enjoy variety. Their current fancy is new shapes for pastures. The old rectangular shapes are out of favor; new geometries are the favorite. I. M. Hei, the lead cow pasture ...

Gee_Zer的博客 511

atcoder abc128c

题意:有n个开关和m个灯泡,每个灯泡关联k个开关,当灯泡关联的开关开着的数量取余2等于p时,灯泡亮起,现在问你有多少种方式让灯泡全亮。 思路:利用二进制,直接模拟所有状态即可。 代码: #include<bits/stdc++.h> #define ULL unsigned long long #define LL long long #define Max 15 #define me...

Gee_Zer的博客 508

网络流-EK算法

EK算法的思路: 基于贪心的思想,每次选取一条起点到终点的路径,毋庸置疑,这条路的流量就等于这条路径上的权值是最小值。将这条路的权值都减去流量,再将路径的反向边加上流量(这样可以就给贪心一次反悔的机会),无限循环以上步骤,到找不到任何一条起点到终点的路,最后所有的最小值加起来就是最大流了。 (这只是我对EK算法的总结,学习网络流还是去看别人的博客吧) 代码: #include<stdio.h...

Gee_Zer的博客 505
上一篇: CF208 E.Blood Cousins(树上启发式合并)
下一篇: poj3468 A Simple Problem with Integers(线段树区间更新+区间求和 数组模板)
Gee_Zer
博客等级 码龄9年 11粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值