Jzoj3467 最长上升子序列

后量子密码新路径:基于λ-Gabidulin子码的紧凑加密系统设计与实现 在后量子密码学领域,公钥密码系统的设计面临量子计算威胁与经典效率的双重挑战。其核心原理在于寻找能够抵抗量子算法攻击的数学困难问题,如基于格的LWE问题或基于编码的MinRank问题,以构建安全的加密与签名方案。这类技术的核心价值在于为物联网、区块链等数据敏感且资源受限的场景提供长期安全保障。其中,基于编码理论的方案,特别是巧妙运用Gabidulin码及其子码代数结构的构造,展现出在实现极致紧凑的密钥与密文尺寸方面的独特潜力。这种方案将安全性建立在MinRank这一NP-hard问题的计算困难性上,并利用子码 阅读详情

维护一个序列,使它可以进行下面两种操作:
1.在末尾添加一个数字x
2.将整个序列变成第x次操作后的样子
在每次操作后,输出当前序列的最长上升子序列的长度
序列初始时为空

嗯,可持久化线段树的裸题

额这可是noip提高组难度的题,我们发现所有操作可以变成一棵树(离线做法老套路了)

让后每次最多修改数组上的一个值(考虑二分求LIS的过程)最后改回去就好了

注意dfs又卡栈(jzoj极不良心啊)

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#define N 500010
#define INF 0x7fffffff
using namespace std;
extern int main2(void) __asm__ ("main2");
struct edge{ int v,c,nt; } G[N];
int h[N],f[N],n,cnt=0,A[N];
inline void adj(int x,int y,int c){
	G[++cnt]=(edge){y,c,h[x]}; h[x]=cnt;
}
void dfs(int x){
	A[x]=lower_bound(f,f+n,INF)-f;
	for(int p,v,i=h[x];i;i=G[i].nt){
		p=lower_bound(f,f+n,G[i].c)-f;
		v=f[p]; f[p]=G[i].c; dfs(G[i].v); f[p]=v;
	}
}
int main2(){
	freopen("lis.in","r",stdin);
	freopen("lis.out","w",stdout); 
	scanf("%d",&n); *f=INF;
	for(int o,x,i=1;i<=n;++i){
		scanf("%d%d",&o,&x); f[i]=INF;
		if(o) adj(x,i,INF); else adj(i-1,i,x);
	}
	dfs(0);
	for(int i=1;i<=n;++i) printf("%d\n",A[i]); exit(0);
}
int main(){  
    	int size=32<<20; char *p=(char*)malloc(size)+size;    
   	 __asm__ __volatile__("movq  %0, %%rsp\n"  "pushq $exit\n"   "jmp main2\n"  :: "r"(p));   
}

USB2.0信号完整性测试之眼图 名称线缆颜色引脚描述红色绿色白色GND黑色。 阅读详情

相关推荐

pgpool-II安装部署

文章介绍了pgpool-II的核心功能、架构组成以及实际部署的关键配置步骤

weixin_41690116的博客 1422

[DP][二分]JZOJ 3467 最长上升子序列

Description 维护一个序列,使它可以进行下面两种操作:1.在末尾添加一个数字x2.将整个序列变成第x次操作后的样子在每次操作后,输出当前序列的最长上升子序列的长度序列初始时为空 Input 输入文件lis.in的第一行有一个正整数n,表示操作个数。接下来n行每行有两个整数op,x。如果op为0,则表示添加x这个数字;如果op为1,则表示回到第x次操...

weixin_34220179的博客 175

ECC密码的加密和解密(附带代码实现)

ECC,全称Elliptic Curve Cryptography,是椭圆曲线密码学。这是一种公钥加密技术,其安全性基于椭圆曲线离散对数问题,被广泛应用于信息安全领域。ECC的主要优势在于,相较于RSA和DSA等其他传统的公钥密码体系,它能够在提供相同安全级别的情况下,使用更短的密钥,从而减少计算量和存储空间的需求。例如,一个256位的ECC密钥提供的安全性可以与3072位的RSA密钥或DSA密钥相媲美。ECC的主要应用领域包括SSL安全证书、安全电子邮件、移动设备安全、物联网设备安全等。

xixixi7777的博客 8268

【NOIP2013模拟联考7】最长上升子序列

Description:维护一个序列,使它可以进行下面两种操作: 1.在末尾添加一个数字x 2.将整个序列变成第x次操作后的样子 在每次操作后,输出当前序列的最长上升子序列的长度 序列初始时为空. n<=500000且所有输入的数字都是长整型范围内的非负整数题解:显然可以离散一下数字直接套用可持久化线段树,区间查询,单点修改。 也可以设fif_i表示长度为i的最小结尾,接着强行可持久化线

Cold_Chair的博客 743

基于Python的高考志愿辅助填报系统

