第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)I.Simone and graph coloring【最长下降子序列 / 树状数组】

fibplus-8.0.0.zip FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。 立即下载

Link

树状数组 / 最长下降子序列

题意

给定n个数字,对所有的逆序对建边,构成一个无向图,现对所有的点进行染色,求一种染色方案,使得相邻结点颜色不同,且使用颜色数最少

分析

  1. 若模拟情况,会发现逆序对数最多是 n 2 n^2 n2数量级,所以建边的话会炸时空,显然考虑找性质规律
  2. 任找两组数据进行模拟
    4 3 2 1 —> 1 2 3 4
    5 4 3 1 2 —> 1 2 3 4 4
    发现第i号数的答案为以i为结尾的最长下降子序列
  3. 考虑两种方法
    用数据结构,即树状数组:对于第i号数,找到前i个当中其值比第i个大的,且答案最大的,将答案+1即是当前答案
    或用最长下降子序列板子实现:用二分维护一个数组,使每个元素递减,故更新数组时应使每个元素尽可能大,应更新数组中从左至右第一个比该值小的元素

Code

最长下降子序列

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
const int mod=998244353;
const long long inf=1e18;
const int base=131;
const double pi=3.1415926;
#define ll long long
#define int long long
#define ull unsigned long long
#define maxx(a,b) (a>b?a:b)
#define minx(a,b) (a<b?a:b)
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(...) fprintf(stderr, __VA_ARGS__)
inline ll qpow(ll base, ll n) { assert(n >= 0); ll res = 1; while (n) { if (n & 1) res = res * base % mod; base = base * base % mod; n >>= 1; } return res; }
ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b);}
ll lcm(ll a,ll b) { return a*b/gcd(a,b); }
ll inv(ll a) {return a == 1 ? 1 : (ll)(mod - mod / a) * inv(mod % a) % mod;}
ll C(ll n,ll m){if (m>n) return 0;ll ans = 1;for (int i = 1; i <= m; ++i) ans=ans*inv(i)%mod*(n-i+1)%mod;return ans%mod;}
ll A(ll n,ll m){ll sum=1; for(int i=n;i>=n-m+1;i--) sum=(sum*i)%mod; return sum%mod;}
ll GetSum(ll L, ll R) {return (R - L + 1ll) * (L + R) / 2ll;} //等差数列求和 
 
/************/
int t,n,a[maxn],b[maxn],ans[maxn],cnt;
bool check(int m,int a){
	if(a>m) return true;
	else return false;
}
void sol(){
	cnt=0;
	for(int i=0;i<n;i++){
		int l=0,r=cnt,pos=cnt;
		while(l<r){
			int m=(l+r)/2;
			if(check(b[m],a[i])){
				pos=m;
				r=m;
			}
			else l=m+1;
		}
		if(pos==cnt) cnt++;
		b[pos]=a[i];
		ans[i]=pos+1;
	}
	printf("%lld\n",cnt);
	for(int i=0;i<n;i++) printf("%lld ",ans[i]);
	printf("\n");
}
signed main()
{
	scanf("%lld",&t);
	while(t--){
		scanf("%lld",&n);
		for(int i=0;i<n;i++){
			scanf("%lld",&a[i]);
		}
		sol();
	}
	return 0;
}
基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码 基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码.是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢sql,比分析xml中的语句更直观,springrain所有的sql语句都使用Finder封装管理,只要查看Finder的引用即可. 立即下载

相关推荐

工艺部2026年终总结及2027工作规划PPT.pptx

制造业生产、工艺、设备、质量全套 PPT 资料,包含月度经营复盘、季度数据分析、部门年终总结规划、产线与检验规范、TPM 设备保全、质量意识、质量总监高阶培训等课件。内容兼顾经营指标偏差分析、述职汇报、现场制度宣贯、岗位技能教学。 适合操作工、检验员、设备维保员、工艺 / 品质 / 设备工程师、生产主管、各部门部长、质量总监、厂长、内部培训师、精益专员使用,覆盖一线执行、骨干分析、部门负责人述职、高管进阶全层级,可直接用于工厂汇报、内部培训、述职复盘。

hdu4604 Deque,树状数组,最长上升/下降子序列

hdu 4604 Deque,树状数组,最长上升/下降子序列 正在补习13多校题。 给你一组数,按顺序取出来,再给一个deque,按顺序把这组数取出来插到deque中,可以插头和尾,也可以直接丢掉。 要求deque中元素非降。 问deque中元素最多有多少个。 只要枚举一个中心点,然后就是找这个点之后的大于这个元素的最长上升序列和小于这个元素的下降序列的长度和+1,更新答案即

