自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C2020lax的博客

某校蒟蒻学生博客,求关注。

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++树形DP—————[USACO08 JAN金组]电话网络

题目描述:Farmer John决定为他的所有奶牛都配备手机,以此鼓励她们互相交流。不过,为此FJ必须在奶牛们居住的N(1 <= N <= 10,000)块草地中选一些建上无线电通讯塔,来保证任意两块草地间都存在手机信号。所有的N块草地按1..N顺次编号。 所有草地中只有N-1对是相邻的,不过对任意两块草地A和B(1 <= A <= N;1 <=...

2019-03-12 13:29:29 1308

原创 C++关于质数的判定与筛法

前言: 质数,是相伴了我们许久的老朋友,从小学到中学无处不在。 质数,就是一个数的因子只有它自己或本身的数叫做质数。 现在我们主要来讨论它的一些秘密。质数的判定: 首先是素数的判定定理: 若从2到的数中,都没有它的约数,那么它一定是一个质数,不用解释应该就能明白,n=a*b(a<=b),则a最大为。 代码如下:...

2019-03-04 14:13:39 2491

原创 解二元一次方程————拓展欧几里得算法

二元一次方程的定义: 含有两个未知数,并且含有未知数的项的次数都是1的整式方程叫做二元一次方程。所有二元一次方程都可化为ax+by+c=0(a、b≠0)的一般式与ax+by=c(a、b≠0)的标准式,否则不为二元一次方程。 适合一个二元一次方程的每一对未知数的值,叫做这个二元一次方程的一个解。每个二元一次方程都有无数对方程的解,由二元一次方程组成的二元一次方程组才可能有唯一解,...

2019-02-28 13:50:46 5906 1

原创 浅谈线段树及其例题讲解

简介:线段树是一种数据结构,它是一种便于区间修改与区间查找的数据结构,而他叫做线段树而不是直线树,这说明他与线段有关,线段树存储的是一个线段(即为左端点与右端点),而他的子节点是左端点到mid与mid+1到右端点的线段(左端点与右端点相等为止)。具体结构如下图:现在我们对他有了一个概念性的了解,而我们现在想一想,该如何存储他呢?线段树的存储:线段树的存储有两种方法一.指针法...

2019-01-15 13:07:55 589

原创 C++动态规划及单调队列的优化—————拥挤的奶牛(挤奶牛Crowded Cows)和弹簧高跷(POGO的牛Pogo-Cow)

题目描述:FJ的n头奶牛(1<=n<=50000)在被放养在一维的牧场。第i头奶牛站在位置x(i),并且x(i)处有一个高度值h(i)(1<=x(i),h(i)<=1000000000)。一头奶牛感觉到拥挤当且仅当它的左右两端都有一头奶牛所在的高度至少是它的2倍,且和它的距离最多为D。尽管感到拥挤的奶牛会产生更少的牛奶,FJ还是想知道一共有多上感到拥挤的奶牛。请你帮...

2019-01-03 13:59:30 1700

原创 C++树状数组模板题 敌兵布阵解题报告

题目描述: C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究...

2018-12-03 14:08:47 493

原创 C++无向图连通性问题[Tarjan求割边]—————Bridges

题目描述:在赤壁之战中,曹操被诸葛亮和周瑜击败。但他不会放弃。曹操的军队仍然不善于水战,所以他提出了另一个想法。他在长江建造了许多岛屿,在这些岛屿的基础上,曹操的军队很容易攻击周瑜的部队。曹操还建造了连接岛屿的桥梁。如果所有岛屿都通过桥梁相连,那么曹操的军队可以在这些岛屿中非常方便地部署。周瑜无法忍受,所以他想要摧毁一些曹操的桥梁,这样一个或多个岛屿就会与其他岛屿分开。但周瑜只有一枚由诸葛亮...

2019-11-09 17:00:12 962

原创 C++图论SPFA算法例题———————最优贸易

题目描述:C 国有n个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1 条。C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙...

2019-11-09 16:58:58 1333

原创 C++强连通分量与SPFA综合题目—————抢掠计划

题目描述:Siruseri 城中的道路都是单向的。不同的道路由路口连接。按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机。令人奇怪的是,Siruseri 的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。Banditji 计划实施 Siruseri 有史以来最惊天动地的 ATM 抢劫。他将从市中心 出发,沿着单向道路行驶,抢劫所有他途径的 ATM 机,最终...

2019-06-26 13:29:10 398

原创 C++无向图连通性问题—————矿场搭建

题目描述:煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。输入:输入文件有若干组数据,每组数据的第一行是一个正整数...

2019-06-05 13:54:10 1009

原创 C++有向图的强连通分量—————Summer Holiday

题目描述:To see a World in a Grain of SandAnd a Heaven in a Wild Flower,Hold Infinity in the palm of your handAnd Eternity in an hour.—— William Blake听说lcy帮大家预定了新马泰7日游,Wiskey...

2019-05-31 13:47:31 869

原创 C++图论强连通分量讲解

前言:强连通分量好强,老师好喜欢(考)。概念:在有向图G中,如果两点互相可达,则称这两个点强连通,如果G中任意两点互相可达,则称G是强连通图。 1、一个有向图是强连通的,当且仅当G中有一个回路,它至少包含每个节点一次。 2、非强连通有向图的极大强连通子图,称为强连通分量。在这张图中,{1,2,3,4}是一个强联通分量{5},{6}分别是另外两个强联通分量。...

2019-05-30 17:39:00 1979

原创 C++RMQ算法—————A Magic Lamp

题目描述:Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of her dreams.The qu...

2019-05-29 13:12:09 447

原创 C++RMQ算法—————Find the hotel

题目描述:Summer again! Flynn is ready for another tour around. Since the tour would take three or more days, it is important to find a hotel that meets for a reasonable price and gets as near as possi...

2019-05-27 13:45:54 406

原创 C++最近公共祖先(LCA)例题—————求和

题目描述:master 对树上的求和非常感兴趣。他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k次方和,而且每次的k 可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。他把这个问题交给了pupil,但pupil 并不会这么复杂的操作,你能帮他解决吗?输入:第一行包含一个正整数n ,表示树的节点数。之后n-1 行每行两个空格隔开的正整数i,...

2019-05-22 13:22:32 1125

原创 C++高级搜索算法例题及讲解—————Sudoku

题目描述:Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. In some of the cells are written decimal digits from 1 to 9. T...

2019-05-16 17:31:58 1240

原创 C++高级搜索—————Robot

题目描述;The Robot Moving Institute is using a robot in their local store to transport different items. Of course the robot should spend only the minimum time necessary when travelling from one place in...

2019-05-15 14:40:49 456

原创 C++高级搜索算法迭代加深—————骑士精神

题目描述:在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士,且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘:为了体现出骑士精神,他们必须以最少的步数完成任务。输入:输出:输入样例:210...

2019-04-30 13:22:34 1011

原创 C++迭代加深搜索及其例题讲解—————Addition Chains

前言:学习算法时,一个关键的问题是什么时候来使用它。在一些搜索问题中,使用普通的DFS可能会让你把时间浪费在深度非常大而且答案不是最优的搜索过程上,甚至有的时候DFS搜索的深度是无穷的,而BFS虽说理论上可以避免这种情况,却又无法满足题目的某些需求,或者无法实现。仔细思考一下这个例子,它有着两个特征:一是它是个最优解问题,二是最优的答案深度最小,如右图:但是我们的答案有三个,若我们要a...

2019-04-25 17:27:41 1513

原创 C++Pollard_rho分解质因数及其例题—————Prime Test

前言:在观看此博客之前请学习miller_rabin。我们在分解质因子时也许只会用试根法(也就是暴力)。而在此我们将学习一个玄学的算法——Pollard_rho。概念:Pollard_rho是一种基于随机的算法,它的思路是先用miller_rabin来判断当前数是否已经是素数了,如果是的话记录并返回。如果不是,我们设要分解的数为n,那么我们考虑去找一个当前数的因数p,找到之后再...

2019-04-25 13:36:54 1154

原创 C++图论与矩阵加速—————[SCOI2009]迷路(道路千万条)

题目描述:道路千万条,安全第一条!宏帆校区到渝北校区有很多种走法,我们可以把走法看成N个节点的有向图,假设宏帆代表0号节点,渝北代表N-1号节点,GM想从0号节点出发,到N-1号节点,但必须恰好在T时刻到达!你能告诉GM一共有多少种走法吗?注意:GM不能在某个节点逗留,且通过某有向边时严格为给定时间(边权)。输入:第一行包含两个整数,N T。 接下来有 N 行,每行一个长度为 N 的字...

2019-04-16 13:28:44 436

原创 C++矩阵加速—————Warcraft III 守望者的烦恼

题目描述:守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条行的,守望者warden拥有一个技能名叫“闪烁”,这个技能可以把她传送到后面的监狱内查看,她比较懒,一般不查看完所有的监狱,只是从入口进入,然后再从出口出来就算完成任务了。头脑并不发达的warden最近在思考一个问题,她的闪烁技能是可以升级的,k级的闪烁技能最多可以向前移动k个监狱,一共有n个监狱...

2019-04-12 14:13:40 399

原创 C++数论—————弹药科技

题目描述:经过精灵族全力抵挡,精灵终于坚持到了联络系统的重建,于是精灵向人类求助,大魔法师伊扎洛决定弓}用博士的最新科技来抗敌。伊扎洛:“博士,还没好吗?”博士:“只差一步了!只需要在正确的位置装上弹药就可以了!”博士的最新科技是全新的炸弹,但是现在还需要一步装弹药的操作。博士的炸弹有N!个位置可以装弹药(>.<),但是只有在正确的位置装上弹药才能启动,博士将装弹药的位...

