Jzoj4895 三部曲

Opencv计算相机响应函数(Camera Response Function)与Radiance 本文主要用于记录自己在学习CRF过程中遇到的一些问题。 CRF模型 I=f(V(t⋅L))I=f(V( t\cdot L))I=f(V(t⋅L)) 其中III为相机灰度值Intensity,LLL为环境中irradiance,ttt为曝光时间,VVV为相机镜头参数,fff为相机响应函数CRF。 有些论文中认为相机镜头参数是线性的不考虑,但有些考虑了衰减即靠近图像边缘亮度会暗一些,但没有看到二者同时计算的,如果同时计算两个非线性的函数,我觉得可能会有不确定性,在这里还请教一下了解的朋友。 控制 阅读详情
因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。
当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。

你现在是国王的军事大臣,你能回答出国王的每个询问么?

我们先求出dfs序,让后考虑如何维护

因为我们对一个点增加后,他的子树受到影响是随着深度递增的

所以我们可以考虑两颗线段树,一个存区间加上常数,另一个存区间加上节点的深度

每次修改,假设要修改的区间为[l,r],那么我们在第一颗树上区间加上k-d[x],第二颗线段树加上1即可

询问直接输出两颗线段树区间之和即可

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<vector>
#define LL long long
#define N 50010
#define mid (l+r>>1)
#define ls x<<1
#define rs x<<1|1
using namespace std;
LL s1[N<<2]={0},t1[N<<2]={0};
LL s2[N<<2]={0},sd[N<<2]={0},t2[N<<2]={0};
int d[N],l[N],r[N],n,m,clk=0,v[N];
vector<int> G[N];
inline void dfs(int x,int p){
	d[x]=d[p]+1; l[x]=++clk;
	for(int i=0,z=G[x].size();i<z;++i)
		dfs(G[x][i],x);
	r[x]=clk;
}
void build(int l,int r,int x){
	if(l==r){ sd[x]=v[l]; return; }
	build(l,mid,ls);
	build(mid+1,r,rs);
	sd[x]=sd[ls]+sd[rs];
}
inline void ps(int x){
	s1[x]=s1[ls]+s1[rs];
	s2[x]=s2[ls]+s2[rs];
}
inline void pd1(int x,int m){
	if(t1[x]){
		t1[ls]+=t1[x];
		t1[rs]+=t1[x];
		s1[ls]+=t1[x]*(m-(m>>1));
		s1[rs]+=t1[x]*(m>>1);
		t1[x]=0;
	}
}
inline void pd2(int x){
	if(t2[x]){
		t2[ls]+=t2[x];
		t2[rs]+=t2[x];
		s2[ls]+=sd[ls]*t2[x];
		s2[rs]+=sd[rs]*t2[x];
		t2[x]=0;
	}
}
void ad1(int l,int r,int x,int L,int R,LL k){
	if(L<=l && r<=R){ s1[x]+=k*(r-l+1); t1[x]+=k; return; }
	pd1(x,r-l+1);
	if(L<=mid) ad1(l,mid,ls,L,R,k);
	if(mid<R) ad1(mid+1,r,rs,L,R,k);
	ps(x);
}
void ad2(int l,int r,int x,int L,int R){
	if(L<=l && r<=R){ s2[x]+=sd[x]; t2[x]++; return; }
	pd2(x);
	if(L<=mid) ad2(l,mid,ls,L,R);
	if(mid<R) ad2(mid+1,r,rs,L,R);
	ps(x);
}
LL gS1(int l,int r,int x,int L,int R){
	if(L<=l && r<=R) return s1[x];
	pd1(x,r-l+1);
	return ((L<=mid)?gS1(l,mid,ls,L,R):0)+((mid<R)?gS1(mid+1,r,rs,L,R):0);
}
LL gS2(int l,int r,int x,int L,int R){
	if(L<=l && r<=R) return s2[x];
	pd2(x);
	return ((L<=mid)?gS2(l,mid,ls,L,R):0)+((mid<R)?gS2(mid+1,r,rs,L,R):0);
}
int main(){
	freopen("truetears.in","r",stdin);
	freopen("truetears.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int x,i=2;i<=n;++i){
		scanf("%d",&x);
		G[x].push_back(i);
	}
	dfs(1,0);
	for(int i=1;i<=n;++i) v[l[i]]=d[i];
	build(1,n,1); char c[3];
	for(int a,b,i=0;i<m;++i){
		scanf("%s%d",c,&a);
		if(*c=='Q') printf("%lld\n",gS1(1,n,1,l[a],r[a])+gS2(1,n,1,l[a],r[a]));
		else { scanf("%d",&b); ad1(1,n,1,l[a],r[a],b-d[a]); ad2(1,n,1,l[a],r[a]); }
	}
}

