Codeforces Round #267 (Div. 2) E Alex and Complicated Task_html/css_WEB-ITnose
很不错的思维题,贪心
题目大意:给你n个数,你需要找到一个最长的子序列,使得这个子序列的第4k-4k+3项为a,b,a,b的形式(从0标号)。
牛逼的贪心啊,思维能力还是不行......
思路倒是能想一点,但是代码写下来不行...
参考了 http://www.cnblogs.com/shiina-mashiro/p/3981944.html
思路:
1、处理四个数相等的情况,直接输出四个数就行----其中记录数出现的次数用map,这样就不用离散化了(网上查的说map的查询时logn,离散化需要排序,nlogn,需要把大数映射成小数的时候 岂不是不需要离散化了。。。)
2、ABAB的情况
首先要想明白一点:两对数要满足形成ABAB那么必然是相邻的 ,最初没考虑到这点,以为要O(n^2)算法,不敢写了。
然后举出相邻两对数分析思路(a,b) (c,d)。
d>b显然,因为d是当前读到的数,a,b,c,是之前读到的数
然后根据c与a,b关系分以下情况:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

近期不少的win11用戶們反映關機的時候提示taskhostwindow任務宿主正在執行關閉任務,那麼這是怎麼回事?使用者可以進入到本機登錄編輯程式下的Desktop資料夾,然後在右邊的視窗中選擇AutoEndTasks來進行設定就可以了。以下就讓本站來為用戶們來仔細的介紹一下關機出現這個問題的解決方法吧。 windows11關機提示taskhostwindow任務宿主正在執行關閉任務的解決方法1、使用組合鍵win鍵+r鍵,輸入“regedit”,回車,如下圖所示。 2、尋找[HKEY

在php中,round的意思為“四捨五入”,是一個內建函數,作用是將浮點數轉換為整數;該函數可以對浮點數進行四捨五入,並返回一個float類型的整數值,語法“round(number, precision,mode);」。

round() 函數是PHP數字格式化函式庫中一個非常實用的函數,可以將浮點數四捨五入到指定的小數位數。但是,由於PHP的除法運算可能會出現無限小數或精度遺失的問題,因此對除數進行四捨五入也很必要。接下來,我們會詳細講解如何使用PHP的round()函數進行除以四捨五入。

MySQL中如何使用ROUND函數截取小數位數在MySQL中,可以使用ROUND函數來截取小數的位數。 ROUND函數可以把一個數字四捨五入到指定的小數位數。以下將為您詳細介紹ROUND函數的使用方法,並提供程式碼範例。語法:ROUND(X,D)X表示要四捨五入的數字,D表示要保留的小數位數。使用ROUND函數截取小數位數的範例:假設有一個表格名為produc

Task在C#中是用來表示非同步操作的對象,它位於System.Threading.Tasks命名空間。 Task提供了用於處理並發、非同步操作的高階API,從而可以更輕鬆地在.NET應用程式中編寫非同步程式碼。

C#Task用法,需要具體程式碼範例概述:Task是C#中一個非常常用的類型,它代表了一個可執行的操作,可以非同步地執行並傳回結果。在處理非同步操作、並行處理和提高應用程式效能方面,Task發揮著重要的作用。本文將介紹Task的基本用法,並提供一些具體的程式碼範例。建立並使用一個Task在C#中,可以使用Task類別來建立和使用一個非同步任務。下面是一個創建並使用Ta

C#Task詳解,需要具體程式碼範例引言:在C#多執行緒程式設計中,Task是一種常用的程式設計模型,用於實現非同步操作。 Task提供了一種簡單的方式來處理並發任務,可以在多個執行緒上並行執行非同步操作,並且可以方便地處理異常和返回值。本文將詳細介紹C#Task的使用方法,並提供一些具體的程式碼範例。一、Task的創建和運行創建Task物件的方法C#中創建Task物件有多種

這裡我們將看到如何寫一行C函數,該函數可以對浮點數進行舍入。為了解決這個問題,我們必須按照以下步驟進行。取數字如果數字是正數,則加上0.5否則,減去0.5使用型別轉換將浮點值轉換為整數範例#include<stdio.h> intmy_round(floatnumber){ return(int)(number<0?number- 0.5:number+0.5);}intmain(){ 
