hdu 6394 树分块

基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩 人脸系列文章目录 文章目录人脸系列文章目录前言一、加口罩效果二、实现原理二、代码实现 前言 目前人脸加口罩均为在人脸位置贴图式的,非常不真实。前段时间京东开源一个基于PRnet实现的3D口罩拟合人脸,加口罩非常逼真,但是只是单独一个加口罩demo,没有完整的流程。于是本人结合人脸检测,关键点对齐。PRnet加口罩实现一个完整的加口罩流程。只需一个命令简单方便调用,实现人脸加口罩。 https://github.com/JDAI-CV/FaceX-Zoo 一、加口罩效果 下图可以看出效果还是非常逼真的 阅读详情

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6394

题目的数据好像不用先处理dfs序也可以过,将树分块然后每次更新在区间内向后更新,每次询问时向前查找一直到树根为止,同时更新向上弹的次数

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define mod 1000000007
#define For(i,m,n) for(int i=m;i<=n;i++)
#define Dor(i,m,n) for(int i=m;i>=n;i--)
#define LL long long
#define lan(a,b) memset(a,b,sizeof(a))
using namespace std;


const int maxn=1e5+336;
const int M=333;
int dp[maxn][22];
int a[maxn],b[maxn];
int fa[maxn];
int lg[maxn];


int get(int x,int now)
{
    for(int i=0;(1<<i)<=now;i++)
    {
        if(now&(1<<i))
            x=dp[x][i];
    }
    return x;
}

void update(int x)
{
    int t=x*M;
    if(!t)
    {
        t=1;
        a[0]=0;
        b[0]=0;
    }
    for(int i=t;i<=x*M+M;i++)
    {
        if(fa[i]<x*M)
        {
            a[i]=1;
            b[i]=fa[i];
        }
        else
        {
            a[i]=a[fa[i]]+1;
            b[i]=b[fa[i]];
        }
    }
}

int query(int x)
{
    int ans=0;
    while(x)
    {
        ans+=a[x];
        x=b[x];
    }
    return ans;
}


int main()
{
    int sum=2;
    lg[1]=0;
    for(int i=1;i<maxn;i++)
    {
        lg[i]=lg[i-1];
        if(i>sum)
        {
            sum<<=1;
            lg[i]++;
        }
    }
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,m;
        scanf("%d",&n);
        lan(dp,0);
        For(i,2,n)
            scanf("%d",&dp[i][0]);
         //   dp[1][0]=1;
        For(j,1,lg[n])
            For(i,1,n)
                dp[i][j]=dp[dp[i][j-1]][j-1];
        For(i,1,n)
        {
            int tem;
            scanf("%d",&tem);
            fa[i]=get(i,tem);
        }
        for(int i=0;i<=n/M;i++)
            update(i);
//        For(i,1,n)
//        printf("a%d=%d b%d=%d fa%d=%d\n",i,a[i],i,b[i],i,fa[i]);
        scanf("%d",&m);
        int op,p,q;
        while(m--)
        {
            scanf("%d",&op);
            if(op==1)
            {
                scanf("%d",&p);
                printf("%d\n",query(p));
            }
            else if(op==2)
            {
                scanf("%d%d",&p,&q);
                fa[p]=get(p,q);
                update(p/M);
            }
        }

    }
    return 0;
}

 

Marvell车载以太网交换机芯片88Q5050 Marvell推出了四款车载用交换机芯片,88Q5050,88Q5050, 88Q5072和88Q6113。其中88Q5030有5 Port用于通信,88Q5050有8 Port用于通信,5072与6113有11 Port用于通信。由于项目中用到了88Q5050,所以本文中只涉及到88Q5050的内容。本文是对使用88Q5050的梳理和总结。 阅读详情

相关推荐

【ros2】ros2_control 全面解析与实战指南

ros2_control 是 ROS2 生态中用于机器人实时控制的核心框架,旨在统一硬件接入接口、复用控制算法,避免重复开发,实现仿真与实机硬件的无缝迁移。其核心目标是简化不同硬件(传感器、执行器、完整系统)的集成流程,让开发者专注于控制逻辑而非硬件适配。创建类型功能包,依赖rclcpp。实现on_initupdate在中声明控制器插件,编译生成动态库。在 YAML 配置文件中指定自定义控制器类型,加载测试。

