小红定义一个数组为好数组当且仅当这个数组至少存在一个长度为3的非降序子数组。 小红可以进行多次操作,每次操作可以修改数组中的一个元素。小红想知道至少需要操作几次才可以把这个数组变成不是好数组。

区块链毕设网qklbishe.com为您提供问题的解答

小红定义一个数组为好数组当且仅当这个数组至少存在一个长度为3的非降序子数组。
小红可以进行多次操作,每次操作可以修改数组中的一个元素。小红想知道至少需要操作几次才可以把这个数组变成不是好数组。
数学思维,跟算法没太大关系,一个非递减串长度为n,第一次至少从第三位数开始改,后续每两个数改一次即可
#include <iostream> #include <vector> using namespace std;  int main() {     int n;     cin >> n;     vector<int> myl(n);     for (int i = 0; i < n; i++) {         cin >> myl[i];     }     int ans = 0;     int i = 0;     while (i < n) {         int ori = i;         int len = 1;         while (++i && i < n) {             if (myl[ori] <= myl[i]) {                 len++;                 ori = i;             } else break;         }         if(len>=3)ans += (len-1) / 2;     }     cout << ans; } // 64 位输出请用 printf("%lld")

15:21

以上就是关于问题小红定义一个数组为好数组当且仅当这个数组至少存在一个长度为3的非降序子数组。
小红可以进行多次操作,每次操作可以修改数组中的一个元素。小红想知道至少需要操作几次才可以把这个数组变成不是好数组。的答案

欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小红定义一个数组为好数组当且仅当这个数组至少存在一个长度为3的非降序子数组。 小红可以进行多次操作,每次操作可以修改数组中的一个元素。小红想知道至少需要操作几次才可以把这个数组变成不是好数组。