Jzoj4348 打击目标

〖进阶篇1〗YAML参数解析:从nav2_params.yaml看机器人导航调优 本文深入解析了ROS2 Nav2导航系统中关键的nav2_params.yaml文件,提供了从定位、行为树、运动控制到环境感知等核心模块的参数调优实战指南。文章通过具体场景案例,如狭窄走廊、动态仓库和高精度对接,详细阐述了如何调整AMCL粒子数、控制器权重、代价地图膨胀半径等参数,以解决机器人导航中的犹豫、碰撞和精度问题,帮助开发者实现从“能用”到“好用”的进阶。 阅读详情

又是被水题坑了。。。

一直想不出来看题解说要什么主席树,于是开始打离线算法

结果打到一半发现要强制在线。。No!!!

发现直接AC自动机似乎可做?树剖之后在AC自动机上跑的时候判断一下不就好了吗!连线段树都不要

让后快乐切掉,速度还可以(废话,人家N^2暴力都跑得飞快)

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<queue>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define vs (*s-'a')
#define N 100010
using namespace std;
struct AcAutomation{
	int son[N*10][26],f[N*10],c[N*10],cnt;
	queue<int> q; vector<int> p[N*10];
	inline void clear(){ cnt=1; }
	inline void insert(char* s,int pos){
		int x=1,l=0;
		for(;*s;++s,++l)
			x=son[x][vs]?son[x][vs]:son[x][vs]=++cnt;
		c[x]=l; p[x].push_back(pos);
	}
	inline void build(){
		p[1].push_back(N); sort(p[1].begin(),p[1].end());
		for(int i=0;i<26;++i)
			if(!son[1][i]) son[1][i]=1;
			else q.push(son[1][i]),f[son[1][i]]=1;
		for(int x;!q.empty();q.pop()){
			x=q.front(); p[x].push_back(N);
			sort(p[x].begin(),p[x].end());
			for(int i=0;i<26;++i)
				if(!son[x][i]) son[x][i]=son[f[x]][i];
			else q.push(son[x][i]),f[son[x][i]]=son[f[x]][i];
		}
	}
	inline int query(char* s,int l,int r){
		int ans=0;
		for(int x=1;*s;++s){
			x=son[x][vs];
			for(int j=x;j>1;j=f[j])
				if(c[j]>ans && *lower_bound(p[j].begin(),p[j].end(),l)<=r)
					{ ans=c[j]; break; }
		}
		return ans;
	}
}AC;
char s[N][12],c[N];
struct edge{ int v,nt; } G[N<<1];
int h[N],d[N],f[N],top[N],son[N],sz[N];
int l[N],r[N],n,m,cnt=0,clk=0,T;
inline void adj(int x,int y){
	G[++cnt]=(edge){y,h[x]}; h[x]=cnt;
	G[++cnt]=(edge){x,h[y]}; h[y]=cnt;
}
void dfs(int x,int p){
	d[x]=d[p]+1; f[x]=p; sz[x]=1;
	for(int v,i=h[x];i;i=G[i].nt)
		if(!d[v=G[i].v]){
			dfs(v,x);
			sz[x]+=sz[v];
			if(sz[son[x]]<sz[v]) son[x]=v;
		}
}
void dgs(int x,int p){
	l[x]=++clk; top[x]=p; 
	if(son[x]) dgs(son[x],p);
	for(int v,i=h[x];i;i=G[i].nt)
		if(!top[v=G[i].v]) dgs(v,v);
}
int gLca(int x,int y,char* s){
	int ans=0;
	for(;top[x]!=top[y];y=f[top[y]]){
		if(d[top[x]]>d[top[y]]) x^=y^=x^=y;
		ans=max(ans,AC.query(s,l[top[y]],l[y]));
	}
	if(d[x]>d[y]) x^=y^=x^=y;
	return max(ans,AC.query(s,l[x],l[y]));
}
int main(){
	scanf("%d%d",&n,&T); AC.clear();
	for(int i=1;i<=n;++i) scanf("%s",s[i]);
	for(int x,i=2;i<=n;++i) scanf("%d",&x),adj(x,i);
	dfs(1,0); dgs(1,1);
	for(int i=1;i<=n;++i) AC.insert(s[i],l[i]);
	scanf("%d",&m); AC.build();
	for(int x,y,ans=0;m--;){
		scanf("%d%d%s",&x,&y,c);
		x^=ans; y^=ans; ans=gLca(x,y,c);
		printf("%d\n",ans); ans*=T;
	}
}


RK3588上跑通Zipformer语音识别的3个坑与填坑实录(附完整编译命令) 本文详细记录了在RK3588开发板上部署Zipformer语音识别模型时遇到的三个典型问题及其解决方案,包括静态库版本冲突、编译脚本配置错误以及模型转换精度调优。文章提供了完整的编译命令和实战步骤,帮助开发者快速在边缘设备上实现高效的语音识别应用。 阅读详情

