ICode9

精准搜索请尝试: 精确搜索
  • P5904 [POI2014]HOT-Hotels 题解2022-05-20 12:33:19

    题面 原题 \(n\leq 5000\),加强版 \(n\leq 10^5\),实际上能做 \(n\leq 10^6\)。 长链剖分。做这种很多点满足限制的题,套路差不多。设 \(f_{u,i}\) 表示 \(u\) 子树内到 \(u\) 距离为 \(i\) 的点数,\(g_{u,i}\) 表示 \(u\) 子树内的点对 \((x,y)\) 数量,满足再加一个到 \(u\) 距离为 \(

  • P6684 [BalticOI 2020 Day1] 小丑 题解2022-05-19 09:00:38

    不难发现对于一个特定的 \(\text{l}\) 而言,\(\text{r}\) 的答案具有单调性。 所以就可以很自然的想到二分。 由于需要对所有的 \(\text{l}\) 都进行统计答案。 只用普通的二分复杂度会炸掉,所以就可以想到使用整体二分。 思路 首先考虑如何判断奇环。 对于这部分内容,可以考虑一边加

  • 严格次小生成树 模板 P41802022-05-18 16:32:02

    注意严格次小这个细节问题 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = 0x3f3f3f3f3f3f3f3f; const int N = 1e5 + 10; const int M = 3e5 + 10; int n,m,head[N],tot,nxt[M],to[M],f[N]; ll w[M]; struct node { int u,v; ll ew;

  • 【题解】CF650E-Clockwork Bomb2022-05-17 22:31:07

    给定两棵树 \(A,B\),每次先删除 \(A\) 一条边,再加入 \(A\) 一条边,过程中不能成环,现在构造一个方案用最少次操作将 \(A\) 变成 \(B\)。 显然两棵树中都存在的边可以不用删,我们将这些边留下,将每个连通块缩成一个点。 那么我们得到两颗大小相同的新树,且不存在一条边在两棵树内都出现

  • AcWing 145. 超市2022-05-17 17:04:57

    // // Created by Kaede on 2022/5/17 // Problem: Acwing 145 // #include <algorithm> #include <cstdio> #include <cstdlib> #include <iostream> #include <map> #include <vector> namespace DisjointSet { class disjointSet {

  • 【笔记】Dilworth定理2022-05-16 20:33:40

    给定一个有向无环图,我们称 \(x,y\) 存在关系当且仅当存在 \(x\to y\) 或者 \(y \to x\) 的边。最长链为最大的集合使得其中任意两个元素存在关系,最长反链为最大的集合使得其中任意两个元素不存在关系。 Dilworth 定理:最长反链等于最小链覆盖。 最小链覆盖为用最少的链(可以相交)覆盖

  • 「UR #20」机器蚤分组2022-05-15 16:32:32

    题目 点这里看题目。 分析 定义 \(a\le b\) 当且仅当 \(a\) 为 \(b\) 的子串,题目就是要求 \(S[l:r]\) 的所有本质不同的子串和 \(\le\) 构成的偏序集的最小链覆盖中链的条数。 熟练地使用 Dilworth 定理,我们转而求最长反链的长度。注意到,字符串作为元素,自带长度的区分。根据我们的

  • C. Tokitsukaze and Two Colorful Tapes_并查集+环2022-05-13 12:02:17

    C. Tokitsukaze and Two Colorful Tapes_并查集+环 题目大意 给ab两个数组,他们均是n的排列。现在要在满足原来ai==bj的仍旧相等的条件下,重新排列ab,使得sum(abs(ai-bi))最大。 思路和代码 比较好看的就是这是一堆环。我们贪心的去给每个环一大一小的去分配数字即可。要注意其实奇数

  • P3241 [HNOI2015]开店 题解2022-05-11 19:02:30

    题面 这个题没有修改操作,所以不需要开线段树。跟平常的动态点分治做法一样,每个点开两个 vector 按照 \(x_i\) 排序存储到这个点和到这个点在点分树父亲的距离。每次找一个点的时候,暴力跳点分树父亲,直接在 vector 上二分查找满足 \([l,r]\) 这个区间的点和距离,直接计算即可。 点击

  • 【CodeForces 613D】Kingdom and its Cities2022-05-10 13:33:20

    链接 洛谷 题目大意 给定一棵树,多组询问,每组询问给定 \(k\) 个点,你可以删掉不同于那 \(k\) 个点的 \(m\) 个点,使得这 \(k\) 个点两两不连通,要求最小化 \(m\),如果不可能输出 \(-1\)。询问之间独立。 思路 虚树板题。 虚树 针对一些有多组特殊点的树上问题。 如果只有一组特殊点,就是

  • vue 中引入font-awesome2022-05-10 10:01:20

    vue 中引入font-awesome直接使用命令npm install font-awesome --save进行安装,安装成功后里面包含样式和字体,然后直接引入样式就可以了 入口js中引入 import 'font-awesome/css/font-awesome.min.css' 然后就可以使用了,例如下面这样 <i class="fa fa-book"></i> 注意要添加fa

  • 图论之并查集2022-05-10 09:03:41

    最近刚刚学习完并查集,有感而发。 这篇仅仅是讲述基础的并查集,不带权值之类的东西。 首先是“查”的操作find()函数 int find(int x) { if(fa[x]==x) { return fa[x]=x; } else return fa[x]=find(fa[x]); } 其中,fa便是表示祖先。 使用递归算法(不用

  • Codeforces Round #788 (Div. 2) C. Where is the Pizza?2022-05-08 16:03:23

    假设ci=ai,那么一定有cj=aj(aj= =bi),循环这个过程直到ck=ak(bk= =ai),这个过程中所选出的元素为一个集合(在b中也有一个相同的集合,只是顺序不同),不同集合数量为cnt,答案即为2^(cnt-m)(m为c确定的集合个数) #include<bits/stdc++.h> using namespace std; typedef long long LL; const i

  • C. Where is the Pizza?_并查集2022-05-07 01:32:49

    C. Where is the Pizza? 题目大意: 给a,b两个数列,他们均是n的排列。ci=ai/bi(ci是ai bi中的一个)现在给出部分c数列,问c数列又多少种可能性。 思路和代码: 题目样例给的比较好啊 首先对在aibi之间建边,可以明确的是所得的图一定是若干个环。 一个环中只要有一个节点确定那么整个环就确定

  • D2022-05-06 01:32:59

    #include<bits/stdc++.h> using namespace std; typedef pair<int,int> pii; const int N = 2e5+10; int fa[N]; bool isleaf[N]; int get_dis(int x){ int res=0; while(fa[x]!=x){ res++; x=fa[x]; } return res; } int print_path(int x){ stack

  • 关于最小生成树2022-05-04 22:00:45

    1.定义: 一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。 2.实现: 一般是用并查集的合并与查找操作来支撑的,这里简单提一下 先定义一个数组\(fa_i\)表示\(i\)的父节点 inline int find(int x) { if(x==fa[x]) return x

  • 2021台北ICPC Seesaw (背包)2022-05-03 10:31:57

    问题转化为从A,B两组中分别取相同个数的东西的某一权值总和的最取次数 fa/b[i][j][v] 表示前i个数,取j个,能否凑成体积v,f值就是0/1 注意控制合法状态,最后的枚举不要超过A,B的值域 #include<bits/stdc++.h> //#include <bits/extc++.h> using namespace std; // using namespace __

  • 镜花水月, 树虚点实: 虚树学习笔记2022-05-02 21:32:51

    Virtual Tree 揭开华丽的外衣, 关注问题的本质. 这就是虚树在做的事情, 所以虚树不虚, 反而是虚伪原树中最实在的部分, 所以它更应该被称作 "实树". 它在实际问题中常常回答完问题后就转瞬即逝, 所以给人的印象就是镜花水月一般的虚无飘渺, 现实中敢讲真话的人也有很多就这虚树一

  • 【Hexo】NexT 主题的配置使用记录2022-05-02 21:00:26

    目录简介版本安装配置记录风格/主题网页图标菜单栏侧边栏本地搜索代码块动画效果阅读进度书签Mermaidlazyloadfancyboxpangu捐赠版权声明不蒜子gitalk参考资料 简介 NexT 主题是 Hexo 上使用最广,同时在 GitHub 上也是 Star 最多的主题,bug 修复和功能更新也比较快。当前博客就是使

  • Maxflow2022-04-30 08:01:20

    题目背景 给你一棵大小为 \(n\) 的树,每个节点上都有一个点权,初值为 0。 一共有 \(m\) 次操作,每次操作给定一个点对 $(s_i,t_i)#,表示对 \(s_i−>t_i\) 这条路径上的每个节点点权+1。 所有操作结束后,询问所有点的最大点权。 输入格式 第一行包括两个正整数 \(n,m\)。 此后 \(n−1\)

  • P1955 [NOI2015] 程序自动分析2022-04-29 22:35:08

    开学了,初二预备小中考,事真多;这不期中刚过就来做题了?唉,这都是借口,其实就是管不住自己,唉~,其实,其实可以抽出很多的时间来编程的。 这道题如果数据量不大的话是可以轻松用并查集解决的。1得话合并;0的话判断是否在同一集合,如果在同一集合则直接NO。 但数据量达怎么办?离散化,我发现很多题

  • bwa软件对参考基因组构建索引文件2022-04-28 00:35:18

      1、当参考基因组 大于2G时(约20亿个核苷酸,20,0000,0000):bwa index -a bwtsw  xxx.fa 小于2G时(约20亿个核苷酸,20,0000,0000):bwa index xxx.fa   2、统计参考基因组碱基数目 root@DESKTOP-1N42TVH:/home/test# ls Arabidopsis_thaliana.TAIR10.dna.toplevel.fa root@DESKTOP-1N42

  • 利用picard对参考基因组构建dict文件2022-04-27 10:02:23

      1、方式1     root@DESKTOP-1N42TVH:/home/test/test2# ls Arabidopsis_thaliana.TAIR10.dna.toplevel.fa root@DESKTOP-1N42TVH:/home/test/test2# java -jar /home/software/picard/build/libs/picard.jar CreateSequenceDictionary R=Arabidopsis_thaliana.TAIR10.dna.t

  • 利用samtools对参考基因组构建索引fai文件2022-04-27 10:00:37

      1、 root@DESKTOP-1N42TVH:/home/test/test2# ls Arabidopsis_thaliana.TAIR10.dna.toplevel.fa root@DESKTOP-1N42TVH:/home/test/test2# samtools faidx Arabidopsis_thaliana.TAIR10.dna.toplevel.fa root@DESKTOP-1N42TVH:/home/test/test2# ls Arabidopsis_thaliana.TA

  • #805. 【模板】最小瓶颈生成树(数据加强版)2022-04-26 21:34:38

    考虑最小瓶颈生成树的性质 因此我们可以直接在最小生成树上求 \(LCA\) 以及 路径上的边的最大值 #include <bits/stdc++.h> using namespace std; typedef long long ll; template <typename T> void chkmax(T &x, T y) { x = x >= y ? x : y; } template <typename T> void c

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有