Necs的小窝 967

wordbuddy破甲经验分享

wordbuddy破甲经验分享

动态规划-最长上升(下降)子序列的O(n logn)写法(基于树状数组)

动态规划-最长上升(下降)子序列的O(n logn)写法(基于树状数组) 常规最长上升(下降)子序列的时间复杂度是O(n2)O(n^2)O(n2)。 优化后可以达到O(nlogn)O(n logn)O(nlogn) 一般思维是遍历数组,每次枚举找出前面比它小的元素对应的最长上升子序列的最大长度,而树状数组正是在这一步优化速度的。 那么如何利用树状数组加速呢? 先复制一份数组,然后排序并剔除相同元素...

画船听雨眠 928

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了一种基于Simulink的双闭环PWM整流器采用虚拟同步发电机控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术的仿真模型。该模型在dq同步旋转坐标系下构建电压定向控制系统,实现了电压外环与电流内环的双闭环控制结构,重点阐述了VOC控制原理、SVPWM调制算法的实现方法及其在Simulink环境中的模块化搭建过程。通过该仿真平台,能够有效实现单位功率因数运行、直流母线电压稳定控制以及优异的动态响应性能,适用于电力电子变换器、新能源并网系统及电机驱动等领域的控制策略验证与性能评估。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事电力电子系统仿真、新能源并网控制研究的科研人员和技术工程师。; 使用场景及目标:①深入理解三相PWM整流器在dq坐标系下的数学建模与控制机理;②掌握VOC控制策略的核心思想及其相较于传统矢量控制的优势;③学习SVPWM调制技术的实现流程与Simulink建模技巧;④通过仿真实验验证双闭环控制系统的静态精度与动态稳定性,提升对先进电力电子控制系统的分析与设计能力。; 阅读建议:建议结合电力电子技术、现代控制理论和电机控制相关基础知识进行学习,按照仿真模型的结构逐步分析各功能模块的信号流向与参数配置,重点关注锁相环(PLL)、坐标变换、PI控制器设计及SVPWM模块的实现细节,并可通过调整控制参数观察系统响应变化,以深化对控制策略动态特性的理解。

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文系统介绍了基于Simulink平台构建的储能双向Buck-Boost变换器仿真模型,融合模型预测电流控制与电压下垂控制策略,面向锂电池储能系统的高效充放电管理。该模型深入实现了双闭环控制架构的设计与动态性能分析,涵盖系统建模、关键控制算法实现及稳定性验证,并配套提供参考文献以支撑理论深度与技术复现性。资源包还整合了多种典型电力电子拓扑的仿真案例,如各类DC-DC变换器、谐振变换器、PWM整流器等,充分体现了其在新能源发电、微电网能量调度及电力系统稳定控制中的广泛应用价值和技术延展性。; 适合人群:适用于电气工程、自动化、电力电子及相关专业的高校研究生、科研人员以及从事能源系统仿真与控制设计的工程技术人员;要求具备一定的Simulink/MATLAB操作能力及电力电子与自动控制基础知识;; 使用场景及目标:①深入理解双向Buck-Boost电路在储能系统中的工作机理与能量双向流动控制方法;②掌握模型预测控制(MPC)与下垂控制在实际电力变换系统中的建模流程与参数整定技巧;③为科研课题、学位论文或工程项目提供高可靠性、可复用的仿真原型与技术参考方案; 阅读建议:建议结合文中列出的参考文献与网盘提供的完整仿真资源,按照目录结构循序渐进地学习各模块案例,重点剖析控制逻辑搭建、调节器设计与系统动态响应特性,通过动手仿真与参数调试深化对控制策略性能与鲁棒性的理解。

树状数组算法(BIT)超详细解析

算是特别详细的解析了,如果觉得好的话,麻烦各位点个赞!球球啦

你来看我啦! 2317

AI Agent实战:WorkBuddy安装部署、任务执行与模型接入全教程

AI Agent是当前自动化办公与智能工作流的核心技术,它区别于传统问答式AI,能够理解目标、拆解任务并调用工具交付完整成果。其底层原理基于任务规划、工具调用与结果验证的循环机制,让机器从“提供建议”进化为“完成任务”。在工程实践中,合理配置模型服务(如接入DeepSeek)、设计标准化Skill(技能包)与自定义指令,可以显著提升Agent在报告生成、数据分析、竞品调研等场景中的稳定性与效率。WorkBuddy作为典型的任务式AI工作台,为运营、产品、开发等多角色提供了统一入口,覆盖安装部署、任务描述公式

weixin_26712075的博客 289

HDU 3450 Counting Sequences(DP + 树状数组)