2019-04-10 14:10:29 281

原创 C++数论—————洛谷P2568 GCD

题目描述:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对。输入:一个整数N(1<=N<=10^7)输出:答案输入样例:4输出样例:4思路分析:这一题是一个较简单的模板题:首先,我们先用欧拉筛法,求出1~N的所有质数,其中我们在欧拉筛法中求出1~N的欧拉函数,而欧拉函数就是1~N-1中与...

2019-04-09 13:30:00 381

原创 C++矩阵加速例题斐波拉契数列变式—————TR的数列

题目描述:TR非常喜欢数学,经常一个人拿出草稿纸研究奇奇怪怪的数学问题,最近,他突然对数列产生了兴趣,他找到一个数列,类似于斐波拉契,即:Tn=1*f1+2*f2+3*f3+……+n*fn (fn为斐波拉契的第n项值)现在TR想请你帮忙求Tn%m的值输入:两个用空格隔开的整数n和m1≤n,m≤-1输出:Tn mod m的值输入样例:5 5输出样例:...

2019-04-04 12:33:55 333

原创 C++矩阵及其加速—————求斐波拉契数列第n项讲解

前言:也许你只是不小心点入了此博客,为了不眛自己的良心,首先我们会介绍什么是矩阵。概念:在数学中,矩阵(Matrix)是一个按照长方阵列排列的实数或复数集合,最早来自于方程组的系数及常数所构成的方阵。由m×n个数aij排成的m行n列的数表称为m行n列的矩阵,简称m×n矩阵。记作:而矩阵中的各个元素就是元。元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵。而行数与列...

