ICode9

精准搜索请尝试: 精确搜索
  • [BZOJ4152][AMPPZ2014]The Captain题解2022-08-13 17:02:54

    The Captain @目录The Captain题目描述分析代码 题目描述 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。 分析 我们第一时间会想把所有点都连上边,这样在跑一遍dijkstra,不就可以了吗? 但是 对于100%的数据,n<=200000 那我

  • [JLOI2011]飞行路线题解2022-08-13 17:02:14

    The Captain @目录The Captain题目描述分析代码 题目描述 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。 分析 我们第一时间会想把所有点都连上边,这样在跑一遍dijkstra,不就可以了吗? 但是 对于100%的数据,n<=200000 那我

  • 无向图连通分量正好是一个环2022-07-09 20:02:38

    连通分量可以用并查集处理。 连通分量是环的条件可以是:边数等于点数,每个点的度都为2。 例题:AcWing 4493. 环形连通分量 #include<bits/stdc++.h> using namespace std; typedef long long LL; int p[200010]; int sz[200010]; int ec[200010]; bool flag[200010]; int find(int

  • 环形专题2022-06-25 20:31:35

    Shortest Distance (20) Link 使用数组长度倍增的方法。 #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <string> #include <string.h> #include <vector> using namespace std; int n,m,x,y; int

  • CF1195C题解2022-02-06 11:36:01

    思路 逐位判断每个奇数位是否要删除。每个数字删除后,对应的下标会发生改变,所以要通过取模一个变量 \(m\),\(m\) 的值在 0 和 1 之间变换。最后通过判断每个数字是否被删除来输出。 代码 #include<bits/stdc++.h> using namespace std; string s; bool f[200010]; int n,ans,m; int

  • CodeForces 813C The Tag Game2022-02-02 16:34:34

    题目链接:CodeForces 813C The Tag Game 题目大意: 题解: \(A\)一直沿\(A\)、\(B\)之间的最短路径走,\(B\)则往深度更大的结点走。 所以求出刚开始\(A\)、\(B\)之间的路径,找到此路径上\(B\)能在\(A\)之前到达且深度最大的结点\(C\),则\(ans =( 1到C的距离+C与其子树中深度最大的叶子结

  • AtCoder ABC202E Count Descendants2022-02-02 16:01:38

    题目链接:AtCoder ABC202E Count Descendants 题目大意: 给定一棵树,每次询问给出一个点\(u\)和深度\(d\),询问深度为\(d\)的点中有多少个点祖先包含\(u\)。 题解: 用\(dfs\)序,记录每一个点进入的时间\(in_i\)和出来的时间\(out_i\),则对于一个结点\(u\),其子树中某一结点\(v\)满足\(in_u

  • D. Martial Arts Tournament2022-01-17 19:01:54

    传送门 题意: 给你n个数,构造一组x,y,将这n个数划分为小于等于x,大于等于y以及大于x小于y的数三个区间,我们可以往每个区间添加数,使得每个区间的数为2的幂次,输出添加数的最小个数。 思路: 设num[x]为1-x中数的个数,我们枚举小于等于x的区间需要添加的2的幂次和大于x且小于y的2的幂次

  • codeforce round 753 div3 题解报告2021-11-17 04:31:07

    codeforce round 753 div3 题解报告 在vp比赛的时候只过了5题,后三题跨度还是挺大,不过也有前五题写的慢的愿意在里面,没有太多时间看后面的题。 A. Linear Keyboard 给你一个键盘的顺序,让你模拟打某个单词需要的步数,稍微对应建立映射即可 #include<bits/stdc++.h> using namespace s

  • C. The Tag Game(Educational Codeforces Round 22)2021-09-28 14:02:20

    链接:link. 题意:给出一棵树,A初始在1,B初始在x,A B轮流移动,B先移动,每次移动可选择不动或移动到相邻节点,A想最小化移动次数,B想最大化移动次数,求问A追上B 的移动次数. 思路:分别计算AB到每个节点的距离d1,d2,如果d2<d1该点可到达。dfs int n,x; struct node { int to,

  • 【排列】 Jury Meeting2021-09-10 21:59:42

    C. Jury Meeting 容易搞错数字含义。 1.最大的个数大于1:全部排列就是答案 2.(1不成立,即只有一个最大的)不存在比最大的小1的:0 3.(1,2不成立):排列组合,其实正面做也不难。 #include<iostream> #include<cstdio> #include<string> #include<cmath> #include<cstring> #include<algori

  • CodeForces 600B Queries about less or equal elements2021-09-02 21:03:04

    题目链接:CodeForces 600B Queries about less or equal elements 题目大意: 给定两个整数数组\(a\)和\(b\)。对于第二个数组的每个元素\(b_j\),您应该找到数组\(a\)中小于或等于值\(b_j\)的元素数。 题解: 排序后二分查找,用\(upper\_bound\)会方便很多。 #include <algorithm> #inclu

  • cf609e Minimum spanning tree for each edge2021-08-04 13:35:39

    cf609e Minimum spanning tree for each edge 有一个 \(n\) 个顶点,\(m\) 条边的带权无向图 . 对于图上的每一条边,求含有边 \((u,v)\) 的最小生成树大小 . \(1\leq n\leq 2\cdot 10^5,n-1\leq m\leq 2\cdot 10^5,1\leq u_i,v_i\leq n,u_i\not=v_i,1\leq w_i\leq 10^9\) 这是我们

  • 跳舞2021-07-04 21:32:27

    简单题。 看代码。 #include<bits/stdc++.h> using namespace std; #define N 200010 #define M 200010 int h[M],nxt[M],v[M],w[M],s,t,dep[M],ec,n,k; char st[1000][1000]; void add(int a,int b,int c){v[++ec]=b;w[ec]=c;nxt[ec]=h[a];h[a]=ec;} void adj(int a,int b,int

  • P3879 [TJOI2010]阅读理解2020-10-14 07:32:33

    Link 题目描述 英语老师留了 \(N\) 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过。 tire树的水题了。 我们先把每个单词依次存入一个 \(tire\) 树中。 然后对 \(tire\) 中每个节点都开个 \(vector\)

  • 比赛T1T22020-04-19 12:09:36

    T1 不难看出,就是给你一串数和初始数,初始数对于每一个数异或两次 最精彩的就是,异或同一个数两次,还是同一个数(惊不惊喜) 其实二进制也就1和0 所以每一位的情况也就四种 0^1^1=0 1^0^0=1 0^0^0=0 1^1^1=1 所以最终的答案输出初始数即可 #include<bits/stdc++.h> using namespace std;

  • 并查集2020-03-10 15:02:48

    1 #include<stdio.h> 2 int n,m,parent[200010],b[200010]; 3 4 //初始化函数 5 void chushihua() 6 { 7 for (int i = 0; i <= n; i++) 8 parent[i] = i; 9 } 10 11 //找根函数 12 int root_search(int t) 13 { 14 while(parent[t] != t) 15

  • 【HDU5840】This world need more Zhu2020-02-02 22:58:16

    题目描述 As we all know, Zhu is the most powerful man. He has the infinite power to protest the world. We need more men like Zhu! In Duoladuo, this place is like a tree. There are \(n\) vertices and \(n−1\) edges. And the root is 1. Each vertex can reache

  • [BZOJ2908]nand2019-10-06 12:03:42

    nand 题目大意 定义A nand B=not(A and B)(运算操作限制了数位位数为K)比如2 nand 3,K=3,则2 nand 3=not (2 and 3)=not 2=5。 给出一棵树,树上每个点都有点权,定义树上从a到b的费用为0与路径上的点的权值顺次nand的结果,例如:从2号点到5号点顺次经过2->3->5,权值分别为5、7、2,K=3,那么最终

  • [HDU2460]Network2019-10-05 13:52:25

    Network 题目大意 给你一个无向连通图,再给出一些添边操作,询问每次添边操作之后图中还剩下多少桥。 Solution 其实很水,缩个点,然后此时图是一棵树,其中每条边都是割边,然后每次加边就把左右端点路径上的所有边都变成非割边即可 树剖维护一下。放这个题的原因就是码量大了一点。 upd:有

  • BZOJ 1303 中位数图 题解2019-09-11 17:56:37

    题面 因为所求的是中位数,所以考虑改变原序列。把大于 b 的数全部变为 1,小于 b 的数变为 −1,等于 b 则为 0。问题就变为求存在几个包含 b的区间和为 0 。 根据乘法原理,我们枚举每一个l[i],求出l[i]*r[-i]后累加到ans上;   因为数组的下标不能是负数,所以把所有下标都加上100000; #in

  • codeforces 1187 B Letters Shop2019-08-15 10:54:52

    codeforces 1187 B Letters Shop 题意 有一个长度为n(0 < n <= \(2 * 10^5\))的字符串,有m(0 < m <= \(5 * 10^4\))次询问,每次询问输入一个字符串t(0 < |t| <= \(2 * 10^5\)),从n串里面取出所有a串的元素,需要取到第几个元素?(\(\quad\sum_{i=1}^{m}|t_i|≤2⋅10^5\)) 题解 直接暴力

  • 最小生成树(kruskal算法)2019-07-22 10:06:56

    转载自:https://blog.csdn.net/qq_41754350/article/details/81460643 每次找权值最小的边直至找到全部点,无环路 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,m,tot=0,k=0;//n端点总数,m边数,tot记录最终答案,k已经连接了多少边 int fa

  • 作业之考试n2019-07-13 17:35:24

    首先,我们知道每个人只能告诉一个人(一个出度),却能被几个人告知(入度不定)。 结论1:入度为0的人不可能从他人那里知道自己生日; 结论2:假如入度为1的人的那个“1”入度为0,那么他也不可能从他人那里知道自己生日。 所以我们先把所有入度为0的人排除,以及让被排除的人的告诉的人的入度

  • 作业之考试n2019-07-13 16:04:52

    可以推出第z个点的联合权值为与这个点相连的点的权值和的平方减去这些点的权值的平方和(网上有);最大联合权值格外设变量保存。由于N过大,所以用vector数组。 #include<bits/stdc++.h> using namespace std; long long l,m,n; vector <long long> ha[200010]; long long kao[

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

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

ICode9版权所有