CF 1891A 學習筆記

原題

A. Sorting with Twos

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given an array of integers?𝑎1,𝑎2,…,𝑎𝑛�1,�2,…,��. In one operation, you do the following:

  • Choose a non-negative integer?𝑚�, such that?2𝑚≤𝑛2�≤�.
  • Subtract?11?from?𝑎𝑖��?for all integers?𝑖�, such that?1≤𝑖≤2𝑚1≤�≤2�.

Can you sort the array in non-decreasing order by performing some number (possibly zero) of operations?

An array is considered non-decreasing if?𝑎𝑖≤𝑎𝑖+1��≤��+1?for all integers?𝑖�?such that?1≤𝑖≤𝑛?11≤�≤�?1.

Input

The first line contains a single integer?𝑡�?(1≤𝑡≤1041≤�≤104) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer?𝑛�?(1≤𝑛≤201≤�≤20) — the length of array?𝑎�.

The second line of each test case contains?𝑛�?integers?𝑎1,𝑎2,…,𝑎𝑛�1,�2,…,��?— the integers in array?𝑎�?(0≤𝑎𝑖≤10000≤��≤1000).

Output

For each test case, output "YES" if the array can be sorted, and "NO" otherwise.

Example

input

Copy

 

8

5

1 2 3 4 5

5

6 5 3 4 4

9

6 5 5 7 5 6 6 8 7

4

4 3 2 1

6

2 2 4 5 3 2

8

1 3 17 19 27 57 179 13

5

3 17 57 179 92

10

1 2 3 4 0 6 7 8 9 10

output

Copy

YES
YES
YES
NO
NO
NO
YES
YES

Note

In the first test case, the array is already sorted in non-decreasing order, so we don't have to perform any operations.

In the second test case, we can choose?𝑚=1�=1?twice to get the array?[4,3,3,4,4][4,3,3,4,4]. Then, we can choose?𝑚=0�=0?once and get the sorted in non-decreasing order array?[3,3,3,4,4][3,3,3,4,4].

In the third test case, we can choose?𝑚=0�=0?once and get the array?[5,5,5,7,5,6,6,8,7][5,5,5,7,5,6,6,8,7]. Then, we can choose?𝑚=2�=2?twice and get the array?[3,3,3,5,5,6,6,8,7][3,3,3,5,5,6,6,8,7]. After that, we can choose?𝑚=3�=3?once and get the sorted in non-decreasing order array?[2,2,2,4,4,5,5,7,7][2,2,2,4,4,5,5,7,7].

For the fourth and fifth test case, it can be shown that the array could not be sorted using these operations.

原題鏈接

傳送門?

代碼

#include<bits/stdc++.h>
using namespace std;int a[30];int main()
{int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);bool flag=true;for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i=1;i<=n;i++){if(a[i-1]>a[i]&&i!=2&&i!=3&&i!=5&&i!=9&&i!=17){flag=false;break;}}if(flag==true)	puts("Yes");else	puts("No");memset(a,0,sizeof a);}return 0;
}

總結

1.題目的意思是說,輸入一個數列,詢問我們能否經過一定的操作把該數列修改成一個非嚴格的升序數列

2.操作的具體步驟是,首先選擇一個非負的整數m,使得2^m<=n,n表示的是數列的長度,然后對數列里面1~2^m個元素,每一個元素進行減一的操作

3.如果可以得到非嚴格的上升序列,就輸出yes,否則輸出no

4.n的最大值是20,滿足條件的2的整數次冪是,1,2,4,8,16,可以發現如果超過可以修改的范圍的降序部分,就一定不能經過修改達到要求,此時輸出no

5.事實上,經過觀察可以發現,只要不是2的整數次冪數字作為下標對應的元素大于下一個元素,就無法實現修改,比如說給定一個數列,1 2 3 2 5,第三個數字3對應的下標是3(假設下標從1開始使用),下標3不是2的整數次冪,元素3大于下一個元素2,我們不能割裂的對元素3進行修改,假設我們要修改元素3,就一定會同時修改元素2,元素3和元素2之間的相對大小關系沒有發生改變(這里說的元素2指的是下標為4的元素2)?

6.根據上面的描述,使用循環進行條件判斷即可,注意a數組是全局變量,沒有使用的空間的數值都是0,a數組每使用一次都需要初始化一次,防止上一次輸入的數據對當前產生影響

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/163237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/163237.shtml
英文地址,請注明出處:http://en.pswp.cn/news/163237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多個視頻怎么生成一個二維碼?二維碼看視頻的制作方法

