上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 更好的阅读体验 定义 割点:给定一无向连通图,对于其中一点 uuu,若从图中删掉 uuu 和所有与 uuu 相连的边后,原图分裂成成 222 个或以上不相连的子图,则称 uuu 为原图的割点(或割顶)。 割边:给定一无向连通图,对于其中一边 (u,v)(u,v)(u,v),若从图中删掉 (u,v)( 阅读全文
posted @ 2021-08-07 11:09 蒟蒻orz 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个 nnn 个点、mmm 条边的无向图,试求从图中删去一个点后,图中最多有多少个连通分量。 数据范围: n,m≤40000n,m≤40000n,m≤40000 解题思路 首先要明白这题不是要你找割点,而是求图中删去一个点后,图中最多有多少个连通分量。 图中删去一个点后,图中连通分量个 阅读全文
posted @ 2021-08-06 08:44 蒟蒻orz 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 好用的快读 快读 111 struct Fastio { template <typename T> inline Fastio operator>>(T &x) { x = 0; char c = getchar(); while (c < '0' || c > '9') c = getchar( 阅读全文
posted @ 2021-08-05 15:03 蒟蒻orz 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 给定一棵 nnn 个点的树,边具有边权。要求作以下操作: DIST:询问点 aaa 至点 bbb 路径上的边权之和。 KTH:询问点 aaa 至点 bbb 有向路径上的第 kkk 个点的编号。 有多组测试数据,每组数据以 DONE 结尾。 解题思路 前置知识:树上差分,树上倍增 阅读全文
posted @ 2021-08-05 13:41 蒟蒻orz 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 任务( tasktasktask ) 损坏的传送门 Description 没头脑是一家大公司的 CEOCEOCEO 。该公司由 NNN 人组成,编号为 111 到 NNN ,没头脑编号为 111 。每个员工(没头脑除外)都有一个老板,我们说这个员工是该老板的助手。每个老板都可以有多名助手。没头脑没 阅读全文
posted @ 2021-08-05 11:44 蒟蒻orz 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 洛谷 P7735P7735P7735 [ NOI2021NOI2021NOI2021 ] 轻重边 原题传送门 题目大意 有一棵 nnn 个结点的树,树上的每一条边可能是轻边或者重边。接下来你需要对树进行 mmm 次操作,在所有操作开始前,树上所有边都是轻边。操作有以下两种: 给定两个点 aaa 和 阅读全文
posted @ 2021-08-05 11:28 蒟蒻orz 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个 nnn 个点 mmm 条边的无向图,问最少删掉多少条边能使得编号小于等于 kkk 的点都不在环上。 解题思路 对于这种判断无向图有没有环的题,一般可以想到用并查集维护。 首先可以判断出,对于一条边 u→vu \to vu→v,若 u>ku>ku>k 且 v>kv>kv>k,则它肯 阅读全文
posted @ 2021-08-05 11:25 蒟蒻orz 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 数字游戏(number) 题目大意 不高兴找到了一个N行M列的矩阵。矩阵的第一行数字为 1,2,3,...,M1,2,3,...,M1,2,3,...,M,第二行数字为 M+1,M+2,...,2×MM+1,M+2,...,2 \times MM+1,M+2,...,2×M,第 NNN 行数字为 ( 阅读全文
posted @ 2021-08-05 09:27 蒟蒻orz 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 输入 mmm 个长度均为 nnn 的 DNA 序列,求一个 DNA 序列,该序列能满足到 mmm 个序列的总距离最小。 两个等长字符串的距离定义为字符不同的的位置的个数,例如,ACGTACGTACGT 和 GCGAGCGAGCGA 的距离为 222(第 111、第 444 位置 阅读全文
posted @ 2021-08-04 16:46 蒟蒻orz 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Going from u to v or from v to u (poj2762)Going \ from \ u \ to \ v \ or \ from \ v \ to \ u \ (poj2762)Going from u to v or from v to u (poj2762) 损坏的 阅读全文
posted @ 2021-08-03 15:58 蒟蒻orz 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 有 nnn 个布尔变量 x1∼xnx_1\sim x_nx1​∼xn​,另有 mmm 个需要满足的条件,每个条件的形式都是 「xix_ixi​ 为 true / false 或 xjx_jxj​ 为 true / false」。 比如 「x1x_1x1​ 为真或 x3x_3x3 阅读全文
posted @ 2021-08-03 09:37 蒟蒻orz 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 根据宪法,Byteland 民主共和国的公众和平委员会应该在国会中通过立法程序来创立。 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍。 此委员会必须满足下列条件: 每个党派都在委员会中恰有 111 个代表。 如果 222 个代表彼此厌恶,则他们不能都属于委员会。 阅读全文
posted @ 2021-08-02 21:48 蒟蒻orz 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 有 nnn 个王子和 nnn 个女孩,每个王子可能喜欢多个女孩。先给出一个初始的完备匹配,问每个王子可以选择哪些女孩,即无论王子选择这些女孩中的哪一个,使得剩下的王子仍能够选择喜欢的女孩。 解题思路 比较裸的 Tarjan。 建图: 连一条从王子到他喜欢的女孩的有向边。 连一条 阅读全文
posted @ 2021-08-02 21:30 蒟蒻orz 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 Tarjan 算法 1. 什么是 Tarjan Tarjan 算法是一种用于求解有向图的强连通分量的算法,时间复杂度为 O(n+m)O(n + m)O(n+m)。它可以求出每个强连通分量的大小、属于其的顶点和强连通分量的总数。 2. 认识 dfs 生成树 dfs 生成树处理强连通分量的一 阅读全文
posted @ 2021-08-02 15:30 蒟蒻orz 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 适合树剖新手做的题,代码简单,思路稍微有点难理解,便于新手提升水平。 题目大意 给定一棵树,请你给出一种剖分方案(即输出所有结点的重儿子,剖分方案其实就是指对重儿子的判定规则),使所有询问操作总共访问的轻重链总条数最小,由于可能有许多合法方案,请任意输出一种。 解题思路 前置知识: 倍增 阅读全文
posted @ 2021-07-31 22:19 蒟蒻orz 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 给出一个长度为 nnn 的序列 hhh,和每一个数的 valvalval ,请将 hhh 分成若干段,满足每段数字的 valvalval 之和都不超过 mmm,最小化每段的最大值之和。 解题思路 首先分析题意,得到动态转移方程: fi=min(fj−1+max(hj∼hi)) 阅读全文
posted @ 2021-07-28 22:48 蒟蒻orz 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 原题传送门 题目大意 给出一个长度为 nnn 的序列 hhh,请将 hhh 分成若干段,满足每段数字之和都不超过 mmm,最小化每段的最大值之和。 解题思路 首先分析题意,得到动态转移方程: fi=min(fj−1+max(hj∼hi)) (∑k=jihk≤m)f_i=min(f_{j-1}+max 阅读全文
posted @ 2021-07-28 22:47 蒟蒻orz 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个 dfs 序和一个 bfs 序,求所有满足这两个序的树的高的平均值( 保留三位小数 ),输入保证至少存在一棵树符合给定的两个序列。 解题思路 首先可以从 bfs 序入手,因为更具 bfs 序的性质,可以发现 bfs 序可以分成 xxx 个段,每一段中的节点都是在同一行中,而这棵树 阅读全文
posted @ 2021-07-26 11:19 蒟蒻orz 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个序列 aaa , 选择排列中的任意一段区间 [l,r][l,r][l,r],求将序列 aaa 从小到大排序最少需要排序多少个数。 解题思路 每次输入一个数 xxx ,将其与当前遍历的编号 iii 求最大和最小值。 再用一个差分数组,将区间 [mmin,mmax][mmin,mmax 阅读全文
posted @ 2021-07-12 16:20 蒟蒻orz 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 解题思路 简单的数论题 简单的构造一下就行 AC CODE #include <bits/stdc++.h> long long INF = 1e18, mod; int main() { scanf("%lld", &mod); printf("%lld %lld\n", mod - INF % 阅读全文
posted @ 2021-07-12 15:44 蒟蒻orz 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 解题思路 素数 指只有 111 和它本身 222 个因数的自然数。 可使用 欧拉筛法 。 复杂度 O(n)O(n)O(n) 。 另外 111 不是素数, 要特判一下。 AC CODE #include<bits/stdc++.h> using namespace std; bool isPrime[ 阅读全文
posted @ 2021-07-12 13:43 蒟蒻orz 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意 如题所述,找第一个只出现一次的字符,用一个桶记录出现次数就能完成了。 解题思路 用一个桶记录出现次数。 顺序遍历,如果一个字母的出现次数为 111,就直接输出。 AC CODE #include<bits/stdc++.h> using namespace std; string s; i 阅读全文
posted @ 2021-07-12 08:47 蒟蒻orz 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 本题传送门 题目大意 给出一棵树,要求你为树上的结点标上权值,权值可以是任意的正整数。 唯一的限制条件是相临的两个结点不能标上相同的权值,要求一种方案,使得整棵树的总价值最小。 解题思路 本题相当于一个染色问题。 本蒟蒻开始以为是 121212 染色。(危 其实可以有一组 Hack 数据。 数据1 阅读全文
posted @ 2021-07-06 18:03 蒟蒻orz 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 本题传送门 题目大意 给出一棵树,要求你为树上的结点标上权值,权值可以是任意的正整数。 唯一的限制条件是相临的两个结点不能标上相同的权值,要求一种方案,使得整棵树的总价值最小。 解题思路 本题相当于一个染色问题。 本蒟蒻开始以为是 121212 染色。(危 其实可以有一组 Hack 数据。 数据1 阅读全文
posted @ 2021-07-06 16:40 蒟蒻orz 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 1. vectorvectorvector: 1.1 vectorvectorvector 说明 vectorvectorvector 是向量类型,可以容纳许多类型的数据,因此也被称为容器 (可以理解为动态数组,是封装好了的类) 进行 vectorvectorvector 操作前应添加头文件 #in 阅读全文
posted @ 2021-07-02 20:35 蒟蒻orz 阅读(4) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页