自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 [题解] T‘ill It‘s Over

前言线段树+网络最大流的建模题。题目链接题目大意最初时有 nnn 个 111 。给定 opopop 、 lll ,其中, lll 为操作次数上限。你有四个操作:若 op=1op=1op=1 ,则接下来两个整数 a,ba,ba,b ,表示可以将 aaa 变为 bbb 。若 op=2op=2op=2 ,则接下来三个整数 a1,a2,b1a_1,a_2,b_1a1​,a2​,b1​ ,表示可以将范围在 a1a_1a1​ 到 a2a_2a2​ 的任意的数变为 b1b_1b1​ 。若 op=3op=3

2021-04-02 22:36:47 212

转载 [题解] [NOI Online 2021 入门组 T3] 重力球

题目大意在一个 n×nn\times nn×n 的矩形中,题目会给出 mmm 个障碍物。有两个小球,你可以选定四个方向(上下左右)的其中一个,小球会朝着这四个方向一直滚动,直到遇到障碍物或是矩形的边缘停止。有 qqq 条形如 aaa bbb ccc ddd 的询问,代表两个小球的坐标 (a,b)(a,b)(a,b) 和 (c,d)(c,d)(c,d) ,求多少步,小球会重叠。题目链接思路55pts首先考虑暴力,先预处理出所有点滚动会滚动到哪里,写四个 dfsdfsdfs 完事。int L(int

2021-03-30 14:05:46 515

转载 CF995E Number Clicker (双向BFS)

原博客地址题目链接(洛谷)题目大意给定两个数 uuu , vvv 。有三种操作:u=u+1(modu=u+1(modu=u+1(mod p)p)p) 。u=u+p−1(modu=u+p−1(modu=u+p−1(mod p)p)p) 。u=up−2(modu=u^{p−2}(modu=up−2(mod p)p)p) 。思路BFS状态太多导致队列装不下。迭代加深TLETLETLE ,浪费了太多时间在每一层上,没有记忆化且状态很多。IDA*不行,无法得出乐观股价函数。双向BFS

2021-03-09 20:38:13 258

转载 树链剖分解析

原文链接前置知识线段树 andandand 树上基本操作定义几个在树链剖分很重要的概念。重儿子对于一个父节点,含有节点数最多的儿子称为重儿子。但重儿子只有一个,若满足条件的儿子有多个,则指定其中任意一个儿子为重儿子。轻儿子对于一个父节点,除了重儿子以为,其余的都称为轻儿子。重边由父节点与重儿子构成的边。轻边由父节点与轻儿子构成的边。重链由重边构成的链。轻链由轻边构成的链。链顶重链中深度最小的边为该重链的链顶。上述几个概念具体如下图:其中,黄色点为重儿子,蓝色点为轻儿

2021-03-06 22:53:07 171

转载 二分图最小点覆盖构造方案+König定理证明

原文链接前言博主很笨 ,如有纰漏,欢迎在评论区指出讨论。二分图的最大匹配使用 DinicDinicDinic 算法进行实现,时间复杂度为 O(ne)O(n\sqrt{e})O(ne​),其中, nnn为二分图中左部点的数量, eee 为二分图中的边数。若是匈牙利算法,时间复杂度为 O(nm)O(nm)O(nm) , mmm 为二分图中右部点的数量,不建议使用。文章中的例题链接。König定理定理内容:二分图最小点覆盖的点的数量等于二分图最大匹配的边的数量。构造方法 +++ 简单证明:首先求出

2021-02-23 17:36:18 571

转载 高级搜索算法之迭代加深

原文链接前言最开始搞 OIOIOI 的时候接触了搜索算法,后面基本上没有在练过了。若本文有误,请在讨论区指出。本文例题链接思想有时,答案不只一组,可能有多个,有些情况下需要找到有特殊情况的答案。如上图,需要找到的答案为 ans3ans3ans3 。首先考虑 DFSDFSDFS ,一般是一搜搜到底,很有可能找到 ans1ans1ans1 。若继续查找,很有可能花费太多时间。时间效率低。再来考虑 BFSBFSBFS ,它可以找到最近的答案 ans2ans2ans2 。若继续查找,很有可能存储状

2021-02-04 17:08:38 751

转载 斜率优化动态规划

前言

2021-02-02 17:25:46 207

转载 模拟退火解析

前言模拟退火是随机化搜索的一种,若随机化搜索写得好,则可以实现高效率和答案的正确率高(虽说不是 100%100\%100% )。很多时候在想不出解决办法,或方法的时间复杂度出现极大情况时,可使用模拟退火。所说是有较大几率正确,但还是有疏漏,那么可以多次试验来更加准确地求出这个值(还是要看运气)。思路模拟退火,顾名思义,是模拟工业上固体降温的过程。先将固体加温到一定的温度后,在按照适当的温度进行冷却,冷却到改物体想要达到的状态。温度降低地越慢,则该物体的质量约高,因为分子在因热加速运动中找到了更加合适的

2021-01-01 19:30:59 372

转载 [题解]看球泡妹子(二维费用背包)

原文链接前言题目链接题意有 nnn 只球队, mmm 场比赛,有实力值 aia_iai​ 和帅哥数 bib_ibi​ 。 mmm 场比赛的输入格式为 pip_ipi​ qiq_iqi​ 。有一男一女,男生认为精彩度为两比赛的实力乘积,女生认为是帅哥数之和。在女生认为的精彩度不少于 ccc 时,男生认为的精彩度最大为多少,且两人最多能看 kkk 场比赛。思路很简单,二维费用 DPDPDP 。设 dp[i][j][k]dp[i][j][k]dp[i][j][k] :枚举到第 iii 场比赛,共看了

2020-12-31 13:30:16 127

转载 [NOIP2013 提高组] 货车运输

原文链接前言使用算法:堆优化 primprimprim , LCALCALCA 。题意共有 nnn 个点,有 mmm 条边来连接这些点,每条边有权值。有 qqq 条类似于 uuu vvv 询问,求一条从 uuu 到 vvv 的路径使得路径上的最小权值最大,求这个最大值。若不存在从 uuu 到 vvv 的路径,则输出 −1-1−1 。思路先求该图的最大生成树,因为需要使得该路径上的最小值最大,而这条路径就是最小生成树的中两点的简单路径(最大生成树尽量取最大的边)。故而,查询时的路径确定了,那么现

2020-12-29 22:04:26 145

转载 [TJOI2013]攻击装置

前言没啥好说的,题目链接。题目简述nnn 行 nnn 列的矩阵中,若该点为 000 ,则可以安放装置 (x,y)(x,y)(x,y) ,若装置会攻击(x−1,y−2)(x-1,y-2)(x−1,y−2) , (x−2,y−1)(x-2,y-1)(x−2,y−1) , (x+1,y−2)(x+1,y-2)(x+1,y−2) , (x+2,y−1)(x+2,y-1)(x+2,y−1) , (x−1,y+2)(x-1,y+2)(x−1,y+2) , (x−2,y+1)(x-2,y+1)(x−2,y+1) ,

2020-12-22 20:33:35 237 1

转载 网络最大流 Dinic算法

前言看到网上好多都用的链式前向星,就我在用 vectorvectorvector ……定义先来介绍一些相关的定义。(个人理解)网络一个网络是一张带权的有向图 G=(V,E)G=(V,E)G=(V,E) ,其中每任意一条边 (u,v)(u,v)(u,v) 的权值称为这条边的容量 c(u,v)c(u,v)c(u,v) 。若这条边不存在,对应的容量就为 000 。其中包含两个特殊的点:源点 SSS 与汇点 TTT 。流量fff 为网络的流函数,每一条边都有对应的流量。对于合法的流函数包含以下性质。

2020-12-22 18:32:34 289

转载 扫描线及其应用

前言本文例题链接。定义在一个笛卡尔坐标系内,用一根无限长线在此坐标系内扫描,这根线就叫做扫描线,通俗易懂。通常情况下,在坐标系内确定一条线段需要两个端点。但在特殊情况下,如该直线平行于 yyy 轴,只需要三个信息来确定:端点的纵坐标,任意一点的横坐标。即是:struct Scan_Line { int CoordX, CoordY_Up, CoordY_Down; Scan_Line() {} Scan_Line(int X, int YD, int YU, int A) { Coo

2020-12-22 18:31:48 603

转载 网络中最小费用最大流

前言如果还没有学过最大流,戳这里。本文用到了优化的 SPFASPFASPFA , 简易的代码。一组简单的小样例:输入4 5 4 34 2 30 24 3 20 32 3 20 12 1 30 91 3 40 5输出50 280思路对于满足最大流合法的流函数可能有很多,但加上边的单位花费,则方案会减少很多。实质上是在 Edmond−KarpEdmond-KarpEdmond−Karp 算法上进行改进。Edmond−KarpEdmond-KarpEdmond−Karp 算法是

2020-12-22 18:30:36 320

转载 [题解] 丘比特的烦恼(费用流求二分图带权匹配)

前言文化课选手,最近没多少时间写题解,这题做了快两周了。若题解有误,欢迎指出。简述费用流。题目链接题目大意在平面直角坐标系内,有 nnn 个男性, nnn 个女性。将这些男女配对,每对男女若配对成功,将做出贡献,这些贡献会在输入中描述,若没有描述,则贡献为 111 。配对是有条件的,若在平面直角坐标系内的,将这对男女用线段连起来,若中间没有别的人(不分男女),且两点之间的距离小于一个定值,则可以配对,反之不能。求做的最大贡献。(注意,没有基友,不能百合,不能开后宫!!!)易错点其实是输入问题。

2020-12-22 18:28:42 230

原创 笔记(同余重要结论)

设M是给定的一个正整数,若满足b∣(a−b)b|(a-b)b∣(a−b),则称a与b对模m同余。记为a≡b(modm)a≡b(mod m)a≡b(modm)a≡b(m)a≡b(m)a≡b(m)a=b+km(k∈Z)a=b+km(k∈Z)a=b+km(k∈Z)证明:由a≡b(modm)a≡b(mod m)a≡b(modm)得到m∣(a−b)m|(a-b)m∣(a−b)a=m∗q1+ra=m*q1+ra=m∗q1+rb=m∗q2+rb=m*q2+rb=m∗q2+ra−b=m(q1−q2)a-b=m

2020-10-17 15:14:13 422 1

原创 简单数论总结(整除)

数论经典问题

2020-10-17 10:00:10 1297 11

原创 树的重心求解

首先我们先要了解什么是树的重心树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。如下图,当去掉点1后,树将分成两个连通块:(2,4,5)(2,4,5)(2,4,5),(3,6,7)(3,6,7)(3,6,7),则最大的连通块包含节点个数为3。若去掉点2,则树将分成3个部分,(4)(4)(4),(5)(5)(5),(1,3,6,7)(1,3,6,7)(1,3,6,7)最大的连通块包含4个节点;第一种方法可以得到更小的最大联通分量。可以

2020-10-04 11:15:25 1511 3

原创 [某人的题解]徒步旅行(travel)

题目描述小 A 决定开始一场奇妙的徒步旅行,旅行地图可以看成是一个平面直角坐标系,小 A 从家O(0,0)O(0, 0)O(0,0)出发,每一步移动只能由他此时所在的位置(x,y)(x,y)(x,y)走到以下四个坐标之一:(x−1,y),(x,y−1),(x+1,y),(x,y+1)(x-1,y),(x,y-1),(x+1,y),(x,y+1)(x−1,y),(x,y−1),(x+1,y),(x,y+1)。现在有nnn个旅游景点,第iii个旅游景点位置为(xi ,yi)。由于世界如此之大,整个旅行地图

2020-09-30 13:31:59 1421 2

原创 [某人的题解] 叶子清除计划

[题解] 叶子清除计划咦……说不定呢题目描述⼩Y同学是⼀位数据结构⼤师同时也是⼀位园艺⼤师。秋天到了,⼩Y同学需要对学校内的⼀棵树展现他顶尖的修叶⽔平。学校内的这棵树是⼀颗拥有n个点的⽆根树,每次⼩Y会删去所有的叶⼦节点(即度数小于等于1的节点),直到所有的点都被删除了为⽌。⼩Y现在想问你对于每个点,求出它是第⼏次操作中被删除的。输入格式第⼀⾏⼀个数字n,表⽰树上节点个数接下来n−1⾏,每⾏两个数字u,v,表⽰树上的⼀条边。输出格式⼀⾏n个数字,第i个数字表⽰节点i在第⼏次操作中被删除

2020-09-29 13:48:13 407 2

原创 仙岛求药 最短路做法

仙岛求药 Dijkstra算法题目描述少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内有可以瞬秒李逍遥的怪物,而有的方格内则是安全。现在李逍遥想尽快找到仙药,显然他应避开有怪物的方格,并经过最少的方格,而且那里会有神秘人物等待着他。现在要求你来帮助他实现这个目标。 下图 显示了一个迷阵的样例及李逍遥找到仙药的路线。输入格式输入有多组测试数据. 每组测试数据

2020-09-28 21:27:00 271 1

原创 C++基础知识易错点总结

目录不能被重载的运算符神奇的变量名y1main()函数的返回值循环语句问题重载运算符不能被重载的运算符在C++中,不能被重载的运算符有:. 成员运算符.* 成员指针运算符:: 作用域运算符?: 条件运算符神奇的变量名y1显示变量 y1 和 C++ 标准库中的某个变量名称冲突,这个问题应当引起注意。这不是头文件写成 <bits/stdc++.h> 引起的,即使换成各具体的头文件(< iostream >, < algorithm >, < ctri

2020-09-28 09:41:05 393 1

原创 LCA之ST算法(我只会这个)

LCA之ST算法什么是LCA算法介绍算法思想代码实现什么是LCA求有根树的任意两个节点的最近公共祖先。解答这个问题之前,咱们得先搞清楚到底什么是最近公共祖先。最近公共祖先简称LCA(Lowest Common Ancestor),所谓LCA,是当给定一个有根树T时,对于任意两个结点u、v,找到一个离根最远的结点x,使得x同时是u和v的祖先,x 便是u、v的最近公共祖先。———摘自度娘可能度娘里面的话有些读不懂(我的智商原因),在这里我先举个栗子在本图中,我们记点n,m的最近公共祖先为LCA(n

2020-09-27 21:50:36 417 1

原创 天才ACM (归并&倍增) 题解

题目给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值就称为集合 S 的“校验值”。现在给定一个长度为 N 的数列 A 以及一个整数 T。我们要把 A 分成若干段,使得每一段的“校验值”都不超过 T。求最少需要分成几段。输入格式第一行输入整数 K,代表有 K 组测试数据。对于每组测试数据,第一行包含三个整数 N,

2020-08-23 20:47:56 1337 2

原创 如何开启O2优化

#pragma GCC optimize(2)好处:可以节省代码编译时间可以节省代码运行时间看情况开O3优化会比O2快好了10积分有了

2020-08-19 16:37:01 1153 1

原创 菜肴制作(拓扑排序) 题解

题目描述知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴。 ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1。由于菜肴之间口味搭配的问题,某些菜肴必须在另一些菜肴之前制作,具体的,一共有 M 条形如”i 号菜肴’必须’先于 j 号菜肴制作“的限制,我们将这样的限制简写为<i,j>。现在,酒店希望能求出一个最优的菜肴的制作顺序,使得小 A能尽量先吃到质量高的菜肴:也就是说,(1)在满足所有限制的前提下,1 号菜

2020-08-18 19:52:05 1026 2

原创 Star Way To Heaven题解(防题目重复)

题目描述小 w 伤心的走上了 Star way to heaven。到天堂的道路是一个笛卡尔坐标系上一个 n*m 的长方形通道 顶点在 (0,0) 和 (n,m) 。小 w 从最左边任意一点进入,从右边任意一点走到天堂,最左最右的距离为 n,上下边界距离为m 。其中长方形有 k 个Star ,每个 Star 都有一个整点坐标,Star 的大小可以忽略不计。每个 Star 以及长方形上下两个边缘宇宙的边界都有引力,所以为了成功到达 heaven 小 w 离他们越远越好。请问小 w 走到终点的路径上

2020-08-17 20:07:55 1272 2

原创 「NOIP2010」引水入城 题解 QAQ

「NOIP2010」引水入城 题解题目TP门题目描述在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个N 行×M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的蓄水池中。因此,只有与湖泊毗邻的第1 行的城市可以建造蓄水厂。而输水站的功能则是通过输水管线利用高度落

2020-08-02 16:55:40 512 1

原创 Floyd 算法+例题

众所周知,Floyd是来求最短路问题的算法最短路径问题是图论研究中的一个经典算法问题, 指在寻找图(由结点和路径组成的)中两结点之间的最短路径。例如:Floyd是用了DP的思想决策需要枚举中转点,不妨考虑也以中转点集为阶段F[k,i,j]表示”可以经过标号≤k的点中转时”从i到j的最短路F[0,i,j]=dis[i,j],dis为前面定义的邻接矩阵F[k,i,j]=min{F[k-1,i,j] , F[k-1,i,k]+F[k-1,k,j]},O(N^3)k这一维空间可以省略,变成F[i,

2020-07-29 21:43:34 3544 1

原创 浅谈 long long 和 int 的区别

long long 和 int 的区别大小的区别众所周知,long long的范围比int大(如下表)。long long的范围比int大很多,但是内存只比int大一倍,不管是效率还是范围都比int要优秀。那么我刚学的时候就想问,为什么能开int尽量开int,很少开long long。(除了一些题特别刁钻)但是今天,我发现了一个问题,同一道题,用int能过,用long long会超时。真的是只慢了亿点点……...

2020-07-29 20:24:51 10417 2

原创 洛谷 [樱花] 题解

[樱花]题解题目背景又到了一年樱花盛开的时节。Vani 和妹子一起去看樱花的时候,找到了一棵大大的樱花树,上面开满了粉红色的樱花。Vani 粗略估计了一下,一共有足足 n!n! 片花瓣。Vani 轻柔地对她说:“你知道吗?这里面的一片花瓣代表着你,我从里面随机摘一片,能和你相遇的概率只有 1/n!1/n! 那么小。我该是多么的幸运,才让你今天这么近地站在我面前。相信我,我一定会把这亿万分之一的缘分变为永远。”粉红的樱花漫天飞舞,妹子瞬间被 Vani 感动了。她轻轻地牵起了他的手,和他相依而坐。这时,

2020-07-28 19:30:19 470

原创 单点修改,区间查询(一,二维)

首先说一维的“单点修改,区间查询”不难想到,用一个数组来模拟就比如,单点修改就是这(时间复杂度为O(1));a[x] += k;求区间内的和for(int i = l - 1; i <= r; i++) sum += a[i];这样的时间复杂度为O(n),如果查询次数足够多,就会超时解决方法一:前缀和这样在输入时预处理,查询只要O(1)时间。但是仔细想想,这样的话,修改就需要O(n)的时间复杂度了。所以行不通。解决方法二:树状数组什么是线段树(树状数组)线段树,是一种二叉搜

2020-07-26 21:16:48 837 1

原创 洛谷[P1509] 找啊找啊找GF 题解

洛谷【P1509】 找啊找啊找GF题目TP门题目背景“找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见.”“诶,别再见啊…”七夕…七夕…七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦…虽然他听着这首叫做"找啊找啊找GF"的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了七夕模拟赛的负责人zmc MM,让她给自己一个出题的任务.经过几天的死缠烂打,zmc MM终于同意了.但是,拿到这个任务的sqybi发现,原来出题比单身更让人感到无聊

2020-07-21 22:16:53 721 2

原创 [题海战] 题解

题海战题目TP门题目描述某信息学奥赛教练经验丰富,他的内部题库有 m 道题。他有 n 个学生,第 i 个学生已经做过p[i]道题。由于马上要进行noip考试,该教练准备举行 k 场比赛和训练。每场比赛或训练都会有一些他的学生参加,但是如何选题令他非常烦恼。对于每场比赛,他要保证所出的题没有任何一道已有任何一个学生做过;而对于每场训练,他要保证所出的所有题都被每一个参赛学生做过。输入格式第1行2个正整数n和m,表示学生数和题库中的题目总量。第2~n+1行,先是1个正整数p,然后p个整数表示第i个学

2020-07-21 20:18:08 992 3

空空如也

空空如也

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

TA关注的人

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