自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LingFengGold

奋斗noip2018

  • 博客(53)
  • 收藏
  • 关注

原创 P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper-动态规划,状压dp

给出n个物品,体积为w[i],现把其分成若干组,要求每组总体积<=W,问最小分组。(n<=18)https://www.luogu.org/problemnew/show/P3052 

2018-10-16 14:40:13 349

原创 P1896 [SCOI2005]互不侵犯-动态规划,状压dp

在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。https://www.luogu.org/problemnew/show/P1896 #include<iostream>#include<cstdio>#include<cstring> ...

2018-10-16 09:31:15 347

原创 ☆P2491 [SDOI2011]消防-树的直径,LCA,dfs,倍增

某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000)。这个国家的人对火焰有超越宇宙的热情,所以这个国家最兴旺的行业是消防业。由于政府对国民的热情忍无可忍(大量的消防经费开销)可是却又无可奈何(总统竞选的国民支持率),所以只能想尽方法提高消防能力。现在这个国家的经费足以在一条边长度和不超过s的路径(两端都是城市)上建立...

2018-10-14 14:54:35 239

原创 P3629 [APIO2010]巡逻-树的直径

在一个地区中有 n 个村庄,编号为 1, 2, ..., n。有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄。每条道路的长度均为 1 个单位。 为保证该地区的安全,巡警车每天要到所有的道路上巡逻。警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局。 下图表示一个有 8 个村庄的地区,其中村庄用圆...

2018-10-14 10:02:48 257

原创 【模板】最近公共祖先(LCA)

定义LCA,最近公共祖先,是指一棵树上两个节点的深度最大的公共祖先。也可以理解为两个节点之间的路径上深度最小的点。我们这里用了倍增的方法求了LCA。我们的基本的思路就是,用dfs遍历求出所有点的深度。f[i][j]数组用来求的是距离节点i,距离2^j的祖先。可以知道,f[i][0]就是它的直接父亲。然后通过倍增的思路求出father数组的所有元素。然后进行lca。求lca的基本思路是:先让...

2018-10-09 10:46:35 257

原创 P3128 [USACO15DEC]最大流Max Flow-LCA,差分 ,倍增,dfs

FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。https://www.luogu.org/problemnew/...

2018-10-09 10:27:21 233

转载 论DFS(深度优先搜索)