2019-04-02 13:33:38 1075

原创 C++树形DP—————二叉苹果树

题目描述:有一棵苹果树,如果树枝有分叉,一定是分 2 叉(就是说没有只有 1 个儿子的结点)。这棵树共有 N 个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是 1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有 4 个树枝的树:现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。 给定需要保留的树枝数量,求出最多能留住多少苹果。输入:第1...

2019-03-28 14:04:10 889

原创 C++容斥原理—————表达式计数

题目描述:给出n个数,b1,b2,b3……bn,构造n个数,a1,a2,……an(ai>1),使得a1*a2*a3……an=b1*b2……bn;问一共有多少种数列a1,a2,……an满足上述条件。输入:包含多组输入数据每组数据第一行有1个整数n(1<=n<=20)每组数据第 二行有n个整数第i个数表示bi.(1<bi<=1000000)且b1*...

2019-03-25 13:27:44 1534

原创 C++数论容斥原理—————无关的元素

题目描述;对于给定的n个数a1,a2,...,an,依次求出相邻两数之和,将得到一个新数列。重复上述操作,最后结果将变成一个数。问这个数除以m的余数与哪些数无关?例如n=3,m=2时,第一次求和得到a1+a2,a2+a3,再次求和得到a1+2a2+a3,它除以2的余数和a2无关。输入:第1行:2个整数n和m(1<=n<=10^5, 2 <=m<=10^9)...

2019-03-20 14:23:53 418

原创 C++基础数论—————容斥原理

前言: 温馨提示,此篇博客将涉及排列组合(链接)。概念: 在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 好了,我们理解...

2019-03-18 13:25:40 2871

原创 C++树形DP基础—————战略游戏

