Jzoj5460【NOIP2017提高A组冲刺11.7】士兵训练

陶哲轩用ChatGPT探讨雅可比猜想:AI在数学研究中的应用与局限 大语言模型作为人工智能的重要分支,通过深度学习技术实现了自然语言理解与生成能力。其核心原理是基于Transformer架构的海量参数训练,能够处理复杂的语义推理任务。在专业领域应用中,这类模型展现出辅助科学研究的巨大潜力,特别是在数学推理和问题求解方面。以雅可比猜想这一代数几何著名问题为例,AI工具可以协助理解多项式映射的可逆性等基础概念,并通过多轮对话构建推理链条。在实际应用场景中,数学家陶哲轩的实践表明,ChatGPT能够进行反例构造尝试和错误识别修正,但同时也存在符号计算精度和逻辑严密性等局限性。这种 阅读详情

好长一道题结果发现就是个叫你求最大次大的东西

我们跑出dfs序和主席树后,开始分类讨论

1.只有一个节点

2.有不止两个最大值,且在此子树外有l[i]不为0的节点

3.只有一个最大值,而次大值+子树外l[i]的最大值不等于最大值

4.只有一个最大值,而次大值+子树外l[i]的最大值等于最大值,就取第三大值和最大值相加,和次大值和子树外次大值相加

(这里的次大和第三大都是严格的)

主席树框架是写对了,但是main函数里面各种傻逼错误。。。。。