EnHengNa的博客 1475

关于树分块算法的一些研究

前言树分块这种算法,本蒟蒻没有查询到太多资料。 而gty系列中,出现过如“gty的妹子树”这样的题目,流传着一种“树分块”做法。 然而,网络流传的树分块算法都可以被菊花图卡掉。 流传的方法:一个结点的父亲所在块未满,就让该结点加入其父亲所在块,否则自成一块。 至于这个方法最早的出处我就不清楚了。 本文将介绍正统的树分块算法(其实也是笔者yy的)。 先把结论放上:其实树分块并没有什么卵用。

不来也不去的一只失忆蝴蝶 5834

OTFS从零开始11 10

未来的无线网络有望提供全球覆盖,因此需要支持在恶劣环境下的各种新兴应用,例如飞机上的移动通信(MCA)、低地球轨道(LEO)卫星通信、车对车(V2V)通信、高速铁路(HSR)通信、无人驾驶飞机(UAV)通信和水下声学通信(UAC)。在这些恶劣环境中的无线信道通常被视为对通信不友好,其特点是严重的延迟和多普勒扩散,以及有限的路径寿命等。这些不利于通信的特性使目前移动网络中广泛采用的正交频分复用(OFDM)调制的性能恶化。

qq_46009045的博客 9854

树上分块初步

转自这位大神 DFS序分块 将树节点按照DFS序每sqrtnsqrtn个分成一块,可以处理关于子树问题但是由于在DFS序上分块基本都可以用logn的数据结构代替,所以很不常用 这种分块方式保证块的大小和数量,不保证块的连通和直径 Size分块 对于一个节点,如果它的父亲所属块的大小小于sqrtnsqrtn,则将该点加入其父亲的块否则新建一个块,将该点加入新的块中 这种分块方式保证块的...

weixin_30475039的博客 651

ATE测试的未来:自动化与智能化的技术演进

本文探讨了自动测试设备(ATE)在半导体产业中的技术演进,重点关注自动化与智能化的发展趋势。随着芯片制程的不断进步,ATE面临测试复杂度激增和成本压力等挑战。文章分析了AI技术在测试优化中的应用,如自适应测试和缺陷预测,以及模块化架构和端到端测试生态系统的创新。这些技术突破显著提升了测试效率和设备利用率,为半导体测试的未来发展指明了方向。

weixin_29232507的博客 614

sdio wifi 移植

介绍 简单来说,sdio起源自sd标准,顾名思义就是sd的IO接口(interface)的意思,更具体的说明,sd本来是记忆卡的标准,但是现在也可以把SD卡拿来插上一些外围设备接口使用,这个就是就叫做sdio。 而且sdio本身是一种相当单纯的技术,通过sd的IO引脚来连接外部外围,并且通过sd的IO数据接位与外围传输数据,而且sd协会也推出很完整的sdio stack 驱动程序,使得sdio外围得开发与应用变得非常热门 这里我们要移植的是RTL8822cs的sdio WiFi 模块,将其移植到rk3

Enosji的博客 9609

树上分块 与 莫队算法

前言: 在序列上我们喜欢的暴力美学就是分块了,莫队算法就是其中之一. 那么我们在树上可以分块,去利用莫队算法做个漂亮的暴力吗? 可以! 要不就没有这篇文章惹 树上分块: 我们先学习一下树上如何分块! [SCOI2005] 王室联邦 这道题目就是一道经典的树上分块 我们记录一个栈,当一个子树的个数&gt;=块大小的时候,新建一个块,把这些点扔进这个块内. 首先,对于整个树dfs...

HT008的Blog 966

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

y_u_yu_yu_的博客 1万+

HDU 6394 Tree(dfs序+分块)

Description 给出一棵nnn个节点的有根树,根节点为111,到达第iii个点可以一次往上跳aiaia_i层,跳出树则停止,两种操作,第一种是查询xxx点出发跳出该棵树需要的步数,第二种是修改axaxa_x Input 第一行一整数TTT表示用例组数,每组用例首先输入一整数nnn表示点数,然后输入nnn个整数a1,...,ana1,...,ana_1,...,a_n,之后输入一整数m...

