Rumah hujung hadapan web html tutorial Codeforces Round #267 (Div. 2) E Alex and Complicated Task_html/css_WEB-ITnose

Codeforces Round #267 (Div. 2) E Alex and Complicated Task_html/css_WEB-ITnose

Jun 24, 2016 am 11:57 AM
round task

很不错的思维题,贪心

题目大意:给你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关系分以下情况:

(1)c

(2)b>c>=a  形成ABAB,记录之

(3)c>=b  不知道(a,b) (c,d) 该取哪个  那么都存下先,等着下一个数读入作处理


//#pragma comment(linker, "/STACK:102400000,102400000")#include <cstdio>#include <cstring>#include <algorithm>#include <string>#include <iostream>#include <map>#include <vector>using namespace std;#define ls(rt) rt*2#define rs(rt) rt*2+1#define ll long long#define ull unsigned long long#define rep(i,s,e) for(int i=s;i<e repe for i="s;i<=e;i++)#define" cl memset in freopen out ll ll_inf="((ull)(-1))">>1;const double EPS = 1e-8;const int INF = 100000000;const int MAXN = 500000+100;struct Node{    int l,r;    int x;}nodes[MAXN];map<int int>pos,cnt;vector<int>b;int num[MAXN],n,top;void read(){    b.clear();    top=0;    for(int i=1;i0)            {                int bl=nodes[top-1].l, br=nodes[top-1].r, bx=nodes[top-1].x;                if(l>bl && l   <br>  <br>  <p></p>  <p><br> </p>  <p><br> </p> </int></int></e></vector></map></iostream></string></algorithm></cstring></cstdio>
Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penutupan Windows 11 menggesa hos tugas hos tugas tetingkap sedang melaksanakan penyelesaian tugas penutupan Penutupan Windows 11 menggesa hos tugas hos tugas tetingkap sedang melaksanakan penyelesaian tugas penutupan Feb 12, 2024 pm 12:40 PM

Baru-baru ini, ramai pengguna Win11 telah melaporkan bahawa apabila menutup, mereka digesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan. Jadi apa yang sedang berlaku? Pengguna boleh memasukkan folder Desktop di bawah editor pendaftaran tempatan, dan kemudian pilih AutoEndTasks dalam tetingkap kanan untuk menetapkannya. Biarkan tapak web ini dengan teliti memperkenalkan kepada pengguna penyelesaian kepada masalah ini apabila ditutup. Penutupan Windows 11 menggesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan 1. Gunakan kekunci kombinasi kekunci win + r, masukkan "regedit" dan tekan Enter, seperti yang ditunjukkan dalam rajah di bawah. 2. Cari [HKEY

Apakah maksud bulat dalam php Apakah maksud bulat dalam php Mar 10, 2023 am 10:04 AM

Dalam PHP, bulat bermaksud "pembundaran" dan merupakan fungsi terbina dalam yang menukar nombor titik terapung kepada integer Fungsi ini boleh membulatkan nombor titik terapung dan mengembalikan nilai integer jenis apungan );".

Bagaimana untuk membahagi dan membulatkan menggunakan fungsi round() PHP Bagaimana untuk membahagi dan membulatkan menggunakan fungsi round() PHP Mar 21, 2023 pm 04:32 PM

Fungsi round() ialah fungsi yang sangat berguna dalam perpustakaan pemformatan nombor PHP, yang boleh membundarkan nombor titik terapung ke nombor tempat perpuluhan yang ditentukan. Walau bagaimanapun, memandangkan operasi pembahagian PHP mungkin mengalami perpuluhan tak terhingga atau kehilangan ketepatan, pembulatan pembahagi juga perlu. Seterusnya, kami akan menerangkan secara terperinci cara menggunakan fungsi round() PHP untuk membahagi dan membulatkan.

Cara menggunakan fungsi ROUND untuk memintas tempat perpuluhan dalam MySQL Cara menggunakan fungsi ROUND untuk memintas tempat perpuluhan dalam MySQL Jul 13, 2023 pm 09:21 PM

