自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 11.29 训练日记

这周学习的知识点比较的多,但是真要是说我学会了多少,好像也没有太多完全弄明白的。这周做的题确实也是不少,不过好多都没有完全的弄明白。数论要是想学好确实是非常的难。这周学的内容有:矩阵乘法、组合计数、高斯消元、容斥原理、博弈论。矩阵快速幂据我所知矩阵乘法最常见的应用就是对于dp的优化了。当dp的n非常大的时候,我们就可以通过矩阵优化将O(n)的时间复杂度降到O(logn)。我感觉它和普通的快速幂一样,是作为一个工具,优化某个过程。矩阵快速幂其实不难,主要的难点还是在于dp。组合计数这块的内容主要是高中

2020-11-29 23:18:12 225

原创 11.22训练日记

这周我学习了数论的相关内容。数论相比于图论来说,知识点更加的琐碎了,并且对于数学的相关要求比较高(对我这种数学菜的人很不友好)。这周学习的主要知识点有:素数、约数、快速幂、欧拉函数、同余、矩阵乘法以及高斯消元。素数求素数的方法有很多种:试除法求素数(比较简单,不多说了)、埃氏筛法、线性筛法(埃筛的优化版)、min25筛(太难而且不常用,也不多说了)。...

2020-11-22 23:27:02 277

原创 闇の連鎖(最近公共祖先+树上的差分)

题目描述传说中的暗之连锁被人们称为 Dark。Dark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现 Dark 呈现无向图的结构,图中有 N 个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark 有 N – 1 条主要边,并且 Dark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark 还有 M 条附加边。你的任务是把 Dark 斩为不连通的两部分。一开始 Dark 的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主

2020-11-21 14:04:38 371

原创 次小生成树(倍增+lca)

题目描述给定一张 N 个点 M 条边的无向图,求无向图的严格次小生成树。设最小生成树的边权之和为sum,严格次小生成树就是指边权之和大于sum的生成树中最小的一个。输入格式第一行包含两个整数N和M。接下来M行,每行包含三个整数x,y,z,表示点x和点y之前存在一条边,边的权值为z。输出格式包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证必定存在严格次小生成树)数据范围N≤105,M≤3∗105输入样例5 61 2 11 3 22 4 33 5 43

2020-11-21 10:37:34 682

原创 距离(最近公共祖先:Tarjan算法)

题目描述给出 n 个点的一棵树,多次询问两点之间的最短距离。注意:边是无向的。所有节点的编号是 1,2,…,n。输入格式第一行为两个整数 n 和 m。n 表示点数,m 表示询问次数;下来 n−1 行,每行三个整数 x,y,k,表示点 x 和点 y 之间存在一条边长度为 k;再接下来 m 行,每行两个整数 x,y,表示询问点 x 到点 y 的最短距离。树中结点编号从 1 到 n。输出格式共 m 行,对于每次询问,输出一行询问结果。数据范围2≤n≤104,1≤m≤2×1

2020-11-20 23:02:39 504

原创 祖孙询问(最近公共祖先:倍增)

题目描述给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。输入格式输入第一行包括一个整数 表示节点个数;接下来 n 行每行一对整数 a 和 b,表示 a 和 b 之间有一条无向边。如果 b 是 −1,那么 a 就是树的根;第 n+2 行是一个整数 m 表示询问个数.接下来 m 行,每行两个不同的正整数 x 和 y,表示一个询问。输出格式对于每一个询问,若 x 是 y

2020-11-20 21:54:49 709 1

原创 雇佣收银员(差分约束)

题目描述一家超市要每天24小时营业,为了满足营业需求,需要雇佣一大批收银员。已知不同时间段需要的收银员数量不同,为了能够雇佣尽可能少的人员,从而减少成本,这家超市的经理请你来帮忙出谋划策。经理为你提供了一个各个时间段收银员最小需求数量的清单R(0),R(1),R(2),…,R(23)。R(0)表示午夜00:00到凌晨01:00的最小需求数量,R(1)表示凌晨01:00到凌晨02:00的最小需求数量,以此类推。一共有N个合格的申请人申请岗位,第 i 个申请人可以从ti时刻开始连续工作8小时。收银

2020-11-20 15:14:57 407

原创 排队布局(差分约束)

题目描述当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。农夫约翰有 N 头奶牛,编号从 1 到 N,沿一条直线站着等候喂食。奶牛排在队伍中的顺序和它们的编号是相同的。因为奶牛相当苗条,所以可能有两头或者更多奶牛站在同一位置上。如果我们想象奶牛是站在一条数轴上的话,允许有两头或更多奶牛拥有相同的横坐标。一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数 L.另一方面,一些奶牛相互间非常反感,它们希望两者间的距离不小于一个给定的数 D。给出 ML 条关于两头奶牛间有好感的描述,