FastApi教程 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 阅读详情

相关推荐

Type-C连接中的CC引脚:Rp与Rd电阻的识别与供电模式选择

本文深入解析Type-C接口中CC引脚的核心功能,包括Rp与Rd电阻的识别原理及供电模式选择机制。通过详细的分压计算和实战案例,揭示Type-C设备如何通过CC引脚实现方向检测、角色识别和供电协商,为硬件设计提供关键指导。

weixin_30616969的博客 341

【jzoj4895】【三部曲】【线段树】

题目大意因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。你现在是国王的军事大臣,你能回答出国王的每个询问么?解题思路先按dfs序重标号

inklutcuah’s blog 474

风力发电机并网模型建立及仿真验证

传统能源日益匮乏,环境污染日趋严重,全球向安全、可靠和环保的可持续能源体系转型迫在眉睫,风电迎来了重要的发展契机。近年来,全球风电迅猛发展,我国已成为世界风电新增装机容量第一的国家。然而,随着风电规模的不断增大,风电场接入对系统影响不容忽视。随着变速恒频风力发电系统优越的性能突出和大容量电力电子技术的成熟,风速随机性引起的功率波动及故障情况下的动态响应,对电能质量,系统电压、频率的稳定性产生的影响需要深入研究。因而,本文结合实际项目,针对变速恒频风力发电系统建模,端口动态特性及对电网电能质量、运行稳定性的影

毕业设计区博客 1637

jzoj4895. 三部曲

Description因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。 你现在是国王的军事大臣,你能回答出国王的每个询问么?In

olahiuj的博客 628

时间序列数据预测——15种时序大模型

本文综述了时间序列大模型(TSFM)的最新进展,系统介绍了11种主流模型(如TimeGPT、Lag-Llama、Moirai等)的架构特点、训练数据和创新点,并对比分析了它们在单变量/多变量预测、概率预测等功能上的差异。研究表明,基于"大规模预训练-微调/零样本"范式的TSFM在标准数据集(如M4、ETT)上展现出优于传统方法的性能,Time-MoE等模型更达到SOTA水平。但TSFM仍面临计算成本高、可解释性差等挑战,未来发展方向包括轻量级架构、多模态融合和可解释性增强。

m0_56592100的博客 4069

嵌入式电机控制实战:手把手教你实现I/F强拖启动(附仿真代码)

本文详细介绍了嵌入式电机控制中的I/F强拖启动技术,通过参数配置、代码实现和仿真验证的完整流程,帮助开发者掌握永磁同步电机(PMSM)的高效启动方法。文章包含硬件平台搭建、参数整定黄金法则及MATLAB/Simulink仿真验证,适合工业自动化和智能设备领域的工程师参考。

rust6ferris的博客 910

【NOIP2016提高A组集训第16场11.15】三部曲

题目大意因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市i被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 q个操作:1. 给城市i增派k名士兵 2. 询问以i为根的子树的士兵总数。n≤50000 q≤100000分析在子树上维护信息的题,一般可以考虑求出dfs序,然后用数据结构维护。考虑一个增

WorldWide_D的博客 543

Qt基础之十九:进程与QProcess