DFS大法师:说了这么久的深搜(发的有关深搜的题解都说很快会写关于深搜的总结),今天终于写完了,(不是博主偷懒,是博主之前也没有弄得透彻,昨晚鄙人夜观天象,觉得今天时机成熟了)首先,深搜肯定是NOIP竞赛必不可少的方法,即使拿不到全分,也可以收收过路费,取得个不错的成绩的;深搜有一个基本的模板(当然我在深搜题解上,我都打了这个模板的):int search(int t){ ...

2018-10-09 09:16:34 855

原创 P2704 [NOI2001]炮兵阵地-动态规划,状压dp

司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向...

2018-10-08 18:41:54 304

原创 P1879 [USACO06NOV]玉米田Corn Fields-动态规划,状压dp

农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地的感觉,于是John不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。John想知道,如果不考虑草地的总块数...

2018-10-08 17:01:31 173

原创 ☆P3959 [NOIP2017]宝藏-动态规划,状压dp,搜索,二进制用法模板,dfs

参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋, 也给出了这 n 个宝藏屋之间可供开发的m 条道路和它们的长度。小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远, 也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路 则相对容易很多。小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助他打通一条从地面到某 个宝藏...

2018-10-08 15:53:02 599 1

原创 P4576 [CQOI2013]棋盘游戏-搜索,对抗搜索,博弈论,dfs

一个n*n(n>=2)棋盘上有黑白棋子各一枚。游戏者A和B轮流移动棋子,A先走。 A的移动规则:只能移动白棋子。可以往上下左右四个方向之一移动一格。 B的移动规则:只能移动黑棋子。可以往上下左右四个方向之一移动一格或者两格。 和通常的“吃子”规则一样,当某游戏者把自己的棋子移动到对方棋子所在的格子时,他就赢了。两个游戏者都很聪明,当可以获胜时会尽快获胜,只能输掉的时...

2018-10-08 14:16:47 688

原创 P2885 [USACO07NOV]电话线Telephone Wire-动态规划

给出若干棵树的高度,你可以进行一种操作:把某棵树增高h,花费为h*h。操作完成后连线,两棵树间花费为高度差*定值c。求两种花费加和最小值。2 ≤ N ≤ 100,000   1 ≤ height≤ 100https://www.luogu.org/problemnew/show/P2885状态:dp[i][j]表示前i棵树,第i棵高度为j的最小花费初始化:dp[1][i...

2018-10-07 21:58:28 495

原创 P3478 [POI2008]STA-Station-动态规划,树形dp

给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大n ≤ 1000000https://www.luogu.org/problemnew/show/P3478对于这种挑一个最优点的问题,我们往往先找一个点,计算出其相应的值,在考虑转移到其相邻的点上去。 状态:f[i]表示以i为根时的答案。初始化:f[1]等于以1为根所有点深度之和。转移:u是v的...

2018-10-07 13:19:17 197

原创 P3960 [NOIP2017]列队-50分暴力

Sylvia 是一个热爱学习的女孩子。前段时间,Sylvia 参加了学校的军训。众所周知,军训的时候需要站方阵。Sylvia 所在的方阵中有n×m名学生,方阵的行数为 n,列数为 m。为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从 1 到 n×m 编上了号码(参见后面的样例)。即:初始时,第 ii 行第 jj 列 的学生的编号是(i−1)×m+j。...

2018-10-07 10:23:42 550 1

原创 P2679 [NOIP2015]子串-动态规划,字符串

有两个仅包含小写英文字母的字符串 AA 和 BB。现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一个新的字符串。请问有多少种方案可以使得这个新串与字符串 B 相等?注意:子串取出的位置不同也认为是不同的方案。 https://www.luogu.org/problemnew/show/P2679状态...

2018-10-06 21:14:18 582 1

原创 P3507 [POI2010]GRA-The Minima Game-贪心,动态规划

给出N个正整数,AB两个人轮流取数,A先取。每次可以取任意多个数,直到N个数都被取走。每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大。在这样的情况下,最终A的得分减去B的得分为多少。https://www.luogu.org/problemnew/show/P3507状态:f[i]表示A,B选到第i个数时,得分差最大值。对他们说肯定是从大到...

2018-09-28 16:54:41 181

原创 P3110 [USACO14DEC]驮运Piggy Back-最短路,spfa

Bessie 和 Elsie在不同的区域放牧,他们希望花费最小的能量返回谷仓。从一个区域走到一个相连区域,Bessie要花费B单位的能量,Elsie要花费E单位的能量。如果某次他们两走到同一个区域,Bessie 可以背着 Elsie走路,花费P单位的能量走到另外一个相连的区域。当然,存在P>B+E的情况。相遇后,他们可以一直背着走,也可以独立分开。https://www.lu...

2018-09-28 13:27:53 212

原创 P1133 教主的花园-动态规划

教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。教主最喜欢33种树,这3种树的高度分别为10,20,30。教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高 https://...

2018-09-27 20:47:14 391 1

原创 P3983 赛斯石(赛后强化版)-动态规划

真程海洋近来需要进购大批赛斯石,你或许会问,什么是赛斯石?首先我们来了解一下赛斯,赛斯是一个重量单位,我们用si作为其单位。比如1赛斯就是1si。而赛斯石有这样一个性质,它本来是一赛斯一赛斯单独存在的,但是用自然枪将其精化之后,它就会与其它经过精化的赛斯石进行合并,合并到合适的重量之后,便将其钝化,使其不再合并其它赛斯石,如果合错了,也可以用金刚刀将其切开(神奇的是你只能切成整数赛斯重量...

2018-09-26 20:44:41 304

原创 P3146 [USACO16OPEN]248-动态规划,区间dp

给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-40),问最大能合出多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。https://www.luogu.org/problemnew/show/P3146状态:f[i][j]表示i到j能取到的最大值。当f[i][k]==f[k+1][j]时:f[i][j]=max(f[i][j],f[i]...

2018-09-26 20:11:22 241

原创 P2453 [SDOI2006]最短距离-动态规划

一种EDIT字母编辑器,它的功能是可以通过不同的变换操作可以把一个源串X [l..m]变换为新的目标串y[1..n]。EDIT提供的变换操作有:源串中的单个字符可被删除(delete);被替换 (replace);被复制到目标串中去(copy);字符也可被插入(insert);源串中的两个相邻字符可进行交换并复制到目标串中去(twiddle);在完成其它所有操作之后,源串...

2018-09-26 16:06:24 269

原创 P1850 [NOIP2016]换教室,动态规划,概率dp

对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。在可以选择的课程中,有 2n 节课程安排在 n 个时间段上。在第 i(1≤i≤n)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 c_i上课,而另一节课程在教室 d_i进行。在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的 n 节安排好的课程。如果学生想更换第 ii...

2018-09-25 16:28:04 142

原创 P1351 [NOIP2014]联合权值-动态规划

无向连通图 GG 有 nn 个点,n-1n−1 条边。点从 11 到 nn 依次编号,编号为 ii 的点的权值为 W_iWi​,每条边的长度均为 11。图上两点 (u, v)(u,v) 的距离定义为 uu 点到 vv 点的最短距离。对于图 GG 上的点对 (u, v)(u,v),若它们的距离为 22,则它们之间会产生W_v \times W_uWv​×Wu​ 的联合权值。请问图 GG 上所有...

2018-09-24 21:19:05 456

原创 P2296 [NOIP2014]寻找道路-图论,最短路,bfs

在有向图 G中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:路径上的所有点的出边所指向的点都直接或间接与终点连通。 在满足条件1的情况下使路径最短。注意:图 G 中可能存在重边和自环,题目保证终点没有出边。请你输出符合条件的路径的长度。https://www.luogu.org/problemnew/show/P22961...

2018-09-24 21:12:28 224

原创 P1941 [NOIP2014]飞扬的小鸟-动态规划,模拟

Flappy Bird是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。为了简化问题,我们对游戏规则进行了简化和改编:游戏界面是一个长为 n,高为 m 的二维平面,其中有 k 个管道(忽略管道的宽度)。小鸟始终在游戏界面内移动。小鸟从游戏界面最左边任意整数高度...

2018-09-24 15:41:49 316

原创 P1410 子序列-动态规划

给定一个长度为N(N为偶数)的序列,问能否将其划分为两个长度为N/2的严格递增子序列https://www.luogu.org/problemnew/show/P1410一般青年Dp方案:F[i][j][k][l] 表示前i+j位分为一个长度为i以j结尾,一个长度为k以l结尾的序列 是否可行(0,1)省略已知值:观察发现j和l中至少有一个为a[i+j] 故可省略其中一位 n=200...

2018-09-24 10:31:03 226

原创 P1594 护卫队-动态规划

护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。因为街道是一条单行道,所以任何车辆都不能超车。桥能承受一个给定的最大承载量。为了控制桥上的交通,桥两边各站一个指挥员。护卫车队被分成几个组,每组中的车辆都能同时通过该桥。当一组车队达到了桥的另一端,该端的指挥员就用电话通知另一端的指挥员,这样下一组车队才能开始通过该桥。每辆车的重量是已知的。任何一组车队的重量之和不能超过桥的最大承重量。...

2018-09-23 15:59:46 322

原创 P1043 数字游戏-动态规划,区间dp

丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数kk。游戏的要求是使你所得的k最大或者最小。例如,对于下面这圈数字(n=4,m=2):要求最小值时,((2-1)...

2018-09-23 13:53:37 518

原创 ☆P2622 关灯问题II-搜索,bfs,状压

现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能全部关掉。...

2018-09-19 20:35:07 200

原创 位运算

1.’&’符号,x&y,会将两个十进制数在二进制下进行与运算,然后返回其十进制下的值。例如3(11)&2(10)=2(10)。2.’|’符号,x|y,会将两个十进制数在二进制下进行或运算,然后返回其十进制下的值。例如3(11)|2(10)=3(11)。3.’^’符号,x^y,会将两个十进制数在二进制下进行异或运算,然后返回其十进制下的值。例如3(11)^2(10)=...

2018-09-19 19:55:36 111

原创 P2951 [USACO09OPEN]捉迷藏Hide and Seek-图论,最短路,SPFA

奶牛贝西和农夫约翰(FJ)玩捉迷藏,现在有N个谷仓,FJ开始在第一个谷仓,贝西为了不让FJ找到她,当然要藏在距离第一个谷仓最远的那个谷仓了。现在告诉你N个谷仓,和M个两两谷仓间的“无向边”。每两个仓谷间当然会有最短路径,现在要求距离第一个谷仓(FJ那里)最远的谷仓是哪个(所谓最远就是距离第一个谷仓最大的最短路径)?如有多个则输出编号最小的。以及求这最远距离是多少,和有几个这样的谷仓距离第一个谷仓...

2018-09-19 19:48:09 233

原创 ☆P2760 科技庄园-动态规划,背包

Life种了一块田,里面种了有一些桃树。Life对PFT说:“我给你一定的时间去摘桃,你必须在规定的时间之内回到我面前,否则你摘的桃都要归我吃!”PFT思考了一会,最终答应了!由于PFT的数学不好!它并不知道怎样才能在规定的时间获得最大的价值,由于PFT不是机器人,所以他的体力并不是无限的,他不想摘很多的桃以至体力为0,而白白把桃给Life。同时PFT每次只能摘一棵桃树,,每棵桃...

2018-09-19 19:28:59 543

原创 P1279 字串距离-动态规划

设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩展串,这里“□”代表空格字符。如果A1是字符串A的扩展串,B1是字符串B的扩展串,A1与B1具有相同的长度,那么我扪定义字符串A1与B1的距离为相应位置上的字符的距离总和,而两个非空格字符的距离定义为...

2018-09-19 18:17:49 298

原创 P2308 添加括号-动态规划,区间dp,前缀和,dfs

给定一个正整数序列a(1),a(2),...,a(n),(1<=n<=20)不改变序列中每个元素在序列中的位置,把它们相加,并用括号记每次加法所得的和,称为中间和。例如:给出序列是4,1,2,3。第一种添括号方法:((4+1)+(2+3))=((5)+(5))=(10)有三个中间和是5,5,10,它们之和为:5+5+10=20第二种添括号方法(4+((...

2018-09-19 17:53:40 664

原创 P2280 [HNOI2003]激光炸弹-动态规划,矩形dp,前缀和,容斥原理

 这题与其说是前缀和,不如说是容斥原理;先处理好s[i][j]这个数组,表示以(i,j)为右下角的矩形中的总价值;之后再来一遍循环,在所有的半径为r的矩阵中求最大值即可;https://www.luogu.org/problemnew/show/P2280#include<iostream>#include<cstdio>#include&lt...

2018-09-19 16:39:06 178

原创 P3014 [USACO11FEB]牛线Cow Line-康托展开及其逆运算

N(1<=N<=20)头牛,编号为1...N,正在与FJ玩一个疯狂的游戏。奶牛会排成一行(牛线),问FJ此时的行号是多少。之后,FJ会给牛一个行号,牛必须按照新行号排列成线。行号是通过以字典序对行的所有排列进行编号来分配的。比如说:FJ有5头牛,让他们排为行号3,排列顺序为:1:1 2 3 4 52:1 2 3 5 43:1 2 4 3 5因此,牛将在牛线1 2 ...

2018-09-19 16:12:37 184

转载 康托展开及其逆运算

我们先科普一下康托展开定义:X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0!ai为整数,并且0<=ai<i(1<=i<=n)简单点说就是,判断这个数在其各个数字全排列中从小到大排第几位。比如 1 3 2,在1、2、3的全排列中排第2位。康托展开有啥用呢?维基:n位(0~n-1)全排列后,其...

2018-09-19 16:05:32 195

原创 P2733 家的范围 Home on the Range-动态规划,矩形dp

农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛。(因为一些原因,他的奶牛只在正方形的牧场上吃草。)遗憾的是,他的奶牛已经毁坏一些土地。( 一些1平方英里的正方形)输出那些存在的正方形的边长和个数,一种一行。矩阵dpnum[i]表示面积为i的矩阵的个数;模板:f[i][j]表示以i,j为右下角所能扩展的最大矩阵大小由于f[i][j...

2018-09-18 20:46:01 237

原创 P1353 [USACO08JAN]跑步Running-动态规划

奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑。在每分钟的开始,贝茜会选择下一分钟是用来跑步还是休息。贝茜的体力限制了她跑步的距离。更具体地,如果贝茜选择在第i分钟内跑步,她可以在这一分钟内跑D_i(1 <= D_i <= 1,000)米,并且她的疲劳度会增加1。不过,无论何时贝茜的...

2018-09-18 16:21:19 485

原创 P2858 [USACO06FEB]奶牛零食Treats for the Cows-动态规划,区间dp

 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱.为此,约翰购置了N(1≤N≤2000)份美味的零食来卖给奶牛们.每天约翰售出一份零食.当然约翰希望这些零食全部售出后能得到最大的收益.这些零食有以下这些有趣的特性:•零食按照1..N编号,它们被排成一列放在一个很长的盒子里.盒子的两端都有开口,约翰每天可以从盒子的任一端取出最外面的一个.•与美酒与好吃...

2018-09-18 16:19:09 408

空空如也

空空如也

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

TA关注的人

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