2020-11-20 11:01:59 464

原创 区间(差分约束)

题目描述给定 n 个区间 [ai,bi]和 n 个整数 ci。你需要构造一个整数集合 Z,使得∀i∈[1,n],Z 中满足ai≤x≤bi的整数 x 不少于 ci 个。求这样的整数集合 Z 最少包含多少个数。输入格式第一行包含整数 n。接下来n行,每行包含三个整数ai,bi,ci。输出格式输出一个整数表示结果。数据范围1≤n≤50000,0≤ai,bi≤50000,1≤ci≤bi−ai+1输入样例53 7 38 10 36 8 11 3 110 11 1

2020-11-19 08:33:00 630

原创 银河(差分约束)

题目描述银河中的恒星浩如烟海,但是我们只关注那些最亮的恒星。我们用一个正整数来表示恒星的亮度,数值越大则恒星就越亮,恒星的亮度最暗是 1。现在对于 N 颗我们关注的恒星,有 M 对亮度之间的相对关系已经判明。你的任务就是求出这 N 颗恒星的亮度值总和至少有多大。输入格式第一行给出两个整数 N 和 M。之后 M 行,每行三个整数 T, A, B,表示一对恒星(A, B)之间的亮度关系。恒星的编号从 1 开始。如果 T = 1,说明 A 和 B 亮度相等。如果 T = 2,说明 A 的亮

2020-11-18 17:42:42 502

原创 单词环(01分数规划)

题目描述我们有 n 个字符串,每个字符串都是由 a∼z 的小写英文字母组成的。如果字符串 A 的结尾两个字符刚好与字符串 B 的开头两个字符相匹配,那么我们称 A 与 B 能够相连(注意:A 能与 B 相连不代表 B 能与 A 相连)。我们希望从给定的字符串中找出一些,使得它们首尾相连形成一个环串(一个串首尾相连也算),我们想要使这个环串的平均长度最大。如下例:ababcbckjacacaahoynaab第一个串能与第二个串相连,第二个串能与第三个串相连,第三个串能与第一个串相连,我们按照

2020-11-18 16:55:47 281

原创 11.15训练日记

这周我学习了图论剩下的几个知识点:二分图、拓扑排序以及欧拉回路问题。

2020-11-16 22:38:11 226

原创 观光奶牛(01分数规划)

题目描述给定一张L个点、P条边的有向图,每个点都有一个权值f[i],每条边都有一个权值t[i]。求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。输出这个最大值。注意:数据保证至少存在一个环。输入格式第一行包含两个整数L和P。接下来L行每行一个整数,表示f[i]。再接下来P行,每行三个整数a,b,t[i],表示点a和b之间存在一条边,边的权值为t[i]。输出格式输出一个数表示结果,保留两位小数。数据范围2≤L≤1000,2≤P≤5000,1≤f

2020-11-15 23:16:26 196

原创 秘密的牛奶运输(次小生成树)

题目描述农夫约翰要把他的牛奶运输到各个销售点。运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点。运输的总距离越小,运输的成本也就越低。低成本的运输是农夫约翰所希望的。不过,他并不想让他的竞争对手知道他具体的运输方案,所以他希望采用费用第二小的运输方案而不是最小的。现在请你帮忙找到该运输方案。注意::如果两个方案至少有一条边不同,则我们认为是不同方案;费用第二小的方案在数值上一定要严格小于费用最小的方案;答案保证一定有解;输入格式第一行是两个整数 N,

2020-11-14 23:27:40 829

原创 道路与航线(最短路+缩点+拓扑排序)

题目描述农夫约翰正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到T个城镇,编号为1~T。这些城镇之间通过R条道路 (编号为1到R) 和P条航线 (编号为1到P) 连接。每条道路 i 或者航线 i 连接城镇Ai到Bi,花费为Ci。对于道路,0≤Ci≤10,000;然而航线的花费很神奇,花费Ci可能是负数(−10,000≤Ci≤10,000)。道路是双向的,可以从Ai到Bi,也可以从Bi到Ai,花费都是Ci。然而航线与之不同,只可以从Ai到Bi。事实上,由于最近恐怖主义太嚣张,为

2020-11-14 10:07:48 402

原创 走廊泼水节

题目描述给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意: 树中的所有边权均为整数,且新加的所有边权也必须为整数。输入格式第一行包含整数t,表示共有t组测试数据。对于每组测试数据,第一行包含整数N。接下来N-1行,每行三个整数X,Y,Z,表示X节点与Y节点之间存在一条边,长度为Z。输出格式每组数据输出一个整数,表示权值总和最小值。每个结果占一行。数据范围1≤N≤60001≤Z≤10

