首页 > 小红的双排列权值
头像 threeway
发表于 2025-10-19 21:20:01
//用两个数组分别记录每个数第一次和第二次出现的位置(第一次a[i]记录,第二次b[i]记录) //循环一次对应位置b[i]-a[i]-1全部加在一起,就是初始的权值和 //然后我们还可以进行一次交换操作,采用贪心的策略,每次把最大的a[i]换最小的b[i],可以实现最大化权值和。 //如果最大的a 展开全文
头像 在刷代码的ssr很坚定
发表于 2025-10-19 21:37:35
#include<bits/stdc++.h> using namespace std; /*此代码的逻辑是先记录每个重复数字的位置,第一次出现的存在first[k]里面, 第二次出现存在second[k]里面,再从最first[k]里面找出最大的与second[k]里面最小的互换 最终 展开全文
头像 昵称已经被占用11
发表于 2025-10-19 19:30:05
//我们可以假设最后需要换的值对应的下标为a1,a2,b1,b2; //然后分讨这四个下标的相对位置即可 //最后发现是交换最后一个第一次出现,和第一个第二次出现的值的位置 #include<iostream> #include <cmath> #include <al 展开全文

等你来战

查看全部