二維碼能放入多個視頻嗎&#xff1f;現在用二維碼看視頻是很流行的一種方式&#xff0c;不僅符合現在人的行為習慣&#xff0c;而且還不需要占用自身的容量空間&#xff0c;能夠即時的獲取視頻內容。那么當有多個視頻需要展示&#xff0c;但是想要放到一個二維碼中&#xff0c;…

集團投融資大數據平臺解決方案

一、項目背景 項目為集團型公司大數據平臺項目&#xff0c;整個項目周期約為6個月&#xff0c;整體呈現了對外的數據大屏駕駛倉和對內的看板報表&#xff0c;減少了客戶內部數據上報和報表制作的重復工作量&#xff0c;為集團數據決策奠定基礎。 二、項目目標 戰略層&#xff…

局部保持投影(Locality preserving projections,LPP)

局部保持投影&#xff08;Locality preserving projections&#xff0c;LPP&#xff09; 方法概述 核心思想 有映射 Y m ? n f ( X d ? n ) \underset{m*n}{Y}f(\underset {d*n}X) m?nY?f(d?nX?)&#xff0c;能夠實現將d維的樣本變換到m維空間之中 假設&#xff1a;對…

ESP32 Arduino實戰傳感器篇-- DHT11 DHT22 使用 Web 服務器顯示值

該項目采用 ESP32 作為控制設備,連接到現有的 WiFi 網絡并創建 Web 服務器。當設備連接到該 Web 服務器時,ESP32 將從 DHT11/DHT22 傳感器讀取溫度和相對濕度,并將其發送到設備的 Web 瀏覽器,并具有良好的界面。興奮的?讓我們開始吧! ESP32 內置了溫度傳感器,為什么不使…

咖啡館管理系統點餐外賣小程序效果如何

咖啡一直是很多人喜歡的飲品&#xff0c;比如有些地區的人非常喜歡&#xff0c;熬夜加班醒腦等&#xff0c;咖啡領域市場規模逐年增加&#xff0c;相應的從業商家也在增加&#xff0c;近些年隨著線上生態崛起&#xff0c;傳統線下咖啡館經營痛點顯露出來。 通過【雨科】平臺搭建…

目標檢測算法 - YOLOv4

文章目錄 1. 簡介2. YOLOv4整體結構3. Backbone4. Neck 1. 簡介 YOLOv4是YOLOv3的改進版。YOLOv4并不是原YOLO項目的作者。發表于CVPR2020。 改進&#xff1a; 主干特征提取網絡&#xff1a;Darknet53 -> CSPDarknet53特征金字塔&#xff1a;SPP&#xff0c;PAN分類回歸層…

每天學習一點點之 Tomcat 是如何清除過期 Session 的

今天使用一種很臨時的方案解決 Session 泄漏的問題&#xff1a;縮短 Session 的過期時間。這種方法雖然簡單&#xff0c;但卻非常有效。然而&#xff0c;這引發了一個問題&#xff1a;我們應該將過期時間設置為多短呢&#xff1f;在 Spring Boot 中&#xff0c;最短的過期時間是…

實在智能攜“TARS大模型”入選“2023中國數據智能產業AI大模型先鋒企業”

近日&#xff0c;由數據猿與上海大數據聯盟聯合主辦的“2023企業數智化轉型升級發展論壇”在上海圓滿收官。 論壇頒獎典禮上&#xff0c;《2023中國數據智能產業AI大模型先鋒企業》等六大榜單正式揭曉&#xff0c;旨在表彰在AI領域為數智化升級取得卓越成就和突出貢獻的企業&am…

解決“使用 CNKI 保存時發生錯誤。改為嘗試用 DOI 保存。”【Bug Killed】

文章目錄 簡介解決辦法跟新本地Zotero中茉莉花插件的非官方維護中文翻譯器更新網頁插件Zetero Connector中的Transtors 結語參考資料 簡介 使用Chrome ? Zotero Connector保存中國知網&#xff08;CNKI&#xff09;的參考文獻到本地的Zotero時無法正常保存&#xff0c;出現使…

Altium Designer學習筆記8

