hdu 4366 分块 or 线段树。

fMRI脑影像特征提取——静息态与任务态,ALFF/fALFF和ReHo(Dpabi,Rest1.8) 任务态和静息态是大脑的两种状态,前者主要是指大脑在执行记忆、识别以及运动等具体任务时的状态,静息态则是指大脑不执行具体认知任务、保持安静、放松、清醒时的状态,是大脑所处的各种复杂状态中最基础和最本质的状态。任务态fMRI分析有非常悠远的历史,而静息态fMRI自1995年biswal教授及其同事率先报告静息态fMRI具有生理意义后,越来越多的人进入了静息态的研究领域。任务态fMRI主流的分析方法是模型驱动(GLM+HRF),也可以引用静息态fMRI 阅读详情
题意:http://acm.hdu.edu.cn/showproblem.php?pid=4366

         给你一棵树,每个结点有两个属性值,1:能力值  2:忠诚度

         然后m个询问,每次询问一个整数u,求u的子树中能力值大于u的且忠诚度最大的点的编号

写线段树wa了。。不改了。。
这里的从能力大的到小的排序的做法还是很普遍的。。
参考http://blog.youkuaiyun.com/julyana_lin/article/details/7866449

    #include<bits/stdc++.h>
using namespace std;
#define sf scanf
#define pf printf
#define mem(a,b) memset(a,b,sizeof(a));
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define MP make_pair
#define ULL unsigned long long
#define LL   long long
#define inf 0x3f3f3f3f
#define md ((ll+rr)>>1)
#define ls (i<<1)
#define rs (ls|1)
#define eps 1e-8
#define ree freopen("in.txt","r",stdin);
#define bug pf("----------------");
#define N 50010
#define mod 475
#define double long double
#define  pii pair<int,int>
#define MP make_pair
//2017年09月07日09:54:16

int n,m;
struct Node{
    int id,x,y;
    bool friend operator<(Node a,Node b){
        if(a.x!=b.x) return a.x>b.x;
        else return a.y>b.y;
    }
}a[N];
int e;
int st[N],ed[N];
int ans[N];
int col;
int fst[N<<1],vv[N<<1],nxt[N<<1];
void dfs(int u){
    st[u]=++col;
    for(int i=fst[u];~i;i=nxt[i]){
        int v=vv[i];
        dfs(v);
    }
    ed[u]=col;
}
int mx[N<<2];
int query(int l,int r,int ll,int rr,int i){
    if(l>r)return -1;
    if(l<=ll&&rr<=r){
        return mx[i];
    }
    if(md>=r)return query(l,r,ll,md,ls);
    else if(md<l)return query(l,r,md+1,rr,rs);
    else return max(query(l,md,ll,md,ls),query(md+1,r,md+1,rr,rs));
}
void update(int p,int val,int ll,int rr,int i){
    if(ll==rr&&ll==p){
        mx[ll]=val;return ;
    }
    if(md>=p)update(p,val,ll,md,ls);
    else if(md<p)update(p,val,md+1,rr,rs);
    mx[i]=max(mx[ls],mx[rs]);
}
void add(int u,int v){
    vv[e]=v;nxt[e]=fst[u]; fst[u]=e++;
}
map<int,int>mp;
int main(){
    //ree;
    int T;sf("%d",&T);
    while(T--){
        mem(fst,-1);e=0;
        mem(mx,-1);
        mp.clear();
        sf("%d%d",&n,&m);
        for(int i=2;i<=n;++i){
            int u,x,y;sf("%d%d%d",&u,&x,&y);
            add(u+1,i);
            a[i].id=i;a[i].x=x;a[i].y=y;
            mp[y]=i;
        }
        col=0;
        dfs(1);
        a[1].id=1;a[1].x=-1;
        a[1].y=-1;
        sort(a+1,a+1+n);
        //rep(i,1,n){
            //pf("%d %d %d\n",a[i].id,a[i].x,a[i].y);
            //pf("%d %d\n",st[a[i].id],ed[a[i].id]);
        //}
        for(int i=1;i<=n;++i){
            int idx=a[i].id;
            int tmp=query(st[idx]+1,ed[idx],1,n,1);
            if(tmp==-1)ans[idx]=-1;
            else ans[idx]=mp[tmp];
            update(idx,a[i].y,1,n,1);
        }
        while(m--){
            int x; sf("%d",&x);
            x++;
            if(ans[x]==-1)puts("-1");
            else{ pf("%d\n",ans[x]-1); }
        }
    }
}