题目链接:点击打开链接 题目大意: 统计满足相邻两个数之差不超过d的子序列个数。 我们不难想到一个O(n^2)的DP算法 : 对于每一个i, d[i]表示 以i结尾的子序列个数。  那么它将转移到所有满足(j >= 1 && j 但是由于n太大了, 这样显然会超时, 那么我们来想想如何优化这个算法:  可以发现,  对于每个d[i], 其累加的部分是一个(a[i] - d, a[i] +

AC_Arthur的专栏 1168

DeepSeek+知网研学:三步搞定文献矩阵与对比分析(实战指南)

本文提供了一套高效实用的文献管理分析实战指南,详细介绍了如何结合DeepSeek大模型与知网研学平台,通过三个核心步骤快速完成文献梳理。该方法能自动提炼文献核心要素、生成结构化对比矩阵,并辅助发现研究空白,显著提升学术研究者的文献分析效率与深度。

weixin_29061509的博客 491

Ubuntu 20.04 server 安装

Ubuntu 20.04 server 安装 前面我们介绍了 Ubuntu Desktop 版本的安装,今天我们来看看 Ubuntu server 版本的安装。Ubuntu Server 版本的安装和 Desktop 有很大的区别,并且全程不能使用鼠标,只能通过键盘。 从光盘或 U 盘启动到 Welcome 界面,选择语言,一般都是使用 English,所以保保持默认,直接按回车即可; 系统检测到了新的版本,问你是否是否更新,这里我们不需要安装新的版本,所以选项 Continue without upda

as900的博客 1万+

2018横滨区域赛G What Goes Up Must Come Down【树状数组】

题意:给你一个序列,你只可以交换相邻的两项,使其满足以下条件:递增,递减,先增后减,求最小交换次数。 思路:找出每个位置前面的数与其构成的逆序对数与后面的数构成的逆序对数的较小值,然后把每个位置上的值相加即可。 #include<cstdio> #include <iostream> #include <algorithm> #include<bit...

独钓门前月 939

SAP-ABAP:SAP中如何查看系统表之间的关联关系?

在业务逻辑开发或者ALV开发过程中,我们通常要从系统中找出几个标准表之间的关联关系,有的是head与item,通过外键进行关联的关系。那么怎么去找到呢?以上就是具体如何产看系统表之间的关联关系的步骤,对于不同代码的业务顾问,也是必须要掌握的。

LinkStar的博客 2430

Simone and graph coloring ( 2020ICPC-昆明 ) (思维)

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) 题解参考链接1 题解参考链接2 题意 给出一个长度为n的排列,排列中每个逆序对之间连接一条无向边。最终构成一个无向图。现在请你给这个无向图染色,使得每个相邻的节点颜色均不相同。问最少需要多少种颜色。(n≤1e6n \leq 1e6n≤1e6) 输入 2 4 1 3 4 2 2 1 2 输出 2 1 1 1 2 1 1 1 思路①-树状数组 算法:从 n~1 枚举每一个数字 i ,在排列中找出数字i左边比 i 大的数,从这些数中选出颜色

QQ2530063577的博客 793

对LSTM中每个batch都初始化隐含层的理解

不知道有没有人和我有一样疑惑 在LSTM相关的代码中,为什么每个batch都会将隐藏层重新初始化, 这样不会把以前训练出来的参数丢掉吗?? 比如 代码来自GitHub 看了一些解释是h与c是状态,不是参数,每个batch中都需要初始化为0,LSTM 中的参数是W,b。 网络中训练的是参数,不是状态。 说真的。。。当时我没怎么看懂。。。 咨询了实验室的师兄后,我有了自己的理解 产生误解的主要原因是我对RNN和LSTM的结构理解不深入,我们通常看到RNN结构图基本都是这样的 ...

Chauncey_Wang的博客 5910

0032期基于深度学习的大米识别-含数据集

083基于深度学习的手势识别小程序版本_含10多种模型包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、ShuffleNet、VGG、EfficientNet和Swin transformer等10多种模型。117nlp自然语言处理-文本情感分类-joy-sadness-anger-fear-love-surprise。运行02深度学习模型训练.py就会将txt文本中记录的训练集和验证集进行读取训练,训练好后会保存模型在本地。

grehtsfrs的博客 1506

ACM-ICPC 2018 沈阳赛区网络赛 J. Ka Chang(分块+树状数组+dfs序)

Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero point. Then, you need to handle QQ operations. There're two types: 1\ L\ X1 L X: Increase points by XX of all n...

Timeclimber 537

模板匹配加速之金字塔分层搜索

图像金字塔是一种多分辨率图像表示方法,它通过一系列逐渐缩小或放大的图像来表示原始图像的不同尺度。高斯金字塔(Gaussian Pyramid):通过不断下采样(降采样)生成更小的图像。拉普拉斯金字塔(Laplacian Pyramid):通过高斯金字塔和差分操作生成一组残差图像。在模板匹配中,我们主要使用高斯金字塔来实现多尺度匹配。金字塔灰度模板匹配通过多尺度搜索策略,在保持较高准确率的同时显著提升匹配速度,尤其适用于:高分辨率图像处理实时检测系统移动端设备等资源受限场景。

weixin_44969144的博客 1732

求最长上升(下降)子序列的长度—DP及其优化和nlogn法

最长严格上升子序列是一个十分常见的问题。这里我给出三种方法,一步步提升它的速度。   一、DP法 很容易想到它的转移方程f[i]=max(f[j])+1 (要求a[i]&gt;a[j]) 这样一种O(n²)的方法,很容易理解。   二、DP+树状数组(或其他rmq算法) 树状数组用于优化求max(f[j])。但树状数组求区间最大值很有局限性,它要求这个最大值只能变大,一旦减小就无法更...

A_Bright_CH的博客 4643

24. SAP 标准产品里使用 OData 服务的一些细节分享

笔者在编写使用事物码 SEGW 开发 SAP OData 服务的系列步骤时,但凡遇到技术上一些疑难问题,喜欢去参照 SAP 标准产品里是如何使用 OData 服务的,不少问题都可以去参考 SAP 标准产品的 OData 服务实现细节来解决。 因此本文记录笔者在编写本教程的过程中,曾经研究过的 SAP OData 服务实现的一些细节,把这些细节分享给大家,希望能起到参考作用。 同时,教程也不断收到一些朋友在评论区留言,对于不少留言的回复,我也是拿 SAP 标准 OData 服务的实现作为论据来回复的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2030

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2016 ACM/ICPC大连区域赛 E—Aninteresting game【树状数组】

题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1005&amp;cid=736 Aninteresting game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submissi...

lml11111的博客 336

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

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

hdu 5975 树状数组原理题(16亚洲区域赛大连站)

lowbit[i]表示的其实就是i的二进制表示中,不为0的最低位; 对于询问1的区间[L,R],很好处理; ans=cal(R)-cal(L-1); cal(x)表示集合1到集合x,这x个集合一共加进去的数的个数; 加入集合k的数,根据题目给的公式可以推导出就是2^lowbit(k),即2的整数次幂; 所以直接枚举2的整数次幂即可在log(x)的时间复杂度里快速得出cal(x)答案 对于询问2

The_star_is_at的博客 640

Camera2Demo

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

NTscan扫描工具

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

【题解】hdu4970(2018-07-24校赛 树状数组 B)树状数组

题目链接 树状数组区间修改区间查询 #include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstring&amp;gt; typedef long long ll; const int N=1e5+10; ll sum1[N*2],sum2[N*2],n; ll lowbit(ll x) { return x&amp;amp;(-x); } void add(ll x,ll v) { ...

翻过这座山,他们就会听到你的故事 190

Simone and Graph Coloring(最长逆序列)

题目描述 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nn, and she finds that if she connects each inverse pair, she will get a graph. Formally, for the given permutation, if iaj ​, then

木静音yy的博客 610

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)HIJL待续

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) 五四青年节补补上次昆明的题目,熟悉下区域赛的难度和类型。 还没写好,因为要睡觉了,等以后再补坑把 文章目录H.Hard CalculationL.Simone and graph coloringI.Mr. Main and WindmillsJ.Parallel Sort H.Hard Calculation 题意:真签到题。第1年举办这次昆明ICPC比赛是2021年,问第n年具体的年份是多少? 输出:2020+n L.Simone and

hrdate(菜菜菜带带带) 959

动态规划-最长上升(下降)子序列的O(n logn)写法(基于二分)

动态规划-最长上升(下降)子序列的O(n logn)写法(基于二分) 常规最长上升(下降)子序列的时间复杂度是O(nO(nO(n2)))。 优化后可以更快: 基于贪心的策略,维护一个队列dpdpdp,使内部的元素为有序排列,长度即为最长上升(下降)子序列的长度。 初始队列为空,依次枚举aaa数组(即原始序列),判断是否大于(或等于)队首元素,若大于则直接压入队列,新队列依然是有序队列;若小于队首元...

画船听雨眠 399
上一篇: 2020牛客暑期多校训练营(第二场) A.All with Pairs【KMP / 字符串hash】
下一篇: 2019 ICPC 银川 G.Pot!!【线段树】
WA自动鸡
博客等级 码龄7年 10粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值