相关推荐

深入解析DMR协议中的4-CPFSK调制技术与实现

本文深入解析了DMR协议中采用的4-CPFSK调制技术。该技术凭借其连续相位、恒包络的特性,在有限的12.5kHz信道带宽内实现了稳健的通信,有效对抗干扰并提升功放效率,是DMR数字对讲机清晰、稳定通信的核心保障。文章详细阐述了其原理、实现细节及在协议栈中的协同作用。

weixin_29306875的博客 229

VIJOS-P1571 笨笨的导弹攻击

Description 为了彻底打击目标,笨笨要使用足够多的导弹去打击目标。 每个导弹有各自的编号,这些编号有可能重复…… 现在需要将其中一部分导弹按顺序抽调出来并按原顺序排列,使得这些被抽取出来的导弹奇数位置的编号大于其前一个的编号,偶数位置的编号小于其前一个的编号,这样子才能够正常使用这些导弹攻击目标。 笨笨想知道,他最多能够正常使用多少导弹攻击目标? Input 第一行一个

jmh20021118的博客 622

使用podman 容器化安装DIFY

本文阐述了使用podman容器化安装DIFY的过程

wengad的博客 1901

笨笨的导弹攻击

笨笨的导弹攻击 Accepted 标签:动态规划动态规划 LIS笨笨工作室系列 背景 在那遥远的地方,有个小目标~~ 笨笨:导弹准备! 路人甲:(这么小个目标都要欺负……)老大,导弹只有一部分可以用…… 笨笨:不管那么多,有多少就打多少! 描述 为了彻底打击目标,笨笨要使用足够多的导弹去打击目

midsummer的专栏 787

从打印攻击到视频重放:手把手用OULU-NPU训练你的第一个活体检测模型

本文详细介绍了如何使用OULU-NPU数据集训练活体检测模型,以应对打印攻击和视频重放等安全威胁。通过PyTorch框架,从环境准备、数据加载、预处理到模型架构设计,手把手教你构建一个高效的双流网络,结合CNN和LSTM技术,提升模型在多种攻击场景下的检测准确率。

weixin_29092031的博客 384

WordPress主题开发实战:从零开始手把手教你创建自定义主题(含常用函数大全)

本文是一份WordPress主题开发实战指南,从零开始手把手教你创建自定义主题。内容涵盖主题核心文件结构、模板层级与循环机制、函数与钩子的运用,并附有详细的常用函数大全,帮助开发者彻底掌握主题开发的核心技能,实现从使用者到创造者的转变。

weixin_27943395的博客 255

[JZOJ4348] 打击目标

Description给出一棵树(节点数不超100000),每个节点上有一个字符串(长度不超过10),强制在线询问,询问形如(x,y,s),表示询问x节点到y节点路径上的点(包括端点)最长的是s的子串的字符串的长度 询问字符串总长不超100000Solution既然每个节点的字符串长度都不超过10,那么答案也不超过10可以暴力枚举询问串从哪里开头匹配,然后对于树上每个节点维护它到根的可持久化Tri

Never give in. 351

从零实现Unitree Go2的SLAM建图与导航:手把手集成slam_toolbox和nav2(附Rviz2可视化配置)

本文详细指导如何在Unitree Go2四足机器人上集成slam_toolbox和nav2,实现SLAM建图与导航功能。从ROS2环境配置、雷达数据处理到slam_toolbox参数优化,再到nav2路径规划与Rviz2可视化调试,提供完整解决方案。特别适合机器人开发者快速掌握ROS2导航栈在Unitree Go2上的应用实践。

weixin_33737134的博客 1230

JZOJ 4348 打击目标

打击目标Description给出一棵大小为nn的树,第ii个点有一个代表ii的字符串mim_i。 接下来给出qq组询问,每组询问两个整数ss,tt和一个非空 的询问串ww, 对于每次询问,询问在ss到tt的路径上的所有的点的代表字符串,为询问串子串的串的最长长度。 强制在线。Data ConstraintSolution这题有一个很好的性质就,是mim_i小于等于1010,也就意味着每次答案

XianHaoMing的博客 373

打开LWIP_DEBUG的打印信息调试