2020-11-13 23:28:48 185

原创 观光之旅(Floyd求最小环)

题目描述给定一张无向图,求图中一个至少包含3个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。你需要输出最小环的方案,若最小环不唯一,输出任意一个均可。输入格式第一行包含两个整数N和M,表示无向图有N个点,M条边。接下来M行,每行包含三个整数u,v,l,表示点u和点v之间有一条边,边长为l。输出格式输出占一行,包含最小环的所有节点(按顺序输出),如果不存在则输出’No solution.’。数据范围1≤N≤100,1≤M≤10000,

2020-11-13 17:08:22 292

原创 排序(Floyd求闭包)

题目描述给定 n 个变量和 m 个不等式。其中 n 小于等于26,变量分别用前 n 的大写英文字母表示。不等式之间具有传递性,即若 A>B 且 B>C ,则 A>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。输入格式输入包含多组测试数据。每组测试数据,第一行包含两个整数n和m。接下来m行,每行包含一个不等式,不等式全部为小

2020-11-12 23:00:05 355

原创 牛的旅行(Floyd算法求最短路)

题目描述农民John的农场里有很多牧区,有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径(注意,恰好一条)。一个牧场的直径就是牧场中最远的两个牧区的距离(本题中所提到的所有距离指的都是最短的距离)。考虑如下的两个牧场,每一个牧区都有自己的坐标:图 1 是有 5 个牧区的牧场,牧区用“*”表示,路径用直线表示。图 1 所示的牧场的直径大约是 12.07106, 最远的两个牧区是 A 和 E,它们之

2020-11-12 22:03:20 471

原创 观光(最短路求方案数2)

题目描述“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的行进路线有所限制,要么满足所选路线总路程为 S 到 F 的最小路程,要么满足所选路线总路程仅比最小路程多一个单位长度。如上图所示,如果S = 1,F = 5,则这里有

2020-11-12 15:25:15 341

原创 最短路计数(最短路求方案数)

题目描述给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1 到 N。问从顶点 1 开始,到其他每个点的最短路有几条。输入格式第一行包含 2 个正整数 N,M,为图的顶点数与边数。接下来 M 行,每行两个正整数 x,y,表示有一条顶点 x 连向顶点 y 的边,请注意可能有自环与重边。输出格式输出 N 行,每行一个非负整数,第 i 行输出从顶点 1 到顶点 i 有多少条不同的最短路,由于答案有可能会很大,你只需要输出对 100003 取模后的结果即可。如果无法到达顶点 i 则输

2020-11-11 23:17:31 2465

原创 最优贸易(最短路算法的扩展)

题目描述C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。当他得知“同一种商品在不同城市的价格可能会不同”这一信息之后,便决定在旅游的同时,利用商品在不

2020-11-11 16:51:14 330

原创 11.8训练日记

这周我学习了最小生成树、负环、差分约束、最近公共祖先 以及 有向/无向图的双连通分量问题。最小生成树:最小生成树问题一般都不是很难,我目前做到过的比较有难度且只考察最小生成树的题目就只有次小生成树问题(后面我会写题解的)了,不过最小生成树问题可能会与一些别的算法来进行结合考察。有关最小生成树的两个基本算法:prim算法和kruskal算法在上周都说过了,这里就不重复说了。负环:负环问题是用spfa算法求解的。负环一般也没有什么难题,大多数负环问题都是和其它算法进行结合考察的。我见过的有01分数规划问

2020-11-08 23:50:10 256

原创 最优乘车(建图)

题目描述H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, 这样换乘几次后到达S公园。现在用整数1,2,…N 给H城的所有的巴士站编号,约定这名旅客所在饭店的巴士站编号为1,

2020-11-04 21:10:51 333

原创 11.1 训练日记

这周我做了图论的相关习题,主要是单源最短路算法(spfa和dijkstra)、Floyd算法、最小生成树这三个方面的习题,这三个专题中,最难也是最常见的是单源最短路问题。单源最短路算法难点一般有 建图,对于最短路算法的扩展应用以及根据最短路算法的性质来对最短路算法进行改变已解决其它图论问题这三点。我们再来分别仔细分析一下这几个拓展的应用:建图:即如何将一个实际的问题抽象成一个图。这个问题一般有两个方面:难想和难写。例如:昂贵的聘礼,最优乘车 以及 拯救大兵瑞恩。(注:有很多题我都还没写题解,等以后把题

2020-11-02 22:10:40 290 1

空空如也

空空如也

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

TA关注的人

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