还可以分块。。
参考http://www.cnblogs.com/liuweimingcprogram/p/6143099.html
暂时敲不出,细节。。

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程 1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总 阅读详情

相关推荐

不用变压器也能联网?手把手教你PHY芯片直连的3种实用方案

本文详细介绍了PHY芯片直连的3种实用方案,帮助开发者在物联网设备中实现更经济、更精简的网络连接设计。通过分析电压驱动型和电流驱动型PHY的核心原理,提供具体的电路配置和优化建议,确保信号质量的同时节省成本和空间。

smartcontract5的博客 332

HDU 4366 树上分块

Successor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 4637    Accepted Submission(s): 1161 Problem Description Sean owns a comp

~不可描述~ 575

在Ubuntu 20.04上,用EtherCAT Igh 1.6.2驱动高创BD3E伺服电机(附完整C代码)

本文详细介绍了在Ubuntu 20.04实时内核环境下,使用EtherCAT Igh 1.6.2主站驱动高创BD3E伺服电机的完整实现方案。从实时系统配置、伺服电机PDO映射到精确控制线程设计,提供了完整的C代码样例和实际项目中的调试技巧,帮助开发者实现工业自动化中的高精度运动控制。

weixin_30772105的博客 110

Linux安全应急--定位和排除(二)

日志名一般是 error.log ,配置文件: /etc/nginx/nginx.conf。Apache配置文件默认路径: /etc/httpd/conf/httpd.conf。SSH登录日志: cd /var/log/ 然后执行 less secure。或者在 /usr/local/apache2/conf/httpd.conf。创建计划任务时,都会生成相应的文件,如果可疑,那么也应该清除,root用户执行的就会在 /var/spool/cron/说白了就说找漏洞,你可以问问有是不是设了弱口令啊啥的,

余十步的博客 1711

STM32U575 ADC+DMA+UART数据采集实战:CubeMX配置避坑与代码实现

在嵌入式开发中,ADC采集与DMA传输是提升系统实时性的关键技术。通过DMA将ADC数据直接搬运到内存,可大幅降低CPU占用,实现高效连续采样。结合UART的DMA发送,能进一步解放CPU,适用于工业采集、信号监测等场景。本文以STM32U575为例,详解CubeMX中ADC、DMA、UART的配置要点,包括时钟树、DMAMUX映射、循环模式等,并给出代码实现与常见问题排查,帮助开发者快速构建稳定的数据采集链路。

weixin_29194255的博客 169

岭回归的MATLAB步骤

MATLAB 实现框架,它涵盖了从数据导入到岭回归的步骤,包括计算共线性、使用 MAE、MSE、R²、MAPE 进行评价,以及绘制相应的可视化图表。

subject625Ruben的博客 1089

Successor HDU - 4366(线段树+dfs)

Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will fire one staff.Then one of the fired man’s Subordinates will replace ...

starlet_kiss的博客 313

python入门:Anaconda和Jupyter notebook的安装与使用

一、安装和使用Anaconda 1、anaconda是什么? Anaconda在英文中是“巨蟒”的意思,与python的意思相近,它是python的包管理器和环境管理器。 2、为什么需要安装anaconda? 原因有以下几点: 附带一大批常用的数据科学包,方便立即开始处理数据 管理包 anaconda是在conda(一个包管理器和环境管理器)上发展来的;而conda可以很方便地对第三方的包进行安装、卸载和更新。 管理环境 conda可以为不同的项目建立不同的运行环境,避免不同的项目或包版本