在实际应用中,系统需要处理更复杂的数据,包括更多的高校和专业信息、更详细的录取规则、以及用户的历史选择等。系统需要提供用户友好的界面,让考生输入自己的信息和偏好,然后通过后端的模型计算出推荐的志愿列表。此外,系统还应该提供一些个性化的服务,如根据考生的输入动态调整推荐策略、保存用户的填报历史和偏好等。特征可能包括考生的分数、所在省份、文理科类别、专业偏好、高校的地理位置、排名、专业的就业前景等。3. **推荐逻辑**:根据用户的分数和专业偏好,结合历史录取数据,使用简单的算法来推荐可能录取的高校和专业。

coder_wwwdy的博客 1976

01-SA8155 QNX 虚拟机Hypervisor

Hypervisor运行在Host OS操作系统上,其他操作系统均在Hypervisor上运行。:Hypervisor直接运行在硬件上,操作系统在Hypervisor之上运行。终止(关闭):echo control 0 dev/vmm。路径:qnx_ap/AMSS/platform/vm/resources/关闭/终止 qvm(GVM):slay -s SIGQUIT qvm。", //host PVM --- 主机。不直接操作/dev/vmm 实现关闭,启动vm。

静虚待令,有物混成 1万+

3467. 【NOIP2013模拟联考7】最长上升子序列(lis)

Description维护一个序列,使它可以进行下面两种操作:1.在末尾添加一个数字x2.将整个序列变成第x次操作后的样子在每次操作后,输出当前序列的最长上升子序列的长度序列初始时为空Input输入文件lis.in的第一行有一个正整数n,表示操作个数。接下来n行每行有两个整数op,x。如果op为0,则表示添加x这个数字;如果op为1,则表示回到第x次操作之后。Output对于每次操作,在输出文件li

puppywolf的博客 654

达梦数据守护集群监视器详解与应用指南

主库/备库:承担读写和只读服务的数据节点Redo 日志:记录数据库变更的核心日志Redo 日志传输:主备库间的日志同步机制Redo 日志重演:备库重做日志的应用过程守护进程 (dmwatcher):实例级别的监控和管理组件监视器 (dmmonitor):集群级别的监控和管理工具监视器作为数据守护系统的重要组成部分,提供了集群监控、故障管理和状态确认等关键功能。达梦数据守护集群监视器是维护数据库高可用性的关键工具。

huanhuanzhou blog 1058

最长上升子序列(LIS)