ZSQ 509

从RadixTree到哈希表:深入对比SGLang和vLLM的Prefix Cache实现差异

本文深入对比了SGLang与vLLM在大语言模型推理服务中实现Prefix Cache(前缀缓存)的两种核心方案。SGLang采用基于Radix Tree的RadixAttention,支持任意长度前缀的精确匹配与灵活复用;vLLM则采用基于哈希表的方案,深度集成于PagedAttention,实现简洁但要求块级精确对齐。文章剖析了二者在设计哲学、内存管理、适用场景及集群级优化(如Prefix Cache Aware Routing)上的关键差异,为高性能LLM服务的技术选型提供决策依据。

blockchain9miner的博客 955

【推荐100个unity插件】在unity快速生成3D人物自然姿势和动作,且支持按图像生成姿势—— Pose AI

PoseAI是一款基于肌肉的智能动画创作工具,通过神经网络和逆运动学技术实现自然姿势生成。主要功能包括:自动/手动角色设置、神经控制装备、姿态估计与预览等。工具支持从2D图像生成3D姿势,并能在编辑器中实时预览动画效果。其神经网络架构采用前馈网络与ResNet结合的方式,通过多层全连接和ReLU激活函数处理输入数据。PoseAI简化了动画制作流程,提供高效的姿势创作解决方案,适用于Unity游戏开发。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1361

P6177 Count on a tree II/【模板】树分块

题目链接 题目描述 给定一个 nnn 个节点的树,每个节点上有一个整数,iii 号点的整数为 valival_ivali​ 。 有 mmm 次询问,每次给出 u′,vu',vu′,v ,您需要将其解密得到 u,vu,vu,v,并查询 uuu 到 vvv 的路径上有多少个不同的整数。 解密方式:u=u′xor⁡lastansu=u' \operatorname{xor} lastansu=u′xorlastans 。 lastanslastanslastans 为上一次询问的答案,若无询问则为 000。 输入

sky123博客 324

Carla中如何渲染opendrive车道线和车道标识(全网独家,附代码)

carla是可以单独加载opendrive并渲染路面的,但是无法把车道线渲染出来,这是一个大坑,因为没有车道线就无法给感知输入。楼主已经实现,直接渲染车道线或者带PBR贴图的车道标识。实现起来非常简单,但必须对carla源码以及ue的开发足够了解。在carla源码中有一个很重要的类opendrivegenerator,它是关于opendrive渲染的全部方法,但是你是找不到它实例化的地方的,因为它被定义在蓝图关卡中。网上包括carla官方关于carla源码的分析少之又少,楼主将自己的经验写出来供大家参考。

u013998156的博客 1090

hdu 6394 Tree (树分块)

Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 585    Accepted Submission(s): 206   Problem Description Alice and Bob are playing with...

夏消的博客 509

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDU 6394 Tree 树分块或者LCT 2018杭电多校第七场

Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 380    Accepted Submission(s): 130 Problem Description Alice and Bob are playing with a...

山科小菜鸡 576

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

HDU - 6394 Tree(树分块+倍增)

http://acm.hdu.edu.cn/showproblem.php?pid=6394 题意 给出一棵树,然后每个节点有一个权值,代表这个点可以往上面跳多远,问最少需要多少次可以跳出这颗树 分析 先dfs一次得到dfs序,然后按dfs序分块。倍增计算从某点跳x到哪个点,用cn保存它跳出这一块需要的次数,ne保存跳出这块会去的点。然后块内就暴力修改了。复杂度nsqrt(n); ...

weixin_34113237的博客 171

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

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

HDU - 6394 Tree(树分块+倍增+dfs序)

题意:给出一棵树,然后每个节点有一个权值,代表这个点可以往上面跳多远,问最少需要多少次可以跳出这颗树。 分析:树上弹飞绵羊,利用dfs序把树上节点变成连续区间序列,先dfs一次得到dfs序,然后按dfs序分块。倍增计算从某点跳x到哪个点,用cn保存它跳出这一块需要的次数,ne保存跳出这块会去的点。然后块内就暴力修改了。复杂度n*sqrt(n)。 参考:https://www.cnblogs.c...

