7.9总结

容易推出当移动i与j时等价于j-i-1个左右交换,且每次交换逆序数的奇偶改变(无相同元素),假设有一个状态c,且a与b必须以等量的左右交换转移为c,则必须数量相同,元素相同(使用异或解决),逆序数奇偶性相同(归并排序解决)代码如下

<bits/stdc++.h>
#include<algorithm>
#define ll long long
#define max_int 2147483647
#define max_ll 9223372036854775807
using namespace std;
ll merge(ll left, ll right, vector<ll>& arr) {  if (left >= right) return 0;  ll mid = left + (right - left) / 2;  ll inv_count = merge(left, mid, arr) + merge(mid + 1, right, arr);  vector<ll> temp;  int i = left, j = mid + 1, k = 0;  while (i <= mid && j <= right) {  if (arr[i] <= arr[j]) {  temp.push_back(arr[i++]);  } else {  temp.push_back(arr[j++]);  inv_count += (mid - i + 1); // 累加跨越中点的逆序数  }  }  while (i <= mid) {  temp.push_back(arr[i++]);  }  while (j <= right) {  temp.push_back(arr[j++]);  }  for (k = 0; k < temp.size(); k++) {  arr[left + k] = temp[k];  }  return inv_count;  
}  
int main(){ios::sync_with_stdio(false);cin.tie(0);ll all;cin>>all;while(all--){ll n;cin>>n;vector<ll>q1(n+10);vector<ll>q2(n+10);ll xorsum=0;for(ll i=0;i<n;++i) cin>>q1[i],xorsum^=q1[i];for(ll i=0;i<n;++i) cin>>q2[i],xorsum^=q2[i];if(xorsum!=0){cout<<"NO"<<endl;continue;}//cout<<merge(0,n-1,q1)<<" "<<merge(0,n-1,q2)<<endl;if((merge(0,n-1,q1)%2)^(merge(0,n-1,q2)%2)) cout<<"NO"<<endl;else cout<<"YES"<<endl;}return 0;

先用前缀和预处理,再遍历3的阶乘,映射关系要看准

<bits/stdc++.h>
#include<algorithm>
#define ll long long
#define max_int 2147483647
#define max_ll 9223372036854775807
using namespace std;
vector<vector<ll>>q(5,vector<ll>(200005));
int longth;
bool check(int i,int j,int k){int end=0,front,z=1;int an[4]={0,i,j,k};vector<vector<ll>>target(4,vector<ll>(2));target[an[i]][0]=1;ll tot=(q[1][longth]+2)/3;while(z<4){front=end+1;if(front>longth) return false;target[an[z]][0]=front;while(q[an[z]][front]-q[an[z]][end]<tot&&front<=longth) front++;if(front>longth){//cout<<"-1"<<endl;return false;}target[an[z]][1]=front;end=front;z++;}cout<<target[1][0]<<' '<<target[1][1]<<' '<<target[2][0]<<' '<<target[2][1]<<' '<<target[3][0]<<' '<<target[3][1]<<' '<<endl;return true;
}
int main(){ios::sync_with_stdio(false);cin.tie(0);int all;cin>>all;while(all--){cin>>longth;for(int i=1;i<=3;++i){for(int p=1;p<=longth;++p){cin>>q[i][p];q[i][p]+=q[i][p-1];}}if(check(1,2,3)) continue;else if(check(1,3,2)) continue;else if(check(2,1,3)) continue;else if(check(2,3,1)) continue;else if(check(3,1,2)) continue;else if(check(3,2,1)) continue;else cout<<"-1"<<endl;}return 0;
}

这几天做了点动态规划的题目,第一次做还是有点手足无措,现在对最优子结构,无后效性,状态的理解深了不少,难点在于状态转移方程,要观察元素的来历而不是去向,想清楚这个状态是由哪几个状态递推而来,分别有什么差别,以及如何判断状态,想清楚之后就能将首个元素写入,再类似数学归纳法一样一步一步递推出正确答案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3224238.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

tomcat 项目迁移,无法将项目作为服务service启动

背景 测试服务器需要迁移到正式服务器上&#xff0c;为了方便省事&#xff0c;将测试服务器上的一些文件直接复制到正式服务器 问题 使用startup启动项目之后&#xff0c;可以直接使用使用tomcat9w启动&#xff0c;或者作为服务service启动的时候&#xff0c;显示无法访问到资源…

欧拉部署nginx

1.下载nginx 下载地址&#xff1a;https://nginx.org/en/download.html 选择稳定版本 下的镜像文件进行下载 2.解压Nginx包 cd /root/nginx tar -zxvf nginx-1.26.0.tar.gz cd nginx-1.26.03.安装nginx相关依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl o…

机场公厕厕位指引屏,布线简单,安装便捷

在人潮涌动的机场&#xff0c;公厕不仅是旅客的必需设施&#xff0c;更是衡量机场服务质量的重要指标。然而&#xff0c;传统机场公厕往往存在信息不透明、清洁维护滞后、高峰期拥挤等问题&#xff0c;严重影响了旅客的使用体验。近年来&#xff0c;随着智慧机场理念的兴起&…

Linux 网络--TCP协议收包流程(NAPI机制)

Linux 网络--TCP协议收包流程&#xff08;NAPI机制&#xff09; 平台环境简介&#xff1a;宿主机: ubuntu18.04Linux内核源码版本: Linux-4.15网卡驱动: Intel e1000 &#xff08;ubuntu 虚拟机默认网卡驱动&#xff09;协议&#xff1a;TCP协议&#xff0c;本文分析收包过程 本…

python3 ftplib乱码怎么解决

其实很简单。ftplib.FTP里面有个参数叫encoding。 如上图最后一行。所以在使用FTP时&#xff0c;主动指定编码格式即可。 ftp ftplib.FTP() ftp.encoding "utf-8" 再使用就可以了。

计算机视觉研究院 | 智慧工地:2PCNet,昼夜无监督域自适应目标检测(附原代码)

本文来源公众号“计算机视觉研究院”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;智慧工地&#xff1a;2PCNet&#xff0c;昼夜无监督域自适应目标检测&#xff08;附原代码&#xff09; 由于缺乏夜间图像注释&#xff0c;夜间…

【优先级队列PriorityQueue】

目录 1&#xff0c;优先级队列 1.1 概念 2&#xff0c;优先级队列的模拟实现 2.1 堆的概念 2.2 堆的存储方式 2.3 堆的创建 2.3.1 堆的向下调整&#xff08;大根堆&#xff09; 2.3.2 建堆的时间复杂度​编辑 2.4 堆的插入与删除 2.4.1 堆的插入 2.4.2 堆的删除 3&a…

Github Actions 构建Vue3 + Vite项目

本篇文章以自己创建的项目为例&#xff0c;用Github Actions构建。 Github地址&#xff1a;https://github.com/ling08140814/myCarousel 访问地址&#xff1a;https://ling08140814.github.io/myCarousel/ 具体步骤&#xff1a; 1、创建一个Vue3的项目&#xff0c;并完成代…

Sentinel-1 Level 1数据处理的详细算法定义(二)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程&#xff0c;以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

澳大利亚TikTok直播为什么需要海外直播专线?

近年来&#xff0c;许多卖家为了解决澳大利亚TikTok直播中的卡顿和高延迟问题&#xff0c;纷纷选择使用海外直播专线。这种专线服务是一种高效、低延迟的数据传输解决方案&#xff0c;专为需要高质量网络连接的场合设计。 与公共互联网相比&#xff0c;海外直播专线提供更稳定、…

基于深度学习的电影推荐系统

1 项目介绍 1.1 研究目的和意义 在电子商务日益繁荣的今天&#xff0c;精准预测商品销售数据成为商家提升运营效率、优化库存管理以及制定营销策略的关键。为此&#xff0c;开发了一个基于深度学习的商品销售数据预测系统&#xff0c;该系统利用Python编程语言与Django框架&a…

ubuntu使用kubeadm搭建k8s集群

一、卸载k8s kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd …

兼容性报错--调整字符集解决

文章目录 错误解决办法Unicode 字符集(两个字节来表示一个字符)多字节字符集(一个字节来表示一个字符)如何选择字符集char与wchar_t的区别LPCSTR与LPCWSTR的区别 错误 解决办法 切换字符集类型 Unicode 字符集(两个字节来表示一个字符) 优点&#xff1a; 支持更多的字符集…

打开excel时弹出stdole32.tlb

问题描述 打开excel时弹出stdole32.tlb 如下图&#xff1a; 解决方法 打开 Microsoft Excel 并收到关于 stdole32.tlb 的错误提示时&#xff0c;通常意味着与 Excel 相关的某个组件或类型库可能已损坏或不兼容。 stdole32.tlb 是一个用于存储自动化对象定义的类型库&#x…

匈牙利汽车市场研究报告(2024版)

匈牙利加入欧盟后成为欧洲国家的汽车制造组装基地和大型跨国企业的零部件供应商&#xff0c;具有深厚的汽车工业基础。在欧债危机后&#xff0c;匈牙利政府提出“向东发展”战略&#xff0c;并将电动化作为汽车行业新的发展方向&#xff0c;通过一系列外资友好政策吸引中日韩等…

2,区块链、数字货币及其应用场景(react+区块链实战)

2&#xff0c;区块链、数字货币及其应用场景&#xff08;react区块链实战&#xff09; 一、什么是区块链&#xff1f;1 ibloackchain&#xff08;1&#xff09;安装ibloackchain&#xff08;2&#xff09;Blance查询余额&#xff08;3&#xff09;Mine挖矿&#xff08;4&#x…

【学术会议征稿】第五届大数据、人工智能与物联网工程国际会议

第五届大数据、人工智能与物联网工程国际会议 2024 5th International Conference on Big Data, Artificial Intelligence and Internet of Things 第五届大数据、人工智能与物联网工程国际会议&#xff08;ICBAIE 2024&#xff09;定于2024年10月25-27号在中国深圳隆重举行。…

Java PKI Programmer‘s Guide

一、PKI程序员指南概述 PKI Programmer’s Guide Overview Java认证路径API由一系列类和接口组成&#xff0c;用于创建、构建和验证认证路径。这些路径也被称作认证链。实现可以通过基于提供者的接口插入。 这个API基于密码服务提供者架构&#xff0c;这在《Java密码架构参考指…

Milvus核心组件(1)

cluster 模式 上一篇其实已经说过 standalone 模式&#xff0c;其实集群模式大同小异&#xff0c;只是在不同机子间使用Kafka或者其他消息中间件保证数据及逻辑的一致性。 Log Broker&#xff0c;如Pulsar这样的系统&#xff0c;是专门设计来处理和管理日志数据的中间件。它主…

【IMU】 温度零偏标定

温度标定 IMU的零偏随着温度的变化而变化&#xff0c;在全温范围内形状各异&#xff0c;有些可能是单调的&#xff0c;有些可能出现拐点。 多项式误差温度标定 目的是对估计的参数进行温度补偿&#xff0c;获取不同温度时的参数值&#xff08;零偏、尺度、正交&#xff09;&…