问题描述:给出一个数列,找出这个数列中最长上升子序列中所包含的个数。 很容易能想到一个dp的方法: dp[i]=以i为末尾的最长上升子序列 但是该方法复杂度为O(n^2),我们发现上升子序列末尾的数字越小,它后面就越有优势,所以我们可以转而求在相同长度下,末尾元素的最小值。该算法的复杂度也为O(n^2),但因为dp数组是单调递增的,我们可以用二分的方法来进一步优化,这样时间复杂度就是O(n*l

雪夜飞花的博客 278

PCB线路板的制作工艺流程分享!2021-08-21

Pcb板制作工艺流程:开料-钻孔-沉铜-压膜-曝光-显影-电铜-电锡-退膜-蚀刻-退锡-光学检测-印阻焊油-阻焊曝光、显影-字符-表面处理-成型-电测-终检-抽测-包装。具体如下:1、开料(CUT) 将原始的覆铜板切割成可以用在生产线上制作的板子过程2、钻孔 使PCB板层间产生通孔,以达到连通层间的目的。 3、沉铜 经过钻孔后的线路板在沉铜缸内会发生氧化还原反应,形成铜层对孔进行孔金属化,使原来绝缘的基材表面沉积上铜,达到层间电性相通。 4、压膜 压膜后的PCB板上面压了一层蓝色的干膜, 干膜是一个载体

jdbpcb88的博客 3245

【人工智能】《Deep Dive into LLMs like ChatGPT 》—— Andrej Karpathy 第三阶段:强化学习(Reinforcement Learning, RL)

摘要:强化学习(RL)阶段通过让模型自主生成并验证答案,突破SFT阶段的模仿局限,使其在数学、代码等领域形成独特的推理路径。RL流程包括批量生成解答、自动批改筛选正确路径,并采用PPO/GRPO算法优化模型。模型会自发涌现自我检查、回滚等策略,显著提升正确率(如AIME竞赛准确率从15%升至56%)。与SFT模型相比,RL模型具备主动链式思维、验算能力,响应时间更长但效果更优,形成真正的“思考模型”。三阶段对比显示,RL通过可验证题的对错奖励机制,赋予模型超越人类范式的推理能力。

奶爸的编程之路,也就一周冷个三天 147

jzoj 3467. 【NOIP2013模拟联考7】最长上升子序列(lis) dfs+lis+手工栈

Input输入文件lis.in的第一行有一个正整数n,表示操作个数。接下来n行每行有两个整数op,x。如果op为0,则表示添加x这个数字;如果op为1,则表示回到第x次操作之后。Output对于每次操作,在输出文件lis.out中输出一个答案,表示当前最长上升子序列的长度Data Constraint30%的数据 n<=1000另外20%的数据没有第二个操作80%的数据 n<=200000100%

olahiuj的博客 476

PCL 基于法线微分(DoN)的点云分割【2026最新版】

基于法线微分的分割。博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 39万+

2018.07.20【2018提高组】模拟C组

前言:从未绝望的一天 JZOJ 3388 绿豆蛙的归宿 题目 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点。从起点走向终点,到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K 。求从起点走到终点的所经过的路径总长度期望。 分析 设f[x]f...

lemondinosaur的博客 244

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最长上升子序列问题LIS

问题描述:对于给定的n个整数A1, A2…An, 从左到右的顺序选择尽可能多的数,组成一个上升子序列。(上升子序列可以理解为:删除0个或多个数, 其他数的顺序不变, 例如1, 6, 2, 3, 7, 5, 可以选出上升子序列1, 2, 3, 5 也可以选出 1, 6, 7) 法一:通过DP记忆化搜索求解问题,时间复杂度为O(n^2) #include #include #include #i

joeycom2的博客 357

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JZOJ 4915. 【GDOI2017模拟12.9】最长不下降子序列

思维题

Luckfort 799

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

F - LIS on Tree(树上最长上升子序列)

题目传送门 题意: 给你一颗树,每个节点有一个权值,从1出发,输出终点分别为1,2,3…n的时候,这条简单路径上的最长严格上升子序列的长度。 二分思路: 存好图之后dfs,每次到一个新的节点,就相当于在遍历数组的时候遇到下一个数,对他进行入队或者替换操作,在走完这个节点的子树之后,我们要回溯,但是这个子树中某些节点可能已经插入到数组中,我们要消除这个子树中节点对以后的影响,所以在每次回退的时候要判...

Joker_He的博客 1470

最长上升子序列(LIS)的一点理解

问题描述给定n个整数A1,A2,…,An,按从左到右的顺序选出尽量多的整数,组成一个上升子序列。比如从序列1,6,2,3,7,5中,可以选出上升子序列1,2,3,5,也可以选出1,6,7,但前者更长。选出的上升子序列中相邻元素不能相等。问题分析设d(i)为以编号i结尾的上升子序列的长度。那么对于上述序列1,6,2,3,7,5来说: d(1)=1 d(2)=2 d(3)=2(因为2<6,所以子序

zacharytse的博客 466

最长上升子序列(LIS)算法

LIS定义 LIS(Longest Increasing Subsequence)最长上升子序列  一个数的序列bi,当b1 &lt; b2 &lt; … &lt; bS的时候,我们称这个序列是上升的。 对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK), 这里1 &lt;= i1 &lt; i2 &lt; … &lt; iK ...

紫芝的博客 2万+

操作字符串中的数字序列

一、编程找出一个字符串中最长的数字字符串,打印该数字串及长度 #include #include int main() { int i,stlen; int numlen=0,numax=0; int k; char st[30]; //假定输入的字符串长度不超过30 scanf("%s",st); stlen=strlen(st);

fk961859482的专栏 720

#树状数组,离散#洛谷 3970 bzoj 5157 jzoj 3742 上升子序列

题目 给定一段序列,问有多少段长度超过1并且互不相同的子序列严格递增 分析 首先长度超过1也就是总合法子序列减去互不相同的数,首先要把这个序列离散化,思考严格递增,也就是前面的数比它小的答案个数和,这个可以用树状数组实现,然后这个位置答案加1,那怎么去重,也就是减掉前面相同数的答案个数和,可以开一个桶记录 代码 #include <cstdio> #include <ccty...

lemondinosaur的博客 226

JZOJ 3712【NOI2014模拟6.30】石中剑的考验

题目大意:原来的序列是n的排列,给出原来的序列的的一组最长不下降子序列,求原序列可以多少种。 (1<=n<=15)题解:状态压缩dp加暴力枚举状态。 求最长不下降子序列一种log算法就是开一个辅助数组l,lxl_x表示长度为x的序列的结尾最小是多少。 l是单调递增的。 设fi,Sf_{i, S}表示已经放了i个,状态是S的方案数。 一个数如果已经放了,并且在l里出现了,是2,放了,没在l中

Cold_Chair的博客 734

LIS最长上升子序列

简单方法 状态设计:F[i]代表以A[i]结尾的LIS的长度 状态转移:F[i]=max{F[j]+1}(1&lt;=j&lt; i,A[j]&lt; A[i]) 边界处理:F[i]=1(1&lt;=i&lt;=n) 时间复杂度:O(n^2) #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;algori...

haohaoxuexilmy的博客 198

【NOIP2013模拟联考3】恭介的法则(rule) (Standard IO)

题目大意: 假设第一个毒气罐被打开的概率为1/x,第二个毒气罐为1/y(x,y 为正整数),那么当两个概率和为1/(n!)时,猫将会被莫名其妙地杀死。现在美鱼想知道,有多少对(x,y)可以让猫被莫名其妙杀死。其实就是求满足1/x+1/y=1/n!的x,y的正整数对数 n<700000 思路: 很难,很难。我也不会。。。。。。。。。。。。。。。。。。。。。。。。。

学习成神之路 468
上一篇: Jzoj4771 爬山
下一篇: 字符串专题讲解
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值