CF1604B XOR Specia-LIS-t
题目大意
给出一个长度为 的整数序列 ,将其划分为 个连续子串。
设 是每个子串的最长上升字序列的长度。
求是否有一种划分方式使得 。
组数据。
对于 的数据,,,。
解题思路
显然,当 为偶数时,每个数都可自分一组,即 且 ,满足题意。
当 为奇数时,若可以找到一组 时,那么可以将 和 分成一组,其他每个数自分一组,此时 为 偶数且 ,,满足题意。
如果找不到一组 ,说明 单调递增,那么无论如何都会有奇数个 为奇数,此时必然无解。
具体见代码。
CODE
#include <bits/stdc++.h>
using namespace std;
int T, n;
int a[100007];
signed main()
{
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
for(int i = 1 ; i <= n; ++i) scanf("%d", &a[i]);
if(n % 2 == 0)
{
puts("YES");
continue;
}
int flag = 0;
for(int i = 2; i <= n; ++i)
{
if(a[i - 1] >= a[i]) flag = 1;
}
if(flag)
{
puts("YES");
}
else
{
puts("NO");
}
}
return 0;
}
本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/18122098
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】