在lwip 2.1.2的版本,打开的debug 调试的步骤: 1.在debug.h 文件中找到debug打印的定义 默认LWIP_DEBUG这个宏没有定义, 2.在lwipopt.h 文件中或者其他文件定义 一下LWIP_DEBUG这个宏, 3.在opt.h 中可以打开各种宏的调试信息, /* --------------------------------------- ---------- Debugging options ---------- ---------...

haidscs的博客 9878

C++cgal库配置+VS2017

Cgal几何图形库在VS2017上的下载、安装与配置。想要一口气下载完所有安装配件的,可以去文章末尾的链接。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。

dsn3S的博客 1488

笨笨

什么也不懂!!!!!!! 转载于:https://www.cnblogs.com/liulina009/p/3598128.html

weixin_30677475的博客 184

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

Jzoj3155 最短路

N 个结点、M 个含K 个结点的完全子图构成一个奇怪的图,问从结点1 走到结点N 最少需要经过多少个结点。 非常经典的套路了,当时做2sat也讲过了 建立中转站让后直接bfs,最后距离/2就好 #pragma GCC opitmize("O3") #pragma G++ opitmize("O3") #include<queue> #include<vector&...

dianning8393的博客 210

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

2017,11,12月题目小结

最近没什么时间写博客,但还是要写点小结,加强印象。JZOJ4384 hashit后缀平衡树,注意重量平衡树的维护根,删除可以直接拉到叶子删掉。11.25清华集训这套比赛打的时候不严谨,要注意推式子时下标一定要检查好,不然很浪费时间。导致策略无法进行。jzoj5480.【清华冬令营2018模拟】第一题给一个一些位置不确定的数字n,求合法的数字,满足s_d(a)+s_d(b)=s_d(n) 发现a+b

ZLTJohn的博客 716

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【WC2016模拟】打击目标

DescriptionInputOutput Sample Input3 0 xyz xy x 1 2 2 1 3 xyz 2 3 zzzzxySample Output3 2Data Constraint 题解这一题在比赛的时候我已经想到了和题解基本一样的做法,然而因为不会树剖(雾,所以只打了50point,结果数据超级水,要不是开小了数组就AC了QvQ 下午赶紧学习了一下树剖,

Marcus 613

efm32 入门.pdf

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

vijos P1571 笨笨的导弹攻击

原题位置: https://vijos.org/p/1571这道题说是个经典DP,但是感觉还好吧,一开始感觉和NOIP花匠是一样的,但是发现自己找不到状态,因为我们要知道当前这个导弹在抽出的序列中的奇偶位置,所以自然而然把原来的状态定义改了,但是还是b[1][i]和b[2][i],但是定义为b[1][i]是i这个位置是基数位置时的最长序列,b[2][i]是i这个位置是偶数位置时的最长序列,那么就有转

Peipei 451

[vijos1571] 笨笨的导弹攻击

题目链接题解:和noip2013花匠很像,记录下奇偶即可#include <iostream> #include <cstdio> using namespace std; int n,tot,flag;//1上升,2下降 int a[100005]; inline void init() { cin>>n; for(int i=1;i<=n;i++) scanf("%d",

沙茶酱的代码库>__< 538

Vijos P1571笨笨的导弹攻击

入门LIS。练习题 #include using namespace std; int n,temp,k=1; int dp[10005]; void myswap(int m) { for(int i=1;i<k;i++) { if(i!=k-1) { if(i%2)//基数位置 { if(temp>=dp[i-1]&&temp>=dp[i+1]) {

slime_kirito的专栏 724

Jzoj4778 数列编辑器

我们发现前四个操作可以用双向链表维护,而最后一个操作有一个限制就是1 #include #include #include #define N 1000010 using namespace std; int l[N],r[N],s[N]; char c[5]; int w[N],f[N]={-129},n=0,m,t,cnt=0; int main(){ freopen("editor.

扩展の灰(Extended Ash/Cooevjnz) 383

[BZOJ3754][JZOJ3410]【GDOI2014模拟】Tree

DescriptionWayne 在玩儿一个很有趣的游戏。在游戏中,Wayne 建造了N 个城市,现在他想在这些城市间修一些公路,当然并不是任意两个城市间都能修,为了道路系统的美观,一共只有M 对城市间能修公路,即有若干三元组(Ui, Vi,Ci) 表示Ui 和Vi 间有一条长度为Ci 的双向道路。当然,游戏保证了,若所有道路都修建,那么任意两城市可以互相到达。Wayne 拥有恰好N - 1 支修建

Never give in. 494

腾讯AI Lab视觉隐喻迁移(VMT)框架解析与应用

视觉隐喻是跨模态生成中的关键技术,通过将抽象概念转化为具象视觉元素实现认知传递。其核心原理在于建立源域与目标域的概念映射,利用Schema Grammar等结构化表示方法解构隐喻逻辑。在计算机视觉领域,这类技术能显著提升广告创意、教育可视化等场景的内容表现力。腾讯AI Lab提出的视觉隐喻迁移(VMT)框架创新性地采用四智能体协作架构,结合知识图谱和视觉语言模型,解决了传统方法生成的隐喻机械生硬的问题。该技术特别适用于需要传递复杂概念的场景,如将'知识如灯塔'转化为教育APP图标设计,相比简单对象组合能提升

dianning8393的博客 428
上一篇: Jzoj3155 最短路
下一篇: Jzoj3162 旋转
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值