目录:题目描述输入输出输入样例输出样例提示思路分析代码实现题目描述:Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。 注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。请你编一程...

2019-03-13 13:38:25 1618

原创 C++树形DP基础—————求树的重心

题目描述:树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。如下图(自制),当去掉点1后,树将分成两个连通块:(2,4,5),(3,6,7),则最大的连通块包含节点个数为3。若去掉点2,则树将分成3个部分,(4),(5),(1,3,6,7)最大的连通块包含4个节点;第一种方法可以得到更小的最大联通分量。可以发现,其他方案...

2019-03-11 13:26:08 12235 5

原创 C++Legendre定理及其例题讲解—————方程

前言:Legendre定理是一个你无法想象到的定理,而它的用处也是十分的大,现在亲听我慢慢讲解。Legendre定理:设n为一个正整数,那么在的标准素因子分解式中,素数p的最高次项为,则 当模数不为素数,且不方便使用CRT进行合并时,可以考虑对组合数分解质因...

2019-03-07 17:51:16 1604

原创 基础数论—————论拉格朗日插值法

前言:此博客将没有任何的代码,纯数学,若已经明白拉格朗日插值法的就可以离开了(但是阅读量增加了,O(∩_∩)O~)。好了,现在我们回归正题,什么是拉格朗日插值法。简介:拉格朗日插值法,顾名思义,就是拉格朗日的插值法,是在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和...

2019-03-07 16:48:48 622

原创 C++树形DP基础例题—————没有上司的晚会

题目描述:BackgroundThe president of the Ural State University is going to make an 80'th Anniversary party. The university has a hierarchical structure of employees; that is, the supervisor relation fo...

2019-03-06 14:54:08 523

原创 C++树形DP基础例题————— 树的最大独立集

题目描述:对于一棵有N个结点的无根树,选出尽量多的结点,使得任何两个结点均不相邻(称为最大独立集)。题目输入:第1行:1个整数N(1 <= N <= 6000),表示树的结点个数,树中结点的编号从1..N接下来N-1行,每行2个整数u,v,表示树中的一条边连接结点u和v题目输出:第1行:1个整数,表示最大独立集的结点个数样例输入:111 21 ...

2019-03-06 12:51:22 978

原创 C++初等数论同余——欧拉函数与CRT

前言: 在我们开始学习欧拉函数与CRT之前,我们得先搞清楚什么是同余。 两个整数同时除于一个相同的数,如果它们的余数相等,则称它们两个数互余。 符号语言: 当然它一定是有一些性质的,下面请听我慢慢介绍。 一是自反性: 二是对称性: 三是传递性: 当然它还有等价定义: 而这也说明了:若则。注意...

2019-03-01 14:08:54 991

原创 C++基础数论————排列组合

排列组合的定义:排列就是从n个数中找出m个进行排列,共有多少种方案?这一定要考虑顺序。公式就是:而组合就从从n个数中找出m个进行组合,共有多少种方案?这一定不要考虑顺序。公式就是:现在,我们来看一看它的性质:而我们该如何计算组合数呢?计算组合数:这一共有2种方法。1、根据定义直接暴力求出组合数,但是其时间复杂度较长而且有溢出的风险,所以不推荐...

2019-02-28 17:32:05 4047 2

原创 寒假训练总结与未来计划

学习情况反思:在这一次的寒假训练中,我们总共学习了三个方面的知识,一是图论的拓展,二是树形DP,三是基础数论。       而其中我认为我学得最好的是图论,因为我本来有基础,而且在开始我还是满怀期待的,并且我也将课件上的知识全部搞懂了,所以在第一期的考试我还是得到了一个平均的分数(50分)。然后呢,是数论,但是因为我坐在了后排,听课的效率大大降低,就算在课下十分努力的去搞懂,但还是没有...

2019-02-26 13:58:09 254

原创 C++图论提高例题讲解————Frogger

题目描述:Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of touris...

2019-01-30 21:04:04 609

C++线段树讲解PPT

在一类问题中,我们需要经常处理可以映射在一个坐标轴上的一些固定线段,例如说映射在OX轴上的线段。由于线段是可以互相覆盖的,有时需要动态地取线段的并,例如取得并区间的总长度,或者并区间的个数等等。一个线段是对应于一个区间的,因此线段树也可以叫做区间树。

2019-01-15

空空如也

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

TA关注的人

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