进程就是一个程序的执行实例,也就是正在运行的程序。对操作系统来说,进程就是一个担当分配系统资源CPU时间、内存的实体。在Qt 中,我们使用QProcess来表示一个进程。这个类可以允许我们的应用程序启动一个新的外部程序,并且与这个程序进行通讯。当外部程序开始启动时,QProcess的状态为Starting;外部程序已经启动时,QProcess的状态为Running,并发送started()信号;当外部层序退出了,QProcess的状态为NotRunning(初始状态),并发送finished()信号。

草上爬的博客 1万+

JZOJ 2017.08.16 B组(未完成)

Description  给定1到N的一个排列,再给定一些允许的交换方法,要求用最少的交换次数把该排列变为1,2,3,,,N。 Input  第一行包含两个整数N(1<=N<=12)和M(1<=M<=N*(N-1)/2),表示序列的长度以及允许的交换方案。 第二行输入1到N个初始排列情况。 接下来M行,每行两个整数A和B描述一个允许的交换方案,表示允许把当前排列中的第A个数和第B个数进行交换,

Brute♂force 622

AI Agent开发第49课-DIFY让AI自动预约排班后发企业微信通知-MongoDb-Redis-企业微信调用

我们的Dify会讲得很透彻,坚持喂饭级教程,从一个基本的AI自动预约客户到自动记录客户的信息再到自动判断下一步如何走全部是AI化的,这是一个真正的AI原生应用,它来自于我的一个大型物业公司用AI自动预约系统中的一部分。我们会使用这个预约流做完整的Dify例子来讲完,因为它太有代表性了。工作流中的控制反转、AI决策下一步怎么走、人为干涉、用户行为判断、外部中间件如Redis,今天我们就要讲到在Dify中调用MongoDB的数据以及企业微信通知来作为预约派单的最后一步了。

打造全国最全的AI Agent开发知识领域的博客 1752

R 语言 ggplot2 绘制精美高级全球地图

在本教程中,我们将学习如何使用R语言和ggplot2包绘制精美高级地图。ggplot2是一个功能强大的数据可视化包,它可以让我们创建漂亮、交互式的地图。我们将使用R中的一些其他包来处理地理空间数据,以便与ggplot2无缝协作。

Mrrunsen的博客 1866

JZOJ 4895 三部曲(线段树)

题目因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。 你现在是国王的军事大臣,你能回答出国王的每个询问么?n<=50000,q<

baidu_34015648的博客 454

Altium Designer系列: 软件系统参数配置保存

【Altium Designer实践】 软件系统参数配置保存 作者 CodeAllen ,转载请注明出处 目录设置中文菜单高亮模式设置文件关联pcb设置布线设置保存配置文件(复用) 设置中文菜单 DXP->Preferences 高亮模式设置 文件关联 pcb设置 布线设置 保存配置文件(复用) ......

CodeAllen嵌入式 2018

【JZOJ4895】【NOIP2016提高A组集训第16场11.15】三部曲

=v=因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。 你现在是国王的军事大臣,你能回答出国王的每个询问么?= =对于50%的数

=w= 555

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

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

noip模拟题11.10 光棍节前夕

T1 AStatement 给出一个长度不超过100只包含’B’和’R’的字符串,将其无限重复下去。 比如,BBRB则会形成BBRBBBRBBBRB 现在给出一个区间[l,r]询问该区间内有多少个字符’B’(区间下标从1开始) Input 第一行为一个只包含’B’和’R’的字符串 第二行为两个整数,表示l和r Output 输出[l,r]区间内字符’B’的数量 Samp

某炒鸡无底蒟蒻的博客 431

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

三部曲

题目描述 因为外来的入侵,国王决定在某些城市加派士兵。 所有城市初始士兵数量为0。 当城市i被加派了k名士兵时,城市i的所有子城市需要被加派k+1名士兵,这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 当然,加派士兵的同时,国王也需要不断了解当前的情况。 于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。 你现在是国王的军事大臣,你能回答出国王的每个询问么? 输入输出...

