首页 > 其他分享 >1048 数字加密(前缀和思想)

1048 数字加密(前缀和思想)

时间:2024-04-18 12:44:05浏览次数:20  
标签:加密 前缀 int ll 1048 long st 100010

暴力(12分)

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
#define ll long long
int a[100010]; 
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	set<int> st;
	for(int i=0;i<n;i++){
		if(i==0 || i==n-1){
			st.insert(a[i]);
			continue;
		}
		//左边最大和右边最小
		int maxleft=*max_element(a,a+i);
		int minright=*min_element(a+i+1,a+n);
		if(maxleft < a[i] && a[i] < minright){
			st.insert(a[i]);
		}
	}
    cout << st.size() << '\n';
	set<int>::iterator it;
	for(it=st.begin();it!=st.end();){
		cout << *it;
		if(++it!=st.end()){
			cout << " ";
		}
	}
	return 0;
}

灵光一动,这不前缀和思想吗?
dp记录每个元素左边最大和右边最小。然后遍历判断一遍,时间O(n)就哦可了。
前缀和(25分)

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
#define ll long long
ll a[100010]; 
ll lMax[100010],rMin[100010];
int main(){
    int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	lMax[0]=a[0];
	for(int i=1;i<n;i++){
		lMax[i]=max(a[i-1],lMax[i-1]);
	}
	rMin[n-1]=a[n-1];
	for(int i=n-2;i>=0;i--){
		rMin[i]=min(a[i+1],rMin[i+1]);
	}
	set<ll> st;
	for(int i=0;i<n;i++){
		if(i==0){
			if(a[i]<rMin[i]){
				st.insert(a[i]);
			}
		}else if(i==n-1){
			if(a[i]>lMax[i]){
				st.insert(a[i]);
			}
		}else{
			if(a[i]>lMax[i] && a[i]<rMin[i]){
				st.insert(a[i]);
			}
		}
	}
    cout << st.size() << '\n';
    if(st.size()==0) cout << '\n';
	set<ll>::iterator it;
	for(it=st.begin();it!=st.end();){
		cout << *it;
		if(++it!=st.end()){
			cout << " ";
		}
	}
	return 0;
}

标签:加密,前缀,int,ll,1048,long,st,100010
From: https://www.cnblogs.com/chengyiyuki/p/18143293

相关文章

  • 1048 数字加密
    #include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;#definelllonglongchara[110],b[110];intcal[110],cal2[110];charcal3[110];intmain(){ cin>>a>>b; intp1=0,p2=0; for(inti=strlen(a)-1;i>=0;i--){ c......
  • Rabin加密
    说实话,其中很多思路也没搞懂,先附个自己写的部分推论,很神奇的论证,但自己yp,yq的论证是很完美的Rabin加密是一种基于模平方和模平方根的非对称加密算法。举个例子:a=x^2modm  称a为x模m时的平方,x为a模m时的平方根。加密过程设私钥pq为两个素数,且p,q满足:p≡q≡3mod4公钥n=......
  • xtrabackup加密备份
    xtrabackup加密备份xtrabackup加密备份生成秘钥opensslrand-base6424MOERPHNbWQ4FifkF85nc7UxAZLu1SfR+加密备份xtrabackup--user=root--password=password--backup--compress--compress-threads=4--encrypt=AES256--encrypt-key="MOERPHNbWQ4FifkF85nc7UxAZLu1Sf......
  • 公司文件加密软件有监视功能吗?
    公司文件加密软件不仅提供了强大的文件加密能力,还具备了监视功能,确保文件在使用过程中的安全性。华企盾DSC数据防泄密系统中的监控功能体现在以下几个方面:加密文件操作日志:记录所有加密文件的申请、审批、扫描加解密、自动备份、外发等日志,帮助企业追踪文件的使用和传输历程。......
  • 现场取证之Bitlocker加密问题
    在取证工作中Bitlocker加密对于调查人员早已司空见惯了。2020年1月微软正式终止了对Windows7的安全更新及系统支持,这也意味着属于它的时代已经结束了。而对于Windows10以及Windows11版本的操作系统,甚至在首次激活和使用系统时,在默认情况下就会对磁盘驱动器进行加密。Windows......
  • 【加解密篇】电子数据分析之特殊的自加密BitLocker解密
    数据加解密通常是个耗时费力的事情---【蘇小沐】1实验环境Windows11专业版,[23H2(22631.3007)]1 (一)自动开启BitLocker之天坑1经验之谈在2019、2020年左右开始,新发布的品牌笔记本电脑很多都默认打开了Windows操作系统的BitLocker功能,消费级笔记本电脑预装系统......
  • PHP Allowed memory size of 134217728 bytes exhausted (tried to allocate 10489856
    问题返回的json数据太大导致Allowedmemorysizeof134217728bytesexhausted(triedtoallocate10489856bytes)解决方案修改php.ini的memory_limit修改php.ini中的memory_limit数值,默认128M,不够用可以改成256M或512M宝塔中修改点击“服务”>重启或重载配置......
  • 实验一-密码引擎-3-加密API研究
    密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同接口的代码,提交博客链接和代......
  • 密码引擎-加密API研究
    任务详细密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同接口的代码,提交......
  • 实验一-密码引擎-3-加密API
    实验一-密码引擎-3-加密API研究任务详情密码引擎API的主要标准和规范包括:微软的CryptoAPIRAS公司的PKCS#11标准中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出......