Cara menggunakan fungsi ROUND dalam MySQL untuk memintas bilangan tempat perpuluhan Dalam MySQL, anda boleh menggunakan fungsi ROUND untuk memintas bilangan tempat perpuluhan. Fungsi ROUND membundarkan nombor kepada bilangan tempat perpuluhan yang ditentukan. Berikut akan memperkenalkan anda kepada penggunaan fungsi ROUND secara terperinci dan memberikan contoh kod. Sintaks: ROUND(X,D)X mewakili nombor yang akan dibundarkan dan D mewakili bilangan tempat perpuluhan yang akan dikekalkan. Contoh penggunaan fungsi ROUND untuk memintas bilangan tempat perpuluhan: Katakan terdapat jadual bernama produc

Penjelasan terperinci tentang C#Task Penjelasan terperinci tentang C#Task Mar 14, 2024 am 09:54 AM

Tugas ialah objek yang digunakan untuk mewakili operasi tak segerak dalam C# Ia terletak dalam ruang nama System.Threading.Tasks. Task menyediakan API peringkat tinggi untuk mengendalikan operasi serentak, tak segerak, menjadikannya lebih mudah untuk menulis kod tak segerak dalam aplikasi .NET.

Menggunakan tugasan C# Menggunakan tugasan C# Feb 19, 2024 pm 12:16 PM

Penggunaan C#Task memerlukan gambaran keseluruhan contoh kod khusus: Task ialah jenis yang sangat biasa digunakan dalam C# Ia mewakili operasi boleh laku yang boleh dilaksanakan secara tak segerak dan mengembalikan hasil. Tugas memainkan peranan penting dalam mengendalikan operasi tak segerak, pemprosesan selari dan meningkatkan prestasi aplikasi. Artikel ini akan memperkenalkan penggunaan asas Tugas dan menyediakan beberapa contoh kod khusus. Cipta dan gunakan Tugasan Dalam C#, anda boleh menggunakan kelas Tugasan untuk mencipta dan menggunakan tugas tak segerak. Berikut ialah cara untuk mencipta dan menggunakan Ta

Dapatkan pemahaman yang lebih mendalam tentang tugasan dalam C# Dapatkan pemahaman yang lebih mendalam tentang tugasan dalam C# Feb 18, 2024 pm 12:03 PM

Penjelasan terperinci tentang C#Task, contoh kod khusus diperlukan Pengenalan: Dalam pengaturcaraan berbilang benang C#, Task ialah model pengaturcaraan yang biasa digunakan untuk melaksanakan operasi tak segerak. Tugasan menyediakan cara mudah untuk mengendalikan tugas serentak, boleh melakukan operasi tak segerak secara selari pada berbilang benang, dan boleh mengendalikan pengecualian dan mengembalikan nilai dengan mudah. Artikel ini akan memperkenalkan penggunaan C#Task secara terperinci dan memberikan beberapa contoh kod khusus. 1. Mencipta dan menjalankan Tugasan Kaedah mencipta objek Tugasan Terdapat banyak cara untuk mencipta objek Tugas dalam C#.

Tulis fungsi satu baris C untuk membundarkan nombor titik terapung Tulis fungsi satu baris C untuk membundarkan nombor titik terapung Aug 26, 2023 pm 01:53 PM

Di sini kita akan melihat bagaimana untuk menulis fungsi satu baris C yang boleh membundarkan nombor titik terapung. Untuk menyelesaikan masalah ini, kita perlu mengikuti langkah-langkah berikut. Dapatkan nombor Jika nombor itu positif, tambah 0.5 jika tidak, tolak 0.5 Gunakan penukaran jenis untuk menukar nilai titik terapung kepada integer Contoh #include<stdio.h> intmy_round(floatnumber){ return(int)(number<0?number - 0.5:number+0.5);}intmain(){&nbsp

See all articles