而且这题还卡栈,必须开个O3

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<vector>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 200010
#define M 1000000000
#define mid (l+r>>1)
using namespace std;
struct tree{ int l,r,s; } s[20000010];
int n,m,cnt=0,l[N],r[N],rt[N];
int clk=0,b[N],v[N],w[N],rt2[N],w2[N];
vector<int> G[N];
void dfs(int x){
	l[x]=++clk;
	for(int i=0;i<G[x].size();++i) dfs(G[x][i]);
	r[x]=clk;
}
void insert(int l,int r,int r1,int& r2,int k){
	if(!r2) r2=++cnt; s[r2].s=s[r1].s+1;
	if(l==r) return;
	if(k<=mid){ s[r2].r=s[r1].r; insert(l,mid,s[r1].l,s[r2].l,k); }
	   else { s[r2].l=s[r1].l; insert(mid+1,r,s[r1].r,s[r2].r,k); }
}
int fdmx(int l,int r,int r1,int r2,int& cnt){
	if(s[r2].s-s[r1].s<=0) return cnt=0;
	if(l==r){ cnt=s[r2].s-s[r1].s; return l; }
	if(s[s[r2].r].s-s[s[r1].r].s) return fdmx(mid+1,r,s[r1].r,s[r2].r,cnt);
	else return fdmx(l,mid,s[r1].l,s[r2].l,cnt);
}
int gpre(int l,int r,int r1,int r2,int k,int& cnt){
	if(l==r) return k;
	if(k<=mid) return gpre(l,mid,s[r1].l,s[r2].l,k,cnt);
	else {
		int p=gpre(mid+1,r,s[r1].r,s[r2].r,k,cnt);
		if(p==k){ 
			int v=fdmx(l,mid,s[r1].l,s[r2].l,cnt); 
			if(cnt) return v; else return k; 
		}
		return p;
	}
}
int main(){
	freopen("soldier.in","r",stdin);
	freopen("soldier.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);
	for(int i=1;i<=n;++i){
		scanf("%d%d",b+i,v+i);
		w[l[i]]=b[i]; w2[l[i]]=v[i];
	}
	for(int i=1;i<=n;++i) if(w[i]) insert(1,M,rt[i-1],rt[i],w[i]); else rt[i]=rt[i-1];
	for(int i=1;i<=n;++i) if(w2[i]) insert(1,M,rt2[i-1],rt2[i],w2[i]); else rt2[i]=rt2[i-1];
	for(int x;m--;){
		scanf("%d",&x);
		int c,v=fdmx(1,M,rt[l[x]-1],rt[r[x]],c);
		int c1,c2,m1,m2,d,p,_c;
		m1=fdmx(1,M,rt2[0],rt2[l[x]-1],c1);
		m2=fdmx(1,M,rt2[r[x]],rt2[n],c2);
		m1*=(bool)c1; m2*=(bool)c2;
		if(c>1 && (c1||c2)) printf("%d\n",v);
		else {
			m1*=(bool)c1; m2*=(bool)c2;
			p=gpre(1,M,rt[l[x]-1],rt[r[x]],v,_c);
			d=max(m1,m2);
			if(!_c||p==v) puts("0");
			else{
				if(p+d!=v) printf("%d\n",min(v,p+d));
				else{
					d+=gpre(1,M,rt[l[x]-1],rt[r[x]],p,c); if(!c) d=0;
					if(p+m1==v) m1=gpre(1,M,rt2[0],rt2[l[x]-1],m1,c1);
					if(p+m2==v) m2=gpre(1,M,rt2[r[x]],rt2[n],m2,c2);
					m1*=(bool)c1; m2*=(bool)c2;
					printf("%d\n",max(d,min(v,p+max(m1,m2))));
				}
			}
		}
	}
}

Codex 命令行高效操作指南 本文详细介绍了Codex命令行工具的高效使用方法,包括安装配置、核心参数解析和实战技巧。通过`codex complete`、`codex explain`等指令,开发者可以快速生成代码、调试错误和重构项目,显著提升开发效率。特别推荐使用`--temperature`和`--max-tokens`参数优化生成结果。 阅读详情

相关推荐

科研人必备!用WisPaper搭建个人文献知识库的完整指南(附Zotero联动技巧)

本文详细介绍了如何利用WisPaper搭建高效的个人文献知识库,包括文件命名标准化、文件夹结构设计、语义搜索技巧及与Zotero的深度联动方法。通过智能标签系统和知识图谱功能,科研人员可以快速定位关键文献,提升研究效率。特别适合需要管理大量学术文献的研究者。

weixin_30823001的博客 266

月赛补题

题目 期末有n个同学写论文,第i个人写论文的字数在 [ Li , Ri ] 之间,定义wi为某个同学写的字数。 所以Li≤wi≤Ri 而成绩的得分是非常有趣的,第i个同学gi的论文得分为n-Ki Ki是比当前这个人的论文字数多的人数 每个人都想写尽可能多的字,因为每位同学都想尽可能得到更高的得分。 所以很容易想到让wi=Ri即可。 但是zks发现了有一个有趣的现象 假设对于每位同学来说,∀i∈[1,n] Li=1000,Ri=10000. 那么在最积极情况下,每位同学都写10000字,即wi=1000.

qq_54756591的博客 294

麒麟v10(ky10.x86_64)升级——openssl-3.2.2、openssh-9.8p1

执行命令: make -j 4 && make install 这里要等待一段时间,等待编译完成。执行命令: ./configure --prefix=/usr/local/src/zlilb。执行命令: ./config --prefix=/usr/local/src/openssl。执行命令: make -j 4 && make test && make install。执行命令: make -j 4 && make install。执行命令: /etc/init.d/sshd restart。

X_yufei的博客 7428

JZOJ 5460. 【NOIP2017提高A组冲刺11.7】士兵训练

JZOJ 5460. 【NOIP2017提高A组冲刺11.7】士兵训练 DescriptionInput第一行两个数n,q 表示士兵数以及阅兵次数。 接下来一行n-1 个整数,第i 个整数表示士兵i+1 的直属教官。 接下来n 行每行两个整数i i b ,l 描述一位士兵的属性。 接下来q 行每行一个整数i s ,表示这次阅兵的总指挥。Output对于每次阅兵输出一行一个整数,表示阅

Felix-Lee的博客 592

DIY音乐播放器:用VS1053模块+Arduino打造你的专属MP3播放器(附完整代码)

本文详细介绍了如何使用VS1053音频解码模块与Arduino开发板,从零开始构建一个功能完备的桌面级MP3播放器。内容涵盖硬件架构设计、SPI总线共享、底层驱动编写、双缓冲区数据流管理以及用户交互实现,并提供完整的代码示例与性能优化建议,帮助创客打造高度可定制的专属音乐播放设备。

weixin_29189003的博客 286

铭飞MCMS源码部署

文章目录前言一、下载铭飞源码二、部署源码1.使用IDEA打开源码2.配置tomcat环境2.1下载tomcat并测试是否可以成功启动(此处不赘述)2.2在IDEA中安装tomcat环境并配置3.添加数据库,并配置3.1新建数据库3.2 导入sql配置三、启动测试 前言 铭飞MCMS基于IDEA、tomcat和mysql的环境搭建。 提示:以下是本篇文章正文内容,下面案例可供参考 一、下载铭飞源码 gitee:https://gitee.com/mingSoft/MCMS/releases(各种版本按需下

MARS_ZORO的博客 4063

JZOJ5460. 【NOIP2017提高A组冲刺11.7】士兵训练

题目Input第一行两个数n,q 表示士兵数以及阅兵次数。 接下来一行n-1 个整数,第i 个整数表示士兵i+1 的直属教官。 接下来n 行每行两个整数i i b ,l 描述一位士兵的属性。 接下来q 行每行一个整数i s ,表示这次阅兵的总指挥。Output对于每次阅兵输出一行一个整数,表示阅兵队伍能展现出的最大精神力P。Sample Input输入1: 5 2 1 1 2 2 2 1

lijf2001的博客 600

Unity卡牌游戏UI框架:数据驱动与模块化设计实践

在Unity游戏开发中,UI系统是连接玩家与游戏逻辑的关键桥梁,其核心在于实现数据与表现的高效同步。数据驱动设计通过分离数据模型、逻辑状态与视图表现,利用观察者模式自动响应状态变化,确保了代码的清晰与可维护性。这种架构显著提升了开发效率,尤其在需要复杂状态管理和实时反馈的交互场景中,如卡牌游戏的拖拽、布局与动画系统。基于模块化思想,开发者可以将卡牌视图、布局管理、区域控制等组件像积木一样组合,快速构建出动态的手牌弧形布局、战场区域管理等特色功能。通过集成对象池、图集优化等性能方案,还能有效管理绘制调用与网格

weixin_34262482的博客 453

【NOIP 2017】赛季正式打响!

传送门: NOIP2017 检查清单 2017的赛季正式打响了!加油干啊同志们,这里就记录一下我到底干了什么吧~,10_21【JZOJ 5407】【NOIP2017提高A组集训10.21】Deep 【JZOJ 5408】【NOIP2017提高A组集训10.21】Dark 【JZOJ 5409】【NOIP2017提高A组集训10.21】Fantasy小结T1没有去尝试找规律,不能懒啊 T3有

1135

AutoSAR MemMap模块概述及配置参数详解

这个模块是干啥的?它是用来配置Memory Mapping and Compiler Abstraction module。

4508

MATLAB船舶开尔文尾迹三维仿真建模

开尔文尾迹介绍 Kelvin最早研究舰船在水面运动在水面上形成波纹的原理,主要针对静水中点源运动的尾迹问题,并给出尾迹的张角和波高分布情况。由 Kelvin 的理论,一般情况下假设由一个理想点源来代替舰船,开尔文尾迹由分歧波和横断波组成,分歧波向船的两侧扩散,而横断波主要向船的后方传播,在相遇的地方两波相干形成尖头波,且尖头波位于尾迹角16°到19.5°之间,又因为尖头波波长过短,以至于无法单独的区分出每个尖头波的波前,所有的波前在视觉效果上就连成一条直线表现为亮线,称为开尔文臂,开尔文臂以船身对称,且角度

qq_19512613的博客 3844

Jzoj5462【NOIP2017提高A组冲刺11.8】好文章

nodgd写了一篇文章,自认为这是一篇好文章。nodgd的文章由

扩展の灰(Extended Ash/Cooevjnz) 830

车载软件架构 —— AUTOSAR Vector SIP包(三)

### 上一篇文章中介绍了AUTOSAR基础软件供应商Vector公司的开发工具链,本文将继续介绍Vector公司的AUTOSAR产品。 ### -> 1、Vector SIP包中的StartApplication ### -> 2、StartApplication如何开始使用

Soly_kun的博客 828

vijos1440 士兵 (排序,模拟)

P1440士兵 Accepted 标签:其他 排序CSCII 描述 在Gridland国家,有N个处于不同位置的士兵。该国上的地方都用两个坐标(X,Y)来表示。士兵能进行一次移动,每个士兵都可向上、向下、向左、或向右移动一个单位长,这样他就能把自己的X或Y改变1或-1。 士兵们想进入一个水平线,彼此靠近,这样他们的最后位置就是(X,Y)、(X+1,Y)

把复杂的事情简单描述 1007

计算机控制技术及应用

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

efm32 入门.pdf

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

【NOIP2017提高A组冲刺11.8】好文章 ——联赛字符串算法复习

题目大意:给出长度为n的串,问这个串长度为m的子串有多少个不同的。题解:这其实是一道SA的裸题,求出height以后,先把长度小于m的后缀删去,然后就这样取,如果一个后缀和前面最后的长度大于等于m的后缀之间的height的最小值小于m,则这个可取。 SA的板子背的还是不够熟啊,又去看了一波biao。然而这是一道联赛题。 所以hash就好了。 当然单hash被卡了,那就双hash,两个质数,两个

Cold_Chair的博客 529

VC中sqlite的使用

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

jzoj5400 repulsed

Description小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢?Input第一行三个整数n, s, k。 接下来n -1行每行两个整数表示一条

ChickenT的博客 425

JZOJ5400. 【NOIP2017提高A组模拟10.7】Repulsed

Description小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢?题解感性的理解一下,灭火器应该放在越上面的地方越好。 那么就按照深度由大到小来

lijf2001的博客 520

2017.04.15【NOIP2017提高组】模拟赛B组 T1:偷懒的小X

Description  话说3008年的Orz教主节,全民狂欢,传递教主圣火,以致万人空巷,股票飞涨。真乃锣鼓喧天,鞭炮齐鸣,红旗招展,人山人海呐。可是小X为了准备NOIP3008,不得不待在家里好好Coding。小X希望早点结束当天的任务,加入圣火传递队伍中去。 在这个不亚于狂欢节的日子里,小X的老师却“公然违抗”休假法令,布置小X写一个小根堆,但是小X不会堆的操作,所以想了一个偷懒的办法:

RainbowCrown_CGH's blog 1003

JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室

.

qq_35786326的博客 222

【NOIP2017提高A组模拟10.7】Confess

Description:小w 隐藏的心绪已经难以再隐藏下去了。 小w 有n + 1(保证n 为偶数) 个心绪,每个都包含了[1,2n] 的一个大小为n 的子集。 现在他要找到隐藏的任意两个心绪,使得他们的交大于等于n/2 。题解:设第i位的1的总数是cic_i 那么显然有∑2ni=1ci=n(n+1)/2\sum_{i=1}^{2n} c_i = n(n+1)/2两集合交的期望是: ∑2ni

Cold_Chair的博客 534

[入门oj1531]士兵训练

Description N个士兵排成一队进行军事训练,每个士兵的等级用1…K范围内的数来表示,长官每隔1小时就随便说出M个等级a1,a2…am(1≤ai≤K,M个等级中允许有重复),如果这M个等级组成的序列是排成一队的N个士兵等级序列的子序列,那么训练继续;否则训练结束。长官想知道,M至少为多少时,训练才有可能结束。 例:士兵等级序列为1 5 3 2 5 1 3 4 4 2 5 1 2 3,长...

lty26319的博客 1035

【NOIP2017提高A组模拟10.7】Repulsed

Description:小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢? n <= 10^5, k <= 20, s <= 10^9题解:贪心题都是

Cold_Chair的博客 861

【JZOJ 5400】【NOIP2017提高A组模拟10.7】Repulsed

Description小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢?Solution贪心,我想到的是从深度从大到小做,用线段树来找相应的匹配点,

557

JZOJ 5400. 【NOIP2017提高A组模拟10.7】Repulsed

JZOJ 5400. 【NOIP2017提高A组模拟10.7】Repulsed Description小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢

Felix-Lee的博客 525
上一篇: Jzoj5459【NOIP2017提高A组冲刺11.7】密室
下一篇: Jzoj5421 嘟嘟噜
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值