NOIP算法 数据结构合集
文章平均质量分 52
收录一些常用实战算法和数据结构
Codee Xing
这个作者很懒,什么都没留下…
展开
-
tarjan应用(受欢迎的牛 G 洛谷)
题目描述每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果 AA 喜欢 BB,BB 喜欢 CC,那么 AA 也喜欢 CC。牛栏里共有 NN 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以当明星。输入格式第一行:两个用空格分开的整数:NN 和 MM。接下来 MM 行:每行两个用空格分开的整数:AA 和 BB,表示 AA 喜欢 BB。输出格式一行单独一个整数,表示明星奶牛的数量。输入原创 2020-06-14 14:44:05 · 122 阅读 · 0 评论 -
tarjan求割点应用 例题 矿场搭建
题意:题目描述煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。输入格式输入文件有若干组数据,每组数据的第一行是一个正整数 N(N<=500),表示工地的隧道数,接下来的 N 行每行是用空格隔开的两个整数 S 和 T,表示挖原创 2020-06-19 12:08:26 · 137 阅读 · 0 评论 -
寻找无向图中的“桥”(tarjan系列)
通过例题加以说明:题意:题目描述(洛谷1656炸铁路)A 国派出将军uim,对 B 国进行战略性措施,以解救涂炭的生灵。B 国有 nn 个城市,这些城市以铁路相连。任意两个城市都可以通过铁路直接或者间接到达。uim 发现有些铁路被毁坏之后,某两个城市无法互相通过铁路到达。这样的铁路就被称为 key road。uim 为了尽快使该国的物流系统瘫痪,希望炸毁铁路,以达到存在某两个城市无法互相通过铁路到达的效果。然而,只有一发炮弹(A 国国会不给钱了)。所以,他能轰炸哪一条铁路呢?输入格式第一行原创 2020-06-25 09:55:10 · 835 阅读 · 0 评论 -
tarjan求无向图割点
给出一个 nn 个点,mm 条边的无向图,求图的割点。输入格式第一行输入两个正整数 n,mn,m。下面 mm 行每行输入两个正整数 x,yx,y 表示 xx 到 yy 有一条边。输出格式第一行输出割点个数。第二行按照节点编号从小到大输出节点,用空格隔开。#include <iostream>#include<cstdio>#include<stack>using namespace std;#define N 100005#define M 5原创 2020-06-16 23:55:01 · 226 阅读 · 0 评论 -
kmp算法
转载一篇博客,感觉能讲明白:https://blog.csdn.net/starstar1992/article/details/54913261?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159331433119195264516823%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=1593314331191952645168转载 2020-06-28 11:53:56 · 84 阅读 · 0 评论 -
离散化 重叠矩形面积
题目描述桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。输入输出格式输入格式输入第一行为一个数N(1≤N≤100),表示矩形的数量。下面N行,每行四个整数,分别表示每个矩形的左下角和右上角的坐标,坐标范围为–108到108之间的整数。输出格式输出只有一行,一个整数,表示图形的面积。输入输出样例INPUT31 1 4 32 -1 3 24 0 5 2OUTPUT10题解:把横纵坐标轴排个序,然后缩点,这样就可以存下了。温馨提示:注意数据原创 2021-01-05 11:53:12 · 399 阅读 · 0 评论 -
hash链表 hahaha
模版题: 题目描述如题,给定 NN 个字符串(第 ii 个字符串长度为 M_iMi ,字符串内包含数字、大小写字母,大小写敏感),请求出 NN 个字符串中共有多少个不同的字符串。#友情提醒:如果真的想好好练习哈希的话,请自觉,否则请右转PJ试炼场:)输入格式第一行包含一个整数 NN,为字符串的个数。接下来 NN 行每行包含一个字符串,为所提供的字符串。输出格式输出包含一行,包含一个整数,为不同的字符串个数。输入输出样例输入 #1复制5abcaaaaabcabcc1234原创 2020-06-08 23:15:06 · 225 阅读 · 0 评论 -
洛谷P1144 最短路计数bellman bfs
题目描述给出一个NN个顶点MM条边的无向无权图,顶点编号为1-N1−N。问从顶点11开始,到其他每个点的最短路有几条。输入格式第一行包含22个正整数N,MN,M,为图的顶点数与边数。接下来MM行,每行22个正整数x,yx,y,表示有一条顶点xx连向顶点yy的边,请注意可能有自环与重边。输出格式共NN行,每行一个非负整数,第ii行输出从顶点11到顶点ii有多少条不同的最短路,由于答案有可能会很大,你只需要输出ans \bmod 100003ansmod100003后的结果即可。如果无法到达顶点ii原创 2020-05-30 23:28:04 · 265 阅读 · 0 评论 -
uva548 由树的中、后序遍历建树 python
题意:题意翻译输入一个二叉树的中序和后序遍历,请你输出一个叶子节点,该叶子节点到根的数值总和最小,且这个叶子是编号最小的那个。 输入: 您的程序将从输入文件中读取两行(直到文件结尾)。第一行是树的中序遍历值序列,第二行是树的后序遍历值序列。所有值将不同,大于零且小于或等于10000.二叉树的节1<=N<=10000。 输出: 对于每个树描述,您应该输出最小值路径的叶节点的值。存在多路径最小的情况下,您应该选择终端叶子节点上具有最小值的那条路径,且输出那个最小值的终端叶子。Translate原创 2020-05-27 10:27:49 · 211 阅读 · 0 评论 -
python实现优先队列
转载博文:https://blog.csdn.net/qq_34840129/article/details/80846838转载 2020-05-22 22:50:43 · 479 阅读 · 0 评论 -
UVa 1152 中途相遇法 和为0的四个值
题意:从a,b,c,d 四个数组中(每一个数组中有n个元素)各挑出一个,和为0,这样的组合有多少?解:显然,O(n4)的枚举太差劲了我们采用所谓**“中途相遇法”**,a,b数组一组,c,d数组一组,分别加和,得到part1和part2数组,排序。之后在part2中二分查找part1的每一个元素的相反数。注意:二分查找不要找到了就完事儿了,还有注意是否有多个相等的和,比如,part1中有1,part2中‘’1‘’这个数出现了两次,则匹配了两次。AC认证:代码如下:#include<原创 2020-05-18 22:20:12 · 317 阅读 · 0 评论 -
单调队列 滑动窗口 python代码
滑动窗口题意有一个长为 nn 的序列 aa,以及一个大小为 kk 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。例如:The array is [1,3,-1,-3,5,3,6,7][1,3,−1,−3,5,3,6,7], and k = 3k=3。输入格式输入一共有两行,第一行有两个正整数 n,kn,k。 第二行 nn 个整数,表示序列 aa输出格式输出共两行,第一行为每次窗口滑动的最小值第二行为每次窗口滑动的最大值输入输出样例输入8原创 2020-05-23 10:46:07 · 759 阅读 · 1 评论 -
数位dp
Problem Description不要62杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实原创 2021-01-06 16:40:02 · 89 阅读 · 0 评论 -
UVA 1626括号序列DP
题意:题目背景:我们将正规括号序列定义如下:空序列是正规括号序列。如果S是一个正规括号序列,那么(S)和[S]都是正规括号序列。如果A和B都是正规括号序列,那么AB是一个正规括号序列。例如,下面这些序列都是正规括号序列:(),[],(()),([]),()[],()[()]而下面这些不是正规括号序列:(,[,),)(,([)],([]题目描述:给你一些含有字符’(’,’)’,’[‘和’]'的括号序列。你需要找一个最短的正规括号序列,使给定括号序列作为一个子序列包含在其中。输入描述:原创 2020-05-28 22:46:48 · 281 阅读 · 0 评论