創建原理圖元件&#xff1a; 畫出原理圖&#xff1a; 根據規則書畫出原理圖&#xff1a; 根據規則書畫出封裝圖&#xff1a; 參照&#xff1a; 確認下過孔的內徑和外徑的最小允許值。

Vatee萬騰的數字時代探險:vatee科技力量的未來洞悉

在數字化的時代潮流中&#xff0c;Vatee萬騰以其強大的科技力量&#xff0c;正在進行一場前所未有的數字時代探險。 Vatee萬騰的數字時代探險源于其對未來的洞悉。通過深度研究和前瞻性思考&#xff0c;他們將科技力量與未來趨勢相結合&#xff0c;勾勒出數字時代的新藍圖&…

springboot注解@NotNull,@NotBlank,@Valid自動判定空值

一.前言 使用springboot搭建項目時&#xff0c;我們都是采用的Restful風格接口&#xff0c;這里面問題來了&#xff0c;當前端調用接口或者是其他項目調用時&#xff0c;傳入參數時我們不能單一靠調用方來控制參數的準確性&#xff0c;自己也要一些參數進行判斷,進行非空之類的…

露營管理系統預約小程序效果如何

旅游經濟已經復蘇&#xff0c;并且市場規模增速加快&#xff0c;近一年來遠途/周邊游客戶增多&#xff0c;不少旅游景區在節假日常常面對客流爆滿現象。同時露營作為近幾年突然火熱的項目&#xff0c;其需求也是日漸上升。 然而在高需求的同時&#xff0c;我們也看到露營經營痛…

【數組棧】實現

目錄 棧的概念及其結構 棧的實現 數組棧 鏈式棧 棧的常見接口實現 主函數Test.c 頭文件&函數聲明Stack.h 頭文件 函數聲明 函數實現Stack.c 初始化SLInit 擴容Createcapacity 壓棧STPush 出棧STPop 棧頂元素STTop 判斷棧是否為空STempty 棧內元素個數STSzi…

Mysql中join on中的like使用

1、使用mysql中的函數CONCAT(str1,str2,…) 返回結果為連接參數產生的字符串。如有任何一個參數為NULL &#xff0c;則返回值為 NULL。 SELECT * FROM Table1 INNER JOIN Table2 ON Table1.col LIKE CONCAT(%, Table2.col, %) 2、放棄使用join語句 SELECT * FROM Table1, T…

使用sqlserver備份還原,復制遷移數據庫

文章目錄 前言一、備份數據庫二、還原數據庫三、其他 前言 當初學sqlserver復制數據庫的時候&#xff0c;老師只教了右鍵數據庫生成sql腳本&#xff0c;沒說數據庫非常大的時候咋搞啊&#xff0c;分離數據庫復制一份后在附加上去太危險了 百度一下備份還原數據庫針對小白的資料…

docker安裝mysql及主從配置

創建mysql配置文件&#xff1a;my.cnf 主庫配置&#xff1a; [client] ## 默認編碼格式 default-character-setutf8mb4 [mysqld] ## 設置server-id&#xff0c;同一局域網中需要唯一 server-id101 ## 設置編碼格式 character-set-serverutf8mb4 ## 允許最大連接數 max_conne…

Redis key鍵

Redis 是一種鍵值&#xff08;key-value&#xff09;型的緩存型數據庫&#xff0c;它將數據全部以鍵值對的形式存儲在內存中&#xff0c;并且 key 與 value 一一對應。這里的 key 被形象的稱之為密鑰&#xff0c;Redis 提供了諸多操作這把“密鑰”的命令&#xff0c;從而實現了…

財報解讀:電商GMV增長30%后,快手將堅守本地生活?

快手逐漸講好了其高質量成長的故事。 根據財報&#xff0c;快手三季度業績超出預期&#xff0c;其中&#xff0c;營收279.5億元&#xff0c;同比增長20.8%&#xff1b;調整后凈利潤31.7億元&#xff0c;同比扭虧為盈。 而聯系市場環境來看&#xff0c;三季度廣告、電商市場較…

超詳細的pytest玩轉HTML報告:修改、漢化和優化

前言 Pytest框架可以使用兩種測試報告&#xff0c;其中一種就是使用pytest-html插件生成的測試報告&#xff0c;但是報告中有一些信息沒有什么用途或者顯示的不太好看&#xff0c;還有一些我們想要在報告中展示的信息卻沒有&#xff0c;最近又有人問我pytest-html生成的報告&a…