PY洋洋 1万+

【HDU】5213 Lucky 【分块(在线算法)】

传送门:【HDU】5213 Lucky 【分块(在线算法)】题目分析: 我来说一下这题的在线做法。首先我们将区间分成n√\sqrt n块,用f[x][y]表示第x块的数和第y块的数相加等于K的对数,这个可以O(nn√)O(n \sqrt n)的预处理。然后还有g[x][y]表示在第1~x块中有的大小为y的数的个数,这个的复杂度同样O(nn√)O(n \sqrt n)。接下来,对于每组询问,我们考虑

poursoul 1035

人工智能100问☞第5问:什么是AI三要素?

人工智能的核心三要素是​​数据、算法和算力​​,分别作为AI的“燃料”、“大脑”和“动力”,三者协同驱动智能系统的学习、推理与决策能力。

bjdx_001的博客 1991

GEE:基于自定义的年度时序数据集进行LandTrendr变化检测

本文介绍了使用年度时序数据进行LandTrendr变化检测的方法,包括核心函数调用、参数设置和结果可视化。通过筛选参数(年份、变化幅度和持续时间)对结果进行过滤,输出变化年份、变化幅度和持续时间。代码提供了完整的处理流程,包括数据输入、LandTrendr算法运行、结果筛选与可视化,并支持结果导出。适用于基于Google Earth Engine平台的地表变化检测分析。

养乐多的博客 752

分块(简单版树状数组,线段树)

前言 首先,在NOIP的比赛里分块是一个很好的水分神器,因为它可以代替树状数组,线段树,但是如果出题人要卡你的程序的话...... 分块思想 包含n个元素的整数数组A,每次可以 C(i, j) : 修改一个元素A[i] = j Q(i, j) : 询问A[i]+A[i+1]+…+A[j]的值 如何设计算法,使得修改和询问操作的时间复杂度尽量低? 显然存在修改O(1),查询O(n)...

a8512565的博客 497

图像处理入门007:图像处理中的数学基础:线性代数与卷积

一种:把 OpenCV 当黑盒,调用,效果不对就乱调参数;另一种:理解每个像素是怎么被周围邻域"加权平均"的,理解核翻转、边界填充、stride 的含义。前者能干活,后者能解难题。一旦遇到自定义核(比如 ISP 上的锐化)、深度学习反向传播、医学图像重建,你就必须把卷积、相关、矩阵乘法这些基本功捡回来。线性代数三件套:向量点积、矩阵乘法、线性变换;2D 卷积的数学定义:核翻转、滑动窗口、边界填充。并手写一个,验证它与和的结果完全一致(误差 < 1e-9)。f∗gn∑m−∞∞f。

专注:太空算力、AI infra、异构调度、大模型成本工程 385

HDU - 4366 Successor DFS序 + 分块暴力 or 线段树维护

给定一颗树,每个节点都有忠诚和能力两个参数,随意指定一个节点,要求在它的子树中找一个节点代替它,这个节点要满足能力值大于它,而且是忠诚度最高的那个。 首先,dfs一下,处理出L[i], R[i]表示dfs序,则R[i] - L[i] + 1 就是当前i这个节点拥有的子孙个数。 对于一颗树,dfs的时候,访问节点有先后顺序,那么可以用一个struct node List[maxn];表示这课树中...

weixin_30518397的博客 122

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[HDU4366]Successor 线段树

前言这题,me是在一个分块的讲稿里看见的,也是DFS转序列然后维护能力和最大忠诚度,也不难。网上搜了一通发现这题还可以线段树写,于是果断选用了线段树。 这题,除了要写线段树基本操作,然后还有一些奇奇怪怪的东西,本来以为100行能解决结果写了120多行···?抱怨几句之前被坑点坑了,在查错的时候自己出了三组数据,然而没想到手推也掉到坑里去了··········题目题目链接:HDU4366 题意:一

泉華子的OI足迹 509

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

