自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 洛谷P1219 [USACO1.5]八皇后 Checker Challenge(dfs,减枝

开O(2)优化后擦边边AC。。真是惊险刺激呢搜索过程中,如果在两条斜边上有棋子,返回。如果搜到底了,输出每一个棋子的位置,方案数加一并返回。否则,对下一层的每一个格子,如果在该列没有被搜过,标记,搜,还原。 for(a=1;a<=n;a++){ if(k[a]==0) { k[a]=1; vis[x + 1][a] = 1; dfs(x + 1, a); vis[x + 1][.

2020-07-31 18:47:30 127

原创 洛谷 P1983 车站分级(图论,dfs

洛谷 P1983 车站分级(图论,dfs本蒟蒻认为这道题的难点在于:如何根据题意得到给出的节点之间的大小关系。这样就可以建一个有向无环图,其中最长路的长度就是最小级。dalao们拓扑排序通过“简单的递推”得到每个车站的等级。。俺不会。。wuwuwu~~~洛谷 P1983 车站分级题目描述一条单向的铁路线上,依次有编号为 1,2,…,n的 n个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站

2020-07-30 18:45:00 203

原创 洛谷P1347 排序(图论,拓扑排序

洛谷P1347 排序(图论,拓扑排序蒟蒻觉得这题巨难!!!暴风哭泣.jpgwu~~~~在这题之前先看一下什么是拓扑排序:以下引自dalao的博客:在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。一直做改操作,直到所有的节点都被分离出来。如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。以下代码时间复杂度O(V+E)。

2020-07-29 17:29:22 342

原创 洛谷 P2853 [USACO06DEC]Cow Picnic S(dfs+减枝

洛谷 P2853 [USACO06DEC]Cow Picnic S(dfs+减枝题目链接题目描述The cows are having a picnic! Each of Farmer John’s K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1…N. The pastures are connected by M (1 ≤ M ≤ 10,000) one-way

2020-07-25 23:03:36 253

原创 洛谷 P1127 词链(dfs搜索,map选起点,减枝

洛谷 P1127 词链(dfs搜索,map选起点,减枝题目链接题目描述:如果单词X的末字母与单词Y的首字母相同,则X与Y可以相连成X.Y。(注意:X、Y之间是英文的句号“.”)。例如,单词dog与单词gopher,则dog与gopher可以相连成dog.gopher。另外还有一些例子:dog.gophergopher.ratrat.tigeraloha.alohaarachnid.dog连接成的词可以与其他单词相连,组成更长的词链,例如:aloha.arachnid.dog.gophe

2020-07-25 22:55:40 275

原创 洛谷 P4017 最大食物链计数(图论,dfs,记忆性搜索

洛谷 P4017 最大食物链计数(图论,dfs,记忆性搜索原题戳这题目背景你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。题目描述给你一个食物网,你要求出这个食物网中最大食物链的数量。(这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。)Delia 非常急,所以你只有 1 秒的时间。由于这个结果可能过大,

2020-07-22 18:17:39 400

原创 洛谷 P5318 【深基18.例3】查找文献(dfs bfs 板子题,同时用了unordered_map可以hash查找

题目描述原题戳这 冲冲冲小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有 n(n≤10^5) 篇文章(编号为 1 到 n)以及 m(m≤10^6) 条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文章。这边是

2020-07-22 11:24:49 312

原创 洛谷 P3916 图的遍历(vector存图,反向建边,dfs

洛谷 P3916 图的遍历(vector存图,反向建边,dfs传送门戳这儿题目描述给出N个点,MMM条边的有向图,对于每个点v,求A(v)表示从点v出发,能到达的编号最大的点。输入格式第1 行,2 个整数N,M。接下来M行,每行2个整数Ui,Vi,表示边(Ui,Vi)。点用1,2,⋯ ,N编号。输出格式N 个整数A(1),A(2),⋯ ,A(N)。输入输出样例输入 #14 31 22 44 3输出 #14 4 3 4说明/提示• 对于60% 的数据,1≤N.M≤10^3;

2020-07-22 11:23:20 395

原创 P1955 [NOI2015]程序自动分析(并查集+离散化

P1955 [NOI2015]程序自动分析(并查集+离散化题目描述传送门在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设 x1,x2,x3,⋯ 代表程序中出现的变量,给定 n 个形如 xi=xj或 xi≠xj 的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x4≠x1​,这些约束条件显然是不可能同时被满足的,因此这个问题应

2020-07-18 15:42:23 148

原创 P1621 集合(并查集+素数

P1621 集合(并查集+素数传送门题目描述Caima 给你了所有 [a,b] 范围内的整数。一开始每个整数都属于各自的集合。每次你需要选择两个属于不同集合的整数,如果这两个整数拥有大于等于 p 的公共质因数,那么把它们所在的集合合并。重复如上操作,直到没有可以合并的集合为止。现在 Caima 想知道,最后有多少个集合。输入格式一行,共三个整数 a,b,pp,用空格隔开。输出格式一个数,表示最终集合的个数。输入输出样例输入 #110 20 3输出 #17说明/提示样例 1 解

2020-07-17 21:05:56 388

原创 P1525 关押罪犯(并查集+贪心

题目描述传送门S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1−N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 S 城 Z 市长那里。公务繁忙的 Z 市长只

2020-07-16 21:29:02 183

原创 P5266 【深基17.例6】学籍管理(set+map

P5266 【深基17.例6】学籍管理(set+map题目描述传送门您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 100000条):插入与修改,格式1 NAME SCORE:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 SCORE(0<SCORE<10000) 的学生。如果已经有同名的学生则更新这名学生的成绩为 SCORE。如果成功插入或者修改则输出OK。查询,格式2 NAME:在系统中查询姓

2020-07-15 16:52:57 480

原创 洛谷 P1551 亲戚 (并查集基础模板题

洛谷 P1551 亲戚 (并查集模板题题目背景传送门若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入格式第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。以下m行:每行两个数Mi,Mj,1&

2020-07-14 11:52:27 1549

原创 洛谷 P3884 [JLOI2009]二叉树问题(求二叉树的深度,宽度,最近祖先节点以及LCA算法

P3884 [JLOI2009]二叉树问题(求二叉树的深度,宽度,最近父节点以及LCA算法题目传送门题目描述如下图所示的一棵二叉树的深度、宽度及结点间距离分别为:深度:4 宽度:4(同一层最多结点个数)结点间距离: ⑧→⑥为8 (3×2+2=8)⑥→⑦为3 (1×2+1=3)注:结点间距离的定义:由结点向根方向(上行方向)时的边数×2,与由根向叶结点方向(下行方向)时的边数之和。输入格式输入文件第一行为一个整数n(1≤n≤100),表示二叉树结点个数。接下来的n-1行,表示从结点x到结点

2020-07-13 17:11:35 293

原创 P1364 医院设置(算法Floyd+树的重心转移

P1364 医院设置(算法Floyd+树的重心转移题目传送门题目描述设有一棵二叉树,如图:其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为 111。如上图中,若医院建在1 处,则距离和 =4+12+2×20+2×40=136;若医院建在 333 处,则距离和 =4×2+13+20+40=81。输入格式第一行一个整数 n,表示树的结点数。接下来的 n 行每行描述了一个结点的状况,包含三个

2020-07-11 23:05:43 402

原创 P5076 【深基16.例7】普通二叉树(简化版)(BST、multiset

P5076 【深基16.例7】普通二叉树(简化版)(BST、multiset题目描述您需要写一种数据结构,来维护一些数( 都是 10^9以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数 qq不超过 10^4:查询 x 数的排名(排名定义为比当前数小的数的个数 +1。若有多个相同的数,因输出最小的排名)。查询排名为 x 的数。求 x 的前驱(前驱定义为小于 x,且最大的数)。若未找到则输出 −2147483647。求 x 的后继(后继定义为大于 x,且最小的数)。若未找到则输

2020-07-11 18:54:13 342

原创 P1827 [USACO3.4]美国血统 American Heritage (数据结构之树的前序中序和后序遍历

C       / \       /  \       B  G      / \   /     A D H       / \       E F

2020-07-11 17:31:51 370

原创 洛谷 P2234 [HNOI2002]营业额统计 (set)+set基础知识

洛谷 P2234 [HNOI2002]营业额统计 (set)+set基础知识题目传送门题目描述Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值

2020-07-10 22:17:40 302

原创 P4387 【深基15.习9】验证栈序列 (stack

P4387 【深基15.习9】验证栈序列 (stack实现题目传送门题目描述给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据。输入格式第一行一个整数 q,询问次数。接下来 q 个询问,对于每个询问:第一行一个整数 n 表示序列长度;第二行 n 个整数表示入栈序列;第二行 n 个整数表示出栈序列;输出格式Yes

2020-07-10 20:45:35 407

原创 P2058 海港 (queue+vector

题目描述题目传送门快乐的水题 不是小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘 客数ki,以及每名乘客的国籍 xi,1,xi,2,…,xi,k​。小K统计了nnn艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时(24小时=86400秒)内所有乘船到达的乘客来自多少个不同的国家。形式化地讲,

2020-07-09 21:00:31 267

原创 洛谷 P1160 队列安排(双向链表

题目描述一个学校里老师要将班上N个同学排成一列,同学被编号为1∼N,他采取如下的方法:先将1号同学安排进队列,这时队列中只有他一个人;2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边;从队列中去掉M(M<N)个同学,其他同学位置顺序不变。在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的编号。输入格式第1行为一个正整数N,表示了有N个同学。第2−N行,第iii行包含两个整数

2020-07-09 15:48:17 274

原创 洛谷 P1449 后缀表达式

P1449 后缀表达式题目链接题目描述所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。输入格式输入:后缀表达式输出格式输出:表达式的值输入输出样例输入 #13.5.2.-*7.+@输出 #116输入 #110.28.30./*7.-@输出 #1

2020-07-08 18:20:19 177

原创 P3613 【深基15.例2】寄包柜(两种方法

P3613 【深基15.例2】寄包柜题目描述题目链接超市里有 n≤10^5 个寄包柜。每个寄包柜格子数量不一,第 i 个寄包柜有 ai≤10^5 个格子,不过我们并不知道各个 ai的值。对于每个寄包柜,格子编号从 1 开始,一直到 ai。现在有 q≤10^5 次操作:1 i j k:在第 i 个柜子的第 j个格子存入物品0≤k≤10^9。当 k=0时说明清空该格子。2 i j:查询第 i 个柜子的第 j 个格子中的物品是什么,保证查询的柜子有存过东西。已知超市里共计不会超过 10^7个寄包格子

2020-07-08 16:13:14 1288 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除