iwi 500

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jzoj5837 Omeed 线段树+矩阵乘法

Description 好长啊 Solution 早上睡过头了推出一堆假的柿子并不能过样例 考虑怎么求c(i)的期望。显然有ci=(ci−1+1)×pi+ci−1×t×(1−pi)ci=(ci−1+1)×pi+ci−1×t×(1−pi)c_i=\left(c_{i-1}+1\right)\times p_i+c_{i-1}\times t\times \left(1-p_i\r...

olahiuj的博客 489

【JZOJ4228】C

description 在远古的YL国大地上,有n个祭坛,每个祭坛上四个方向写有“艄、毜、鼛、瓯”四个大字,其实这在YL国古代分别是“东、南、西、北”的意思。 YL国每年都要举行祈福消灾的祭祀活动,这个时候,每个祭坛都要在艄毜鼛瓯四个方向中选一个方向,祭坛将向这个方向发出一道隐形的光线,如果两个祭坛发出的光线相交,或者祭坛发出的光线经过了别的祭坛,则祭祀不仅不能成功还将遭到上天的惩罚,如果这些条件...

路人黑的纸巾 562

[bzoj4893/bzoj4895]项链分赃,一个强大的脑洞

试证明一条n个珠宝的项链,每个珠宝有一个颜色,一共m种颜色。每种颜色均有偶数个珠宝。 现在切若干刀分成若干段,将一些段给A另一些给B。 使A和B每种颜色获得的珠宝数相同。 试证明至多m刀即可。地球问题基本是参考原题解的。 假设地球是一个完美的球体,而且气温和气压的变化是连续的,那么地球上一定存在一对相对的点气温和气压都相等。 我们来考虑证明吧。 假设你和你的女朋友都绕赤道走了半圈,且时刻

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

百度云干货资源

这是一些学习资源,里面有Android的,iOS的,PHP的,大数据的,Java的,web前端的,C++,Python的…. 有的来源地址是在一个公众号的群.感谢群主的分享.有的是我以前收集的.在此我也分享给大家.如果大家有好的资源,非常欢迎在此分享. android http://pan.baidu.com/s/1geNC76b密码:gjii ios http://pan.baid

wcqwcq123的博客 7万+

NOIP11.15模拟 T2 三部曲

。。没想到正解,大概知道是线段树,但是不知道怎么处理,出来才知道是用dfs序,也有dalao用树剖怒艹。。然而我明明打的50分结果只有30分,A了之后看了一下别人50分的做法。。感觉我就算是暴力都打的很复杂。。有很多可以简化的东西。。要学习一下。 简洁的50分做法(来自hhh)#include<iostream> #include<stdio.h> #include<string.h> #incl

老臣 541

UVA 1331 Minimax Triangulation [最优三角剖分] [dp] [计算几何]

Minimax Triangulation Time Limit: 3000MS 64bit IO Format: %lld & %llu 计算几何版的最优三角剖分,同样是dp的基础。 这个要考虑凹多边形的情况,那么此时需要把剖分的三角形做一个判断,判断是否有点在三角形内部。 然而像这样的特殊情况不用单独考虑,因为虽然这种三角形是合法的,但是却不能转移到任何下阶段的状态

C'est la vie. 651

bzoj4449: [Neerc2015]Distance on 点分治 三角剖分 平面图与对偶图

bzoj4449: [Neerc2015]Distance on Triangulation Description 给定一个凸n边形,以及它的三角剖分。再给定q个询问,每个询问是一对凸多边行上的顶点(a,b),问点a最少经过多少条边(可以是多边形上的边,也可以是剖分上的边)可以到达点b。 Input** 第一行一个整数n(n &amp;lt;= 50000),代表有n个点。点1,2,3,…,n是凸多边形...

maxtir的博客 818
上一篇: Jzoj4894 SJR的直线
下一篇: Jzoj4896 兔子
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值