hdu 4366 Successor - CDQ分治 - 线段树 - 树分块

Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will fire one staff.Then one of the fired man’s Subordinates will rep...

adx33526的博客 306

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

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

Successor (HDU-4366)分块(单点更新,区间查询最值,预处理,DFS序)

Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will fire one staff.Then one of the fired man’s Subordinates will replace ...

菜鸡的博客 469

hdu 4366

用dfs转化为区间 用线段树维护忠诚度 对能力进行排序 大的优先 因为题目要求忠诚度最高且能力比他大 先建大的,再建小的,小的就被push_up了 代码如下 #include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; #include&lt;vect...

acm退役败犬 准nlp研究生 293

ACM竞赛中数据结构题目心得:分块【With HDU4366】

http://www.cnblogs.com/sweetsc/archive/2012/08/15/2639395.html 我在ACM竞赛中,一般负责决定队伍的下限:水题能不能清理出来……其他太高深的题目,我表示我还是挺无脑的,一般都不老会的……只有数据结构类题还是挺得心应手的……而个人心得体会最深刻的还是无脑的方法:个人称为根号N法…… 主要思想就是将待操作的长度为N的区间分成

Last Order 1305

分块

ACM竞赛中数据结构题目心得:分块【With HDU4366】转自sweet kang (http://www.cnblogs.com/sweetsc/archive/2012/08/15/2639395.html) 写的不错适合入门分块。 我在ACM竞赛中,一般负责决定队伍的下限:水题能不能清理出来……其他太高深的题目,我表示我还是挺无脑的,一般都不老会的……只有数据结构...

weixin_30375427的博客 176

【ACM训练五】区间查询问题

ST表 算法详解:https://blog.youkuaiyun.com/Hanks_o/article/details/77547380 https://www.cnblogs.com/qt666/p/6508208.html https://blog.youkuaiyun.com/qq_31759205/article/details/75008659 特征:O(nlogn)预处理,O(1)查询最值,不支持在线修改 ...

想到什么写什么 1720

省赛选拔

今天是第一天,做的很不理想 也想明白一个道理:大抵是你是一个什么样的人,就会遇到什么样的人 之前也一直纠结队友 的问题,现在看来也就是上述道理 过去的时间不在纠结,只是有点后悔罢了,但没有退路,还有半年多,必须要加油了 无论如何,今天的境地是一步一步影响导致这样的 改变的只能是未来 2018.4.21 第一次选拔赛的题目 hdu 4864 (贪心) poj 3928 (树状数组) ...

acm退役败犬 准nlp研究生 277

ACM新年展望

半年就做了一件事,结果仍不如人意。 明天还要继续,ACM才刚刚开始。 自己的知识欠缺仍然很大,做比赛效果就不怎么样。 1.字符串(KMP,TRIE,后缀数组,AC)都大概明白,并没有做过题 2.图论(二分图,网络流,2-SAT) 3.计算几何(各种都没做过)尤其是一个圆并

gg_gogoing的专栏 679

2012 Multi-University Training Contest 7

1003Dragon Ball不用单调队列也蹭过去了代码:http://www.cnblogs.com/pony1993/archive/2012/08/14/2638697.html1001简单的图论题每条边除了有边权以外,还有一个字母标记。标记可以是“LOVE”里面任意字符。每个点,要拆成四个点,分别代表到达该点的标记为L,O,V,E的最短路。第一步就是求最短路,直接spfa就可以...

weixin_30457465的博客 140

HDU 5057:Argestes and Sequence ← 分块算法(单点更新、区间查询)

● 分块是用线段树的分区思想改良的暴力法。代码比线段树简单。效率比普通暴力法高。分块适合求解 m=n=10^5 规模的问题。或 m*sqrt(n)≈10^7 的问题。其中,n 为元素个数,m 为操作次数。

hnjzsyjyj的专栏 1290
上一篇: Codeforces Round #433 C - Boredom
下一篇: hdu 5213 容斥&& 莫队算法
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值