常胜将军的博客 252

Tree HDU - 6394 (倍增+树分块)

Alice and Bob are playing with a magic tree This magic tree has nn nodes,with n−1n−1 magic paths connecting them into a connected block. Node 11 is at the top of the magic tree (layer 00). Node ii is ...

untilyouydc 432

hdu 6394 Tree (2018 Multi-University Training Contest 7 1009) (树分块+倍增)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=6394 思路:用dfs序处理下树,在用分块,我们只需要维护当前这个点要跳出这个块需要的步数和他跳出这个块去到的下一个点的下标,这样更新和询问的复杂度就降到了sqrt(n),查询树上的点的时候我们可以用倍增来降时间复杂度,这样处理下就不会超时了,。 介绍下代码主要数组的作用方便看懂代码;l[i] : 当...

weixin_30835933的博客 116

HDU - 6394 Tree (2018 Multi-University Training Contest 7)(树分块+倍增 或 LCT维护路径长度)

Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 720    Accepted Submission(s): 266   Problem Description Alice and Bob are playing with...

LP_Cong 533

树的分块练习

树的分块一般有以下几种 按dfs序分块 按size分块 按深度分块 王室联邦分块 练习1 LuoguP2325 [SCOI2005]王室联邦 要求将树分成若干块, 使得每块大小范围在[B,3B], 块可以不连通, 但添一个点(省会)后必须连通 DFS结束时, 将点加入一个集合, 集合大小不够B的话继续向上返回, 否则直接分一个块, 并将当前DFS到的点...

weixin_30677073的博客 256

2018 Multi-University Training Contest 7-1009 & hdu6394:Tree(LCT)

  题目大意: 这题基本上就是弹飞绵羊的树上版,所以题意就不多讲了。 可以参考另外一篇博客:弹飞绵羊普通版   解题思路: 首先肯定可以用树分块来写,思路就是跟线性的是一样的。其次的话如果用LCT的话近似裸题,只是需要求一下对于点x,向上跳k次会跳到哪个点,用倍增求出来即可。然后我添加了一个n+1作为1结点的父亲,跳出去的点默认跳到n+1,之后就和线性的一样了,这次主要也是为了测试LC...

污miao汪的博客 270

【THUPC2019】不用找的树 / tree(树分块)(树形DP)

传送门 是我没见过的树分块姿势,出题人写的题解跟****一样,只有会这道题的人才看得懂,反正我没看懂,我看了std那8K难以形容的代码才知道题解真就NM乱写。 严格来说,只有分块的具体方法那里是乱写,但是那里乱写直接导致了后续的无法理解。 出题人:反正预计也不会有人想去写,题解乱写就行了。 那乱写说是垃圾也就不为过了。 所以这里来一个我的视角的题解。 更离谱的是树上距离的定义居然是路径上点数而不...

zxyoi_dreamer的博客(不定期诈尸) 824

树上莫队非详解

做法 树分块,像王室联邦一样 然后怎么移动端点 蒯VFKVFKVFK的博客: 用S(v, u)代表 v到u的路径上的结点的集合。 用root来代表根结点,用lca(v, u)来代表v、u的最近公共祖先。 那么 S(v, u) = S(root, v) xor S(root, u) xor lca(v, u) 其中xor是集合的对称差。 简单来说就是节点出现两次消掉。 lca很讨...

Cyhlnj 296

数据结构:树上分块

把所谓的树结构分成一块儿一块儿的? 当然这种数据结构并不强力,如果想要借助其分块儿的思想来解决问题,肯定有更好的其它的算法来替代它 所以,这里只是铺一个知识点探探路而已 典型例题BZOJ1086 题意就是把树分块儿 但是为何样例是错的? 其实递归的学问还是很大的 1 #include<cstdio> 2 const int maxn=1005; 3 cons...

weixin_30369087的博客 303
上一篇: hdu Pizza Hub 计算几何
下一篇: 计蒜客 2018南京赛区网络赛 The writing on the wall 暴力dp
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值