Maison interface Web tutoriel HTML CF 题目集锦 PART 7 #264 div 2 E_html/css_WEB-ITnose

CF 题目集锦 PART 7 #264 div 2 E_html/css_WEB-ITnose

Jun 24, 2016 am 11:57 AM
cf div

【原题】

E. Caisa and Tree

time limit per test

10 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Caisa is now at home and his son has a simple task for him.

Given a rooted tree with n vertices, numbered from 1 to n (vertex 1 is the root). Each vertex of the tree has a value. You should answer q queries. Each query is one of the following:

  • Format of the query is "1 v". Let's write out the sequence of vertices along the path from the root to vertex v: u1,?u2,?...,?uk (u1?=?1; uk?=?v). You need to output such a vertex ui that gcd(value of ui,?value of v)?>?1 and i?
  • Format of the query is "2 v w". You must change the value of vertex v to w.
  • You are given all the queries, help Caisa to solve the problem.

    Input

    The first line contains two space-separated integers n, q (1?≤?n,?q?≤?105).

    The second line contains n integers a1,?a2,?...,?an (1?≤?ai?≤?2·106), where ai represent the value of node i.

    Each of the next n?-?1 lines contains two integers xi and yi (1?≤?xi,?yi?≤?n; xi?≠?yi), denoting the edge of the tree between vertices xi and yi.

    Each of the next q lines contains a query in the format that is given above. For each query the following inequalities hold: 1?≤?v?≤?n and 1?≤?w?≤?2·106. Note that: there are no more than 50 queries that changes the value of a vertex.

    Output

    For each query of the first type output the result of the query.

    Sample test(s)

    input

    4 610 8 4 31 22 33 41 11 21 31 42 1 91 4
    Copier après la connexion

    output

    -112-11
    Copier après la connexion

    Note

    gcd(x,?y) is greatest common divisor of two integers x and y.


    【分析】这道题是做现场赛的。本来能A的,但是太紧张了=而且也不会用vector,边表搞的麻烦死了。

    开始看到修改操作才50次、时间又松,真是爽!估计每次可以暴力重构这颗树,然后对于每个质因子记录最优值。

    首先每次不能sqrt的效率枚举一个数的因子,我们可以预处理出每个数的所有质因子。(其实有更省空间的)

    剩下来要解决的问题是:因为我是用dfs的,怎么把某个子树的信息在搜完后再去掉?(以免影响其他子树)HHD表示用vector一点也不虚。其实应该也可以用边表类似的思路,但是麻烦= =

    【代码】

    #include<cstdio>#include<algorithm>#include<cstring>#include<vector>#define N 100005#define S 2000005#define push push_back#define pop pop_backusing namespace std;vector<int>fac[S],f[S];int data[N],ans[N],end[N],pf[S],deep[N];int C,cnt,n,Q,i,x,y,opt;struct arr{int go,next;}a[N*2];inline void add(int u,int v){a[++cnt].go=v;a[cnt].next=end[u];end[u]=cnt;}inline void init(){  int H=2000000;  for (int i=2;ideep[ans[k]]) ans[k]=f[go][temp-1];    f[go].push(k);  }  for (int i=end[k];i;i=a[i].next)    if (a[i].go!=fa)      dfs(a[i].go,k);  for (int i=0;i<fac f void get_deep k fa for i="end[k];i;i=a[i].next)" if deep main scanf init memset while return>  <p></p> </fac></int></vector></cstring></algorithm></cstdio>
    Copier après la connexion
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Comment configurer la macro cf Logitech en un clic ? cf paramètres de macro de la souris Logitech Comment configurer la macro cf Logitech en un clic ? cf paramètres de macro de la souris Logitech Mar 14, 2024 pm 10:50 PM

    Les macros de la souris attribuent une série d'opérations complexes aux boutons de la souris, qui peuvent être simplement comprises comme des paramètres de touches de raccourci de la souris. Après avoir cliqué sur le bouton pour définir la macro de la souris, vous pouvez effectuer certaines opérations qui sont généralement impossibles à effectuer. Alors, comment définir les macros de la souris lors de la lecture de CF ? Jetons un coup d'œil au tutoriel de paramétrage des macros de la souris Logitech cf. 1. Tout d'abord, installez le logiciel de jeu Logitech sur votre ordinateur, puis cliquez comme indiqué par la flèche dans l'image pour ouvrir l'interface de configuration des boutons personnalisés. Ensuite, vous devez sélectionner une touche, telle que la touche gauche, cliquer sur la petite flèche, puis sélectionner « Modifier la commande » dans le menu contextuel, afin de pouvoir ouvrir l'interface de configuration des macros de la touche gauche. 3. Cliquez ensuite sur le bouton, comme indiqué par la flèche rouge dans l'image, cliquez sur la zone de texte et entrez n'importe quelle clé. Notez que par exemple, A.

    Comment utiliser CSS pour se rendre compte qu'il manque un coin à un div Comment utiliser CSS pour se rendre compte qu'il manque un coin à un div Jan 30, 2023 am 09:23 AM

    Méthode CSS pour réaliser qu'il manque un coin à un div : 1. Créez un exemple de fichier HTML et définissez un div ; 2. Définissez la couleur d'arrière-plan de la largeur et de la hauteur du div 3. Ajoutez une pseudo-classe au div qui doit être supprimé ; un coin et définissez la pseudo-classe sur Utiliser la même couleur que la couleur d'arrière-plan, puis faites-la pivoter de 45 degrés, puis positionnez-la sur le coin qui doit être supprimé.

    Implémentation d'un script de navigateur de traduction de marquage de mots basé sur l'API ChatGPT Implémentation d'un script de navigateur de traduction de marquage de mots basé sur l'API ChatGPT May 01, 2023 pm 03:28 PM

    Préface Récemment, il existe un script de navigateur basé sur ChatGPTAPI sur GitHub, openai-translator. En peu de temps, l'étoile a atteint 12k. En plus de prendre en charge la traduction, elle prend également en charge les fonctions de polissage et de synthèse. -ins, il utilise également le packaging tauri. Si vous avez un client de bureau, outre le fait que tauri utilise la partie rust, la partie navigateur est encore relativement simple à implémenter. Aujourd'hui, nous allons l'implémenter manuellement. L'interface fournie par openAI, par exemple, nous pouvons copier le code suivant et lancer une requête dans la console du navigateur pour terminer la traduction //Exemple constOPENAI_API_KEY="s

    Quel est le modèle de boîte de division ? Quel est le modèle de boîte de division ? Oct 09, 2023 pm 05:15 PM

    Le modèle de boîte div est un modèle utilisé pour la mise en page d'une page Web. Il traite les éléments d'une page Web comme des boîtes rectangulaires. Ce modèle contient quatre parties : la zone de contenu, le remplissage, la bordure et la marge. L'avantage du modèle de boîte div est qu'il peut facilement contrôler la mise en page de la page Web et l'espacement entre les éléments. En ajustant la taille de la zone de contenu, la marge intérieure, la bordure et la marge extérieure, divers effets de mise en page peuvent être obtenus. Le modèle de boîte fournit également certaines propriétés et méthodes permettant de modifier dynamiquement le style et le comportement de la boîte via CSS et JavaScript.

    Quelle est la différence entre iframe et div Quelle est la différence entre iframe et div Aug 28, 2023 am 11:46 AM

    La différence entre iframe et div est que iframe est principalement utilisé pour introduire du contenu externe, qui peut charger du contenu provenant d'autres sites Web ou diviser une page Web en plusieurs zones. Chaque zone a son propre contexte de navigation indépendant, tandis que div est principalement utilisé pour diviser et div. organiser le contenu. bloc pour la mise en page et le contrôle du style.

    Quelles sont les différences entre div et span ? Quelles sont les différences entre div et span ? Nov 02, 2023 pm 02:29 PM

    Les différences sont les suivantes : 1. div est un élément de niveau bloc et span est un élément en ligne ; 2. div occupera automatiquement une ligne, tandis que span ne sera pas automatiquement renvoyé à la ligne ; 3. div est utilisé pour envelopper des structures et des mises en page plus volumineuses ; span est utilisé pour envelopper du texte ou d'autres éléments en ligne ; 4. div peut contenir d'autres éléments de niveau bloc et des éléments en ligne, et span peut contenir d'autres éléments en ligne.

    Comment régler la tête de fumée dans le système WIN10 cf Comment régler la tête de fumée dans le système WIN10 cf Feb 26, 2024 pm 04:17 PM

    Étapes de réglage : 1. Sur le bureau du système Win10, cliquez avec le bouton droit sur le bouton Démarrer et sélectionnez « Paramètres » ; 2. Cliquez sur l'icône « Système » ; 3. Cliquez sur l'élément de menu « Affichage » dans la barre latérale gauche ; Adaptateur d'affichage" sur le lien de raccourci Propriétés" ; 5. Cliquez sur le bouton " Liste de tous les modes " ; 6. Sélectionnez " 1024*768 True Color 60 Hz " parmi tous les modes ; 7. Cliquez sur l'étiquette " Moniteur " ci-dessus et définissez-le ; à 60 Hz ; 8. Cliquez sur « OK », puis redémarrez l'ordinateur.

    Un moyen simple d'ajouter des éléments div avec jQuery Un moyen simple d'ajouter des éléments div avec jQuery Feb 19, 2024 pm 09:03 PM

    Techniques d'ajout d'éléments jQuerydiv simples et faciles à comprendre jQuery est l'une des bibliothèques JavaScript couramment utilisées dans le développement frontal. Elle fournit des méthodes pratiques pour utiliser les éléments DOM et peut rapidement ajouter, supprimer, modifier et d'autres fonctions d'éléments de page. Lorsque nous utilisons jQuery, nous devons souvent utiliser des éléments div. Ce qui suit présente quelques techniques simples et faciles à comprendre pour ajouter des éléments div et fournit des exemples de code spécifiques. 1. Créez et ajoutez un nouvel élément div

    See all articles