首页 > 其他分享 >换个思路,简单很多——B3637 最长上升子序列

换个思路,简单很多——B3637 最长上升子序列

时间:2023-06-15 23:11:06浏览次数:46  
标签:tmp dpv int B3637 unsigned 换个 序列

题面:B3637 最长上升子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)  
可恶,搞了半天结果是很简单的一个题目  
我一直在想 目标序列 的左右对称  
即序列中每一个负数块的和都小于左右两侧任一部分的和
后来看了几个题解,发现只要从一个方向扫一遍,就必定扫到最优解  
将和记录下来,取最值即可
改一下思路,简单很多

留个帖子,以示警醒

源码:  

// B3637 最长上升子序列
#include <bits/stdc++.h>
using namespace std;

void bb(){cout << "yes\n";}
int main(){	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int n;
	cin >> n;
	// unsigned int* nums = (unsigned int*)malloc((n+1)*sizeof(unsigned int));
	unsigned int dpv[n+1];//* dpv  = (unsigned int*)malloc((n+1)*sizeof(unsigned int));
	memset((char*)dpv,0xff,(n+1)*sizeof(unsigned int));

	unsigned int tmp;
	// cin >> tmp;
	dpv [0] = 0;
	for (unsigned int i=1;i<=n;++i){
		cin >> tmp;
		for (unsigned int j=0;j<i;++j){
			{
				if (tmp>dpv[j]){
					if (tmp<dpv[j+1]){
						dpv[j+1] = tmp;
					}
				}else break;
			}
		}
	}

	int *p = (int*) dpv;
	while (*p>=0){
		p++;
	}
	cout << (unsigned int*)p-dpv-1;

	return 0;
}

标签:tmp,dpv,int,B3637,unsigned,换个,序列
From: https://www.cnblogs.com/embers-/p/17484461.html

相关文章

  • XML反序列化笔记
    反序列化枚举类型public银行卡类型marcaTarjeta{get;set;}publicenum银行卡类型{[XmlEnum(Name="0")]UnKnown=0,[XmlEnum(Name="1")]VISA=1,[XmlEnum(Name="2")]MASTERC......
  • mormot2 model序列和还原
    mormot2model序列和还原unitmormot2.json.serial;///<author>cxg2023-6-4</author>{$Idef.inc}interfaceusesmormot.core.buffers,mormot.core.text,mormot.core.json,mormot.core.base,Classes,SysUtils;type{TSerial}TSerial=c......
  • delphi model序列和还原
    delphimodel序列和还原封装了json和protobuf。unitserialize;///<author>cxg2022-8-30</author>interfaceusesSystem.SysUtils,Grijjy.ProtocolBuffers,System.JSON.Serializers;typeTSerial=classpublic//unmarshalclassfunctionun......
  • TDSQL产品序列理解
    为了增强战斗力和品牌识别度,腾讯把他们的数据库做了一次整合,原来的各种数据库揉在一起成了一个新产品线,分别叫TDSQL-A、TDSQL-C、TDSQL。每个产品是干嘛的?太乱了。谁看得懂这背后到底是几个数据库?作为阿里的同学,把它们大致对标成阿里系的产品,理解起来会简单一些:阿里腾讯分析ADBTD......
  • 016 数据库学习笔记--序列
    序列:获取唯一值,序列不支持事务回滚,会出现跳号SQLServer序列是一种逐步增加的命名的唯一的索引,它可以将一个整数标示符与一个数据行关联起来,并可保证该索引特别唯一。凭借这一特性,序列对于对数据进行安全且按照某种有意义的排序进行保存的场景非常有用。序列是一种用户定义的架......
  • 如何使用libavcodec将.yuv图像序列编码为.h264的视频码流?
    1.实现打开和关闭输入文件和输出文件的操作点击查看代码//io_data.cppstaticFILE*input_file=nullptr;staticFILE*output_file=nullptr;int32_topen_input_output_files(constchar*input_name,constchar*output_name){if(strlen(input_name)==0||strlen(ou......
  • 算法题总结-最长回文序列
    原题https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1?tpId=37&tqId=21255&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fdifficulty%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D37%26type%3D37&am......
  • RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测|附代码数据
    在Tensorflow之上运行的综合库,具有CPU和GPU功能本文将演示如何在R中使用LSTM实现时间序列预测。简单的介绍时间序列涉及按时间顺序收集的数据。我用xt∈R表示单变量数据,其中t∈T是观察数据时的时间索引。时间t在T=Z的情况下可以是离散的,或者在T=R的情况下......
  • 挑战数据结构和算法——栈的push、pop序列
    题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。问题分析:本题考查栈的基本操作,栈是一种“先进后出”的数据结构。判断一个序列是否是栈的pop序列是一种常见的问题,可以通过模拟push和pop的过程,push和pop总是成对出现的,如:方法:#definepush1#def......
  • C# xml序列化和反序列化
    **以前没有用C#定义的反序列化方式来定义对象,都是直接操作的xml元素,在用到Newlife.Core时,有用到既有属性又有值形式的xml反序列化对应对象定义例如:<catid="1">猫</cat>publicclassCat{[XmlAttribute]publicStringid{get;set;}[XmlTex......