Heim Web-Frontend HTML-Tutorial CF 题目集锦 PART 5 #266 div 2 E_html/css_WEB-ITnose

CF 题目集锦 PART 5 #266 div 2 E_html/css_WEB-ITnose

Jun 24, 2016 am 11:57 AM
cf div

【原题】

E. Information Graph

time limit per test

1 second

memory limit per test

512 megabytes

input

standard input

output

standard output

There are n employees working in company "X" (let's number them from 1 to n for convenience). Initially the employees didn't have any relationships among each other. On each of m next days one of the following events took place:

  • either employee y became the boss of employee x (at that, employee x didn't have a boss before);
  • or employee x gets a packet of documents and signs them; then he gives the packet to his boss. The boss signs the documents and gives them to his boss and so on (the last person to sign the documents sends them to the archive);
  • or comes a request of type "determine whether employee x signs certain documents".
  • Your task is to write a program that will, given the events, answer the queries of the described type. At that, it is guaranteed that throughout the whole working time the company didn't have cyclic dependencies.

    Input

    The first line contains two integers n and m (1?≤?n,?m?≤?105) ? the number of employees and the number of events.

    Each of the next m lines contains the description of one event (the events are given in the chronological order). The first number of the line determines the type of event t (1?≤?t?≤?3).

  • If t?=?1, then next follow two integers x and y (1?≤?x,?y?≤?n) ? numbers of the company employees. It is guaranteed that employee x doesn't have the boss currently.
  • If t?=?2, then next follow integer x (1?≤?x?≤?n) ? the number of the employee who got a document packet.
  • If t?=?3, then next follow two integers x and i (1?≤?x?≤?n; 1?≤?i?≤?[number of packets that have already been given]) ? the employee and the number of the document packet for which you need to find out information. The document packets are numbered started from 1 in the chronological order.
  • It is guaranteed that the input has at least one query of the third type.

    Output

    For each query of the third type print "YES" if the employee signed the document package and "NO" otherwise. Print all the words without the quotes.

    Sample test(s)

    input

    4 91 4 32 43 3 11 2 32 23 1 21 3 12 23 1 3
    Nach dem Login kopieren

    output

    YESNOYES
    Nach dem Login kopieren

    【题意】意思看了半天~就是有N个人,M个操作。每次操作有3种。

    ①把x的父亲置为y。

    ②从x开始发新的一份文件(是从1开始标号的)。从x开始,一直传递到最远的祖先。

    ③询问x号文件有没有落到y的手里。

    【分析】即要简单地判断y是否是x的祖先。一开始有思维定势,觉得要求一遍LCA。但是后来想了想,可以直接用DFS序搞出同一棵树的深度,再用并查集维护是否在同一棵树上。代码很简单。

    【代码】

    #include<cstdio>#include<vector>#define N 200005#define pb push_backusing namespace std;vector<int>son[N],ask[N];struct arr{int x,y,id,opt;}a[N];int f[N],L[N],R[N],fa[N],ans[N];int i,n,m,now,num,id,tot,P,j;inline int get(int u){return f[u]==u?f[u]:f[u]=get(f[u]);}void dfs(int k){  L[k]=++tot;  for (int i=0;i<son dfs r main scanf for if son ask f id="ask[now][j];num=a[id].x;">=R[a[i].x]) ans[id]=1;    }  }}</son></int></vector></cstdio>
    Nach dem Login kopieren

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Wie richte ich das Ein-Klick-Makro von Logitech ein? Siehe Makroeinstellungen der Logitech-Maus Wie richte ich das Ein-Klick-Makro von Logitech ein? Siehe Makroeinstellungen der Logitech-Maus Mar 14, 2024 pm 10:50 PM

    Mausmakros weisen den Maustasten eine Reihe komplexer Vorgänge zu, die einfach als Tastenkombinationseinstellungen für die Maus verstanden werden können. Nachdem Sie auf die Schaltfläche geklickt haben, um das Mausmakro festzulegen, können Sie einige Vorgänge ausführen, die normalerweise nicht möglich sind. Wie stellt man also Mausmakros ein, wenn man CF spielt? Werfen wir einen Blick auf das Tutorial zur Makroeinstellung der cf-Logitech-Maus. 1. Installieren Sie zunächst die Logitech-Spielesoftware auf Ihrem Computer und klicken Sie dann wie durch den Pfeil im Bild gezeigt, um die Benutzeroberfläche für benutzerdefinierte Tasteneinstellungen zu öffnen. Als nächstes müssen Sie eine Taste auswählen, z. B. die linke Taste, auf den kleinen Pfeil klicken und dann im Popup-Menü „Befehl bearbeiten“ auswählen, damit Sie die Benutzeroberfläche für die Makroeinstellung der linken Taste öffnen können. 3. Klicken Sie dann auf die Schaltfläche, wie durch den roten Pfeil im Bild dargestellt, klicken Sie auf das Textfeld und geben Sie einen beliebigen Schlüssel ein. Beachten Sie, dass beispielsweise A

    Wie man mit CSS erkennt, dass einem Div eine Ecke fehlt Wie man mit CSS erkennt, dass einem Div eine Ecke fehlt Jan 30, 2023 am 09:23 AM

    CSS-Methode, um zu erkennen, dass einem Div eine Ecke fehlt: 1. Erstellen Sie eine HTML-Beispieldatei und definieren Sie ein Div. 2. Legen Sie die Hintergrundfarbe für die Breite und Höhe des Div fest. 3. Fügen Sie dem zu löschenden Div eine Pseudoklasse hinzu eine Ecke und setzen Sie die Pseudoklasse auf „Die gleiche Farbe wie die Hintergrundfarbe verwenden“, drehen Sie sie dann um 45 Grad und positionieren Sie sie dann an der Ecke, die entfernt werden muss.

    Implementierung eines Browserskripts zur Wortmarkierungsübersetzung basierend auf der ChatGPT-API Implementierung eines Browserskripts zur Wortmarkierungsübersetzung basierend auf der ChatGPT-API May 01, 2023 pm 03:28 PM

    Vorwort Seit Kurzem gibt es auf GitHub ein Browser-Skript, das neben der Browser-Plugin auch Polier- und Zusammenfassungsfunktionen unterstützt -ins, es verwendet auch Tauri-Paketierung, abgesehen von der Tatsache, dass Tauri den Rust-Teil verwendet, ist der Browser-Teil immer noch relativ einfach zu implementieren. Heute werden wir ihn manuell implementieren. Über die von openAI bereitgestellte Schnittstelle können wir beispielsweise den folgenden Code kopieren und in der Browserkonsole eine Anfrage initiieren, um die Übersetzung abzuschließen //Beispiel constOPENAI_API_KEY="s

    Was ist der Unterschied zwischen iframe und div? Was ist der Unterschied zwischen iframe und div? Aug 28, 2023 am 11:46 AM

    Der Unterschied zwischen iframe und div besteht darin, dass iframe hauptsächlich zum Einführen externer Inhalte verwendet wird, die Inhalte von anderen Websites laden oder eine Webseite in mehrere Bereiche unterteilen können. Jeder Bereich verfügt über einen eigenen unabhängigen Browsing-Kontext, während div hauptsächlich zum Unterteilen von und verwendet wird Organisieren Sie den Inhaltsblock zur Layout- und Stilkontrolle.

    Was ist das Div-Box-Modell? Was ist das Div-Box-Modell? Oct 09, 2023 pm 05:15 PM

    Das div-Box-Modell ist ein Modell, das für das Webseiten-Layout verwendet wird. Es behandelt Elemente auf einer Webseite als rechteckige Boxen. Dieses Modell enthält vier Teile: Inhaltsbereich, Innenabstand, Rand und Rand. Der Vorteil des Div-Box-Modells besteht darin, dass es das Layout der Webseite und den Abstand zwischen Elementen leicht steuern kann. Durch Anpassen der Größe des Inhaltsbereichs, des Innenrands, des Rands und des Außenrands können verschiedene Layouteffekte erzielt werden Das Box-Modell bietet außerdem einige Eigenschaften und Methoden, mit denen der Stil und das Verhalten der Box über CSS und JavaScript dynamisch geändert werden können.

    Was sind die Unterschiede zwischen div und span? Was sind die Unterschiede zwischen div und span? Nov 02, 2023 pm 02:29 PM

    Die Unterschiede sind: 1. div ist ein Element auf Blockebene und span ist ein Inline-Element. 2. div belegt automatisch eine Zeile, während span nicht automatisch umgebrochen wird. 3. div wird zum Umschließen größerer Strukturen und Layouts verwendet span wird zum Umschließen von Text oder anderen Inline-Elementen verwendet. 4. div kann andere Elemente auf Blockebene und Inline-Elemente enthalten, und span kann andere Inline-Elemente enthalten.

    Wie man den Rauchkopf im WIN10-System einstellt, vgl Wie man den Rauchkopf im WIN10-System einstellt, vgl Feb 26, 2024 pm 04:17 PM

    Anpassungsschritte: 1. Klicken Sie auf dem Win10-Systemdesktop mit der rechten Maustaste auf die Schaltfläche „Einstellungen“. 2. Klicken Sie auf das Symbol „System“. 3. Klicken Sie auf den Menüpunkt „Anzeige“. 5. Klicken Sie auf die Schaltfläche „Alle Modi auflisten“. 6. Wählen Sie unter allen Modi „1024*768 True Color“ aus. 7. Klicken Sie oben auf die Beschriftung „Monitor“. auf 60 Hz; 8. Klicken Sie auf „OK“ und starten Sie den Computer neu.

    jQuery-Tipps: Beherrschen Sie das Hinzufügen von Tags in Divs jQuery-Tipps: Beherrschen Sie das Hinzufügen von Tags in Divs Feb 23, 2024 pm 01:51 PM

    Titel: jQuery-Tipps: Beherrschen Sie die Methode zum Hinzufügen von Tags zu Divs. In der Webentwicklung stoßen wir häufig auf Situationen, in denen wir der Seite dynamisch Tags hinzufügen müssen. Sie können jQuery verwenden, um DOM-Elemente einfach zu bearbeiten und schnelle Funktionen zum Hinzufügen von Beschriftungen zu erreichen. In diesem Artikel wird erläutert, wie Sie mit jQuery Tags in Divs hinzufügen und spezifische Codebeispiele anhängen. 1. Vorbereitungsarbeiten Bevor Sie jQuery verwenden, müssen Sie die jQuery-Bibliothek auf der Seite einführen. Sie können sie über einen CDN-Link einführen oder auf dieser Seite herunterladen.

    See all articles