D. Assumption is All You Need
题意:问能否通过交换A的逆序对把A序列变成B序列。
分析:属于是脑瘫觉得自己n次交换就够了。建了半天图对拍才发现做不了。因为大的只能往后移,考虑从大到小(从小到大也一样)枚举元素,对于第二个样例:
4 1 2 3 |
1 2 3 4 |
对于元素4:我们可以交换 1 2 3,这里我们直接交换3使得4对齐。
3 1 2 4 |
1 3 2 4 |
对于元素3:这里只能交换1。
这样我们就得到了一个能够通过所有样例的假做法。
事实上,第一次我们可以用4去依次交换 1 2 3,但这样A会变成1 2 3 4,后续无法操作。如果我们考虑依次交换最大的呢?这样我们又得到了一个能够通过所有样例的做法,事实上这是对的。
证明:对于 5 4 3 2 1,假设5要到最后去,如果我们直接交换 5 1,会得到 1 4 3 2 5;如果依次交换最大元素,会得到 4 3 2 1 5,后续4的选择会被最大化。
int a[maxn],b[maxn],pos1[maxn],pos2[maxn];void solve()
{int n;cin>>n;for(int i=1;i<=n;i++) cin>>a[i],pos1[a[i]]=i;for(int i=1;i<=n;i++) cin>>b[i],pos2[b[i]]=i;vector<pii>ans;for(int i=n;i>=1;i--){for(int j=i-1;j>=1;j--){if(pos1[j]>pos1[i]&&pos1[j]<=pos2[i]){ans.push_back({pos1[i],pos1[j]});swap(a[pos1[i]],a[pos1[j]]);swap(pos1[i],pos1[j]);}}if(pos1[i]!=pos2[i]){cout<<-1<<endl;return;}}cout<<ans.size()<<endl;for(auto x:ans) cout<<x.first<<" "<<x.second<<endl;
}
D. Assumption is All You Need相关推荐
- APICS与AX的Master Planning(二)--Rescheduling Assumption 重排假设
APICS理论部分 先看一下APICS字典关于重排假设的定义: rescheduling assumption--A fundamental assumption of MRP logic that ...
- JUnit4学习笔记(二):参数化测试与假定(Assumption)
一.一个简单的测试 编写一个只有一种运算的计算器: 1 public class Calculator { 2 public static double divide(int dividend, in ...
- Rethinking the Smaller-Norm-Less-Informative Assumption in Channel Pruning of Convolution Layers简记
Rethinking the Smaller-Norm-Less-Informative Assumption in Channel Pruning of Convolution Layers简记 文 ...
- PMP之假设日志Assumption Log
什么是假设日志 Assumption Log 假设日志是文档,项目经理和团队使用该文档来捕获,记录和跟踪项目整个生命周期中的假设.假设是任何项目的重要组成部分.假设通常需要某种形式的跟进或确认,以确定 ...
- Conditional Independent Assumption 條件獨立假設
CIA (conditional independent assumption) 译为條件獨立假設 即不同事件對於結果的影響是獨立,事件A的發生並不會導致事件B發生的概率產生變化,可以表示爲P(AB) ...
- 英文论文中Assumption(假设)、Lemma(引理)、Theorem(定理)、Proof(证明)、Remark(备注、注释)之间的关系
理论性比较强的英文论文中通常会看到满篇的Remark ,Proof, Lemma,Theorem,Assumption,现在理一下它们之间的关系. 一般顺序是 Assumption(假设 ...
- Practical Zero-Knowledge Protocols Based on the Discrete Logarithm Assumption 学习笔记 1
1. 引言 Stephanie Bayer 2013年博士论文 <Practical Zero-Knowledge Protocols Based on the Discrete Logarit ...
- one more DDH assumption
- Rethinking the Smaller-Norm-Less-Informative Assumption in Channel Pruning of Convolution Layers论文翻译
重新思考卷积通道剪枝中的更小范数.更小信息量的假设 摘要 1 引言 2 相关工作 3 重新思考更小范数-更少信息量的假设 4 CNN BatchNorm通道剪枝 4.1 初步分析 4.2 算法 4.3 ...
最新文章
- 知识产权界福布斯排行榜公布:厉害了,我的中国!
- 编程语言中的Lambda 函数是如何产生的 它究竟有什么用
- mysql innodb 事务_Mysql InnoDB事务
- js处理url中的请求参数(编码/解码)
- IDEA注册jar包使用和常用插件
- Java并发编程笔记之ThreadLocal内存泄漏探究
- python判断矩阵是否对称_Python创建对称矩阵的方法示例【基于numpy模块】
- 线程状态切换之等待队列和同步队列
- 同比暴增3700%!百度取代谷歌成世界第二
- tomcat使用自签名证书实现https加密访问
- java mail pom_集成JavaMail
- Spring中过滤器和拦截器
- LimeSDR官方系列教程(五):SDR的软件
- java技术英文名词读音_Java开发,Java development,音标,读音,翻译,英文例句,英语词典...
- 批量将 txt 记事本文件按照固定行数拆分成单个独立的 txt 小文件
- Android常用adb shell命令
- Exception 异常
- CSS - 解决 “本地测试” 和 “线上测试” 样式不一样问题
- 感受5.12汶川大地震
- 中国移动oa办公系统
热门文章
- 直播倒计时|今晚一起看 TensorFlow Dev Summit !
- z8350cpu linux,Intel 14nm Atom x5-Z8350 4核处理器+4GB RAM + 64 GB eMMC——最强单板计算机UP Board评测...
- unity烘培单个物体_unity3d 5.6烘焙教程
- 华笙(华升)5.1,5.2,6.3
- Python自然语言处理:轻松上手文本分类
- 企业内部创业平台如何搭建
- word2013html,Word 2013
- abap CA CO CS 模式匹配的使用方法
- MySQL UDF提权执行系统命令
- Java毕设项目病房管理系统(java+VUE+Mybatis+Maven+Mysql)