
题解
千杯湖底沙.
退役了。
OI就到此为止吧。
呃我又回来了
展开
-
【haoi2009】毛毛虫
题面题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大。例如下图左边的树,抽出一部分就变成了右边的一个毛毛虫了。 输入格式 第一行两个整数N,M,分别表示树中结点个数和树的边数。 接下来M行,每行两个整数a, b表示点a和点 b有边连接(a, b≤N)。你可以假定没有一对相同的(a, b)会出现一次以上。 输出格式 一个...原创 2018-08-31 10:39:06 · 428 阅读 · 0 评论 -
最长公共子序列转化最长上升子序列 n log n做法
题面题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列。 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列。 输出格式: 一个数,即最长公共子序列的长度 题解如题。 我们让id[i]id[i]id[i]为数字i在P1中出现的位置。 然后对于第二行出现的数字j,我们只需要知道它在第一行出现的位置,放在数组...原创 2018-05-30 20:39:42 · 927 阅读 · 0 评论 -
[树状数组优化DP] HLOJ539. 人品累加和
题解题目描述 人品是必不可少的,人品还是守恒的。每个人的人品都是不同的,并且有正的(选择题可以用骰子全过),也有负的。 海亮高级中学有n (1<=n<=100,000)(1<=n<=100,000)(1 Ai(−10,000<=Ai<=10,000).Ai(−10,000<=Ai<=10,000).A_i(-10,000 Ai原创 2018-05-28 18:43:00 · 360 阅读 · 0 评论 -
HLOJ#483 光棍组织
题面题目描述 MM 虽然一辈子只要一个,但是也得早点解决。于是,n 个光棍们自发组成了一个光棍组织 (ruffian organization,By Wind 乱译)。现在,光棍们打算分成几个小组,并且分头为 找 MM 事 业做贡献(For example:searching,hunting……By Wind 乱译)。 对于这 n 个光棍的任意一个组合,都有一个被称为“和谐度”的东西,现在...原创 2018-05-23 18:55:41 · 397 阅读 · 0 评论 -
HLOJ489 bzoj1087 状压例题3 互不侵犯的king
题面题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 输入格式 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N) 输出格式 一行,一个整数,表示答案。题解还是状态压缩裸题。 f[i][j][k]代表第i...原创 2018-05-16 21:24:31 · 230 阅读 · 0 评论 -
HLOJ488 周伟壮压论文状压例题2
题面题目描述 给出一个n*m的棋盘 (n、m<=80,n ×m<=80),要在棋盘上放k(k<=20)个棋子,使得任意两个棋子不相邻。每次试验随机分配一种方案,求第一次出现合法方案时试验的期望次数,答案用既约分数表示。(约分完毕的分数) 输入格式 一行,三个整数n,m,k 输出格式 一行n/m,表示最后的答案 样例数据 input 1 2 1 output ...原创 2018-05-14 21:52:30 · 288 阅读 · 0 评论 -
HLOJ491 壮压例题5广场铺砖
题面题目描述 有一个W行H列的广场,需要用1*2小砖铺盖,小砖之间互相不能重叠,问有多少种不同的铺法? 输入格式 只有一行2个整数,分别为W和H,(1<=W,H<=11) 输出格式 只有1个整数,为所有的铺法数。 样例数据 input 2 4 output 5题解经典状态压缩例题。h位二进制数代表某一行的状态:1代表是竖砖的上半部分,0代表其他情况。...原创 2018-05-14 18:56:37 · 316 阅读 · 0 评论 -
noip2007 矩阵游戏
题面题目描述 帅帅经常更同学玩一个矩阵取数游戏:对于一个给定的 n∗m n∗m 的矩阵,矩阵中的每个元素a[i][j]据为非负整数。游戏规则如下: 1. 每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有的元素; 2. 每次取走的各个元素只能是该元素所在行的行首或行尾; 3. 每次取数都有一个得分值,为每行取数的得分之和;每行取数的得分 = 被取走的元素值*...原创 2018-04-29 19:38:10 · 266 阅读 · 0 评论 -
COGS597 交错匹配
题意题意就是给出两个数列a和b,一个交错匹配是这样: a[i]=b[j]!=a[k]=a[l](i<k且j>l)a[i]=b[j]!=a[k]=a[l](i<k且j>l)a[i]=b[j]!=a[k]=a[l](il) 如果匹配之后连了线,交叉能且只能出现一次。 求出这两个数列最大的匹配数。题解先设出状态把。 f[i][j]代表数列a前i个数和数列b前j...原创 2018-04-16 19:22:58 · 442 阅读 · 0 评论 -
HLOJ429 配置魔药
题目题目描述 在《Harry Potter and the Chamber of Secrets》中,Ron的魔杖因为坐他老爸的Flying Car撞到了打人柳,不幸被打断了,从此之后,他的魔杖的魔力就大大减少,甚至没办法执行他施的魔咒,这为Ron带来了不少的烦恼。 这天上魔药课,Snape要他们每人配置一种魔药(不一定是一样的),Ron因为魔杖的问题,不能完成这个任务,他请Harry在魔...原创 2018-04-17 12:44:38 · 390 阅读 · 0 评论 -
HLOJ430 构建双塔
题意用一些有固定高度的方块堆成两座相同高度的塔,问塔最高高度。状态转移方程双进程dp f[j][k]代表一个塔高度为j,另一个塔高度为k的情况是否存在f[j][k]代表一个塔高度为j,另一个塔高度为k的情况是否存在f[j][k]代表一个塔高度为j,另一个塔高度为k的情况是否存在 我们可以轻易得出: f[j][k]=f[j−a[i]][k] || ...原创 2018-04-17 13:04:45 · 283 阅读 · 0 评论 -
HLOJ434 关灯
题目题目描述 宁智贤得到了一份有趣而高薪的工作。每天早晨她必须关掉她所在村庄的街灯。所有的街灯都被设置在一条直路的同一侧。 宁智贤每晚到早晨5点钟都在晚会上,然后她开始关灯。开始时,她站在某一盏路灯的旁边。 每盏灯都有一个给定功率的电灯泡,因为宁智贤有着自觉的节能意识,她希望在耗能总数最少的情况下将所有的灯关掉。 宁智贤因为太累了,所以只能以1m/s的速度行走。关灯不需要花费额外的时间,因为...原创 2018-04-17 19:50:59 · 442 阅读 · 0 评论 -
hnoi2010 合唱队
题面题目描述 为了在即将到来的晚会上有更好的演出效果,作为 AAA 合唱队负责人的小 A 需要将合唱队的人根据他们的身高排出一个队形。假定合唱队一共有 N 个人,第 i 个人的身高为 Hi 毫米(1000≤Hi≤2000),并且已知任何两个人的身高都不同。假定最终排出的队形是 N 个人站成一 排。 为了简化问题,小 A 想出了如下排队的方式:他让所有的人先按任意顺序站成一个初始队形,然后从...原创 2018-04-29 19:02:35 · 367 阅读 · 0 评论 -
HLOJ462【usaco2012dec】Nearby Cows
这道题目我水一波吧。。。 给一个大佬的题解: 题解地址 大佬信息转载 2018-05-13 21:39:19 · 283 阅读 · 0 评论 -
HLOJ459[noi2011] 道路修建
题面题目描述 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路。 每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家个数之差的绝对值。例如,在下图中,虚线所示道路两端分别有 2 个、4 个国家,如果该道路长度为 1,则费用为 1×|2 –...原创 2018-05-13 20:56:12 · 310 阅读 · 0 评论 -
HLOJ456 选课
题面题目描述 学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了N(N < 300)门的选修课程,每个学生可选课程的数量M是给定的。学生选修了这M门课并考核通过就能获得相应的学分。 在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操...原创 2018-05-13 19:40:30 · 318 阅读 · 0 评论 -
HLOJ490 状压例题4 炮兵阵地
题面题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用”H” 表示),也可能是平原(用”P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 输入格式 第一行包含两个由空格分割开的正整数,分别表示N和M; 接下来的N行,...原创 2018-05-18 20:45:29 · 273 阅读 · 0 评论 -
二分图判定+noip2010关押罪犯
判定定理如果一个无向图中存在奇环,那么它不是二分图。判定方法所以我们采用染色法,对于一个点染色A,相邻的点染色B,再相邻的点染色A……一直下去,如果不存在奇环,那么一定不会发生冲突(比如你想对一个点染B,但是在你本次搜索之前已经搜索到它了,并且对这个点染了A)。伪代码这里给出深度优先搜索实现的染色,广度优先搜索的可以自行思考,原理一样,很简单。dfs(u,col...原创 2018-07-09 16:02:37 · 207 阅读 · 0 评论 -
poj1958 Strange Towers of Hanoi
题目大意根据经典的汉诺塔问题改编而来。 汉诺塔(带过程的)题解原汉诺塔我们设d[i]d[i]d[i]为把iii个盘子转移的步数。 我们称使用三个塔的转移称为三塔模式。 因为当i&gt;=2i&gt;=2i>=2的时候,二塔模式无解,所以我们对iii个盘子转移的时候,只能分为1和i−11和i−11和i-1两个部分。 所以我们可以模拟: 从AAA柱子三塔模式下转移i−...原创 2018-07-06 14:39:02 · 222 阅读 · 0 评论 -
bzoj 1718: [Usaco2006 Jan] Redundant Paths 分离的路径
题面题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1..F) to another field, Bessie and the rest of the herd are forced to cross near the Tree of Rott...原创 2018-08-23 08:56:22 · 348 阅读 · 0 评论 -
hdoj3394 railway
题面题目描述 有一个公园有n个景点,这n个景点由m条无向道路连接而成。 公园的管理员准备规划一一些形成回路的参观路线。如果一条道路被多条参观路线公用,那么这条路是冲突的;如果一条道路没在任何一个回路内,那么这条路是多余的道路。 问分别有多少条有冲突的路和多余的路 输入格式 包括多组数据 每组数据第一行2个整数n,m 接下来m行,每行2个整数x,y,表示从x到y有一条无向边。 输入...原创 2018-08-23 08:49:47 · 427 阅读 · 0 评论 -
poj 3694 network
题目大意给一张无向连通图,然后给q个操作,每个操作都会在某两个点xy之间连边,问每一个操作之后还有几座桥。题解先用tarjan求边双,缩点求新图。 先让ans=割边条数 然后对于每一个操作(x,y) 如果他们在同一个边双里,答案不变。 如果不在同一个边双,那么求出他们边双的lca=LCA(block[x],block[y]); x和y两个点分别向父亲跳,直到到lca。途径全部...原创 2018-08-17 20:23:40 · 362 阅读 · 0 评论 -
bzoj 2730 [HNOI2012]矿场搭建
题面Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。 Input 输入文件有若干组数据,每组数...原创 2018-08-02 11:27:13 · 214 阅读 · 0 评论 -
poj3422 卡卡的矩阵旅行(费用流)
题意做过过河卒(一取方格数)、传纸条(二取方格数),我们这里来安利K取方格数。 也就是给出一个方阵,大小为n×nn×nn\times n 每一个格子都有一个权值。 我们需要从左上角到右下角取nnn条路径。每一条路径都会取掉当前方格内的数。多条路径通过同一个位置的话,这个位置的数只取一次。 要求最大化k条路径取到的数之和。题解由于每一个点的数只能被取一次,但是可以被走过多次。...原创 2018-07-21 18:42:42 · 299 阅读 · 0 评论 -
费用流模板——EK+SPFA实现的最小费用最大流
算法原理用两个字的高度概括——贪心~ 用一句话的概括:每一次通过spfa找到花费最小的可行流,然后进行增广,直到残量网络中,源点不能达到汇点。 其实还是通过代码理解比较好。code这里1是源点,n是汇点。 每次的读入四个数:有向边的两个结点+容量+费用#include<bits/stdc++.h>using namespace std;inline i...原创 2018-07-21 09:54:12 · 744 阅读 · 0 评论 -
[网络流24题]负载平衡问题 (费用流)
题目描述G公司n个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。如何用最少搬运量可以使n 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。 输入输出格式 输入格式: 文件的第1 行中有1 个正整数 n ,表示有 n 个仓库。第 2 行中有 n 个正整数,表示 n 个仓库的库存量。 输出格式: 输出最少搬运量。题解很明显,题目中要求运送的货物最少,我们...原创 2018-07-28 15:55:43 · 300 阅读 · 0 评论 -
bzoj1711 [Usaco2007 Open]Dingin吃饭 poj3281 Dining
题面Description 农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. 农夫JOHN做了F(1<=F<=100)F(1<=F<=100)F (1 D(1<=D<=100)D(1<=D<=100)D (1 N(1&...原创 2018-07-14 13:59:32 · 262 阅读 · 0 评论 -
奶牛的聚会(最大流)
题面题目描述 N(3<=N<=200)头奶牛要办一个新年晚会。每头牛都会烧几道菜。一共有D(5<=D<=100)道不同的菜肴。每道菜都可以用一个1到D之间的数来表示。 晚会的主办者希望能尽量多的菜肴被带到晚会,但是每道菜的数目又给出了限制。每头奶牛可以带K(1<=K<=5)道菜,但是必须是各不相同的(例如,一头牛不能带三块馅饼,但是可以带上一块馅饼,一份面...原创 2018-07-14 09:38:18 · 1373 阅读 · 0 评论 -
bzoj1693 Asteroids(二分图最小顶点覆盖)
题目大意n * n矩阵有K个点,第i个点的坐标为(Xi,Yi)。每次可以把某行或者某列删掉。问至少需要多少次可以把K个点都删掉。 (n≤500n≤500n\leq 500)题解每一行每一列都建点,然后对于每一个坐标(Xi.Yi)(Xi.Yi)(X_i.Y_i)都建一条从Xi到YiXi到YiX_i到Y_i容量为1的边。 然后就是二分图的最小顶点覆盖了。 可以证明最小顶点覆盖=最小割...原创 2018-07-13 20:15:35 · 333 阅读 · 0 评论 -
POJ1149 养猪(最大流)
题面(来源于HLOJ)题目描述 尼克在一家养猪场工作,这家养猪场共有M间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍,客户们从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的生猪,尼克可以在此期间将打开的猪舍中的猪调整到其它开着的猪舍中,每个猪舍能存放的猪的数量是没有任何限制的。买完猪后客户会将他打开的猪舍关上。 ...原创 2018-07-13 16:02:36 · 705 阅读 · 0 评论 -
【网络流24题之一】飞行员配对问题+求方案(匈牙利算法求二分图最大匹配)
题面题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。如何选择配对飞行的飞行员才能使一次派出最多的飞机。对于给定的外籍飞行员与英国飞行员的配合情况,试设计一...原创 2018-07-10 21:18:34 · 347 阅读 · 0 评论 -
【网络流24题之一】飞行员配对问题+求方案(网络流dinic算法求二分图最大匹配)
题面题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。如何选择配对飞行的飞行员才能使一次派出最多的飞机。对于给定的外籍飞行员与英国飞行员的配合情况,试设计一...原创 2018-07-09 21:24:48 · 519 阅读 · 0 评论 -
poj3263 Tallest Cow
题目大意一群奶牛排成一排。他们身高不同。 现在我们知道:有n头奶牛,第I头的身高最高,为h。 下面给出m组关系,每组关系包含两个数,表示这两个数代表的奶牛可以相互看到(两头奶牛之间的所有奶牛都比这两头奶牛矮才能相互看到) 题目要求我们给出所有n头奶牛的可能最大身高。题解我们这里采用差分。 差分数组先初始化0. 既然两头奶牛相互看到是因为他们之间的所有奶牛的身高都比他们矮,...原创 2018-07-07 10:42:29 · 440 阅读 · 0 评论 -
bzoj1218 [HNOI2003]激光炸弹
题面题解从学考回归oi第二题。。 复习二维前缀和。#include&lt;bits/stdc++.h&gt;using namespace std;inline int read(){ int num=0;char c=' ';bool flag=true; for(;c&gt;'9'||c&lt;'0';c=getchar()) if...原创 2018-07-07 10:01:52 · 524 阅读 · 0 评论 -
HLOJ482 判断数独_用来位运算练习,状态压缩入门
题面题目描述 数独是一款智力游戏,现给你一个数独,并需要你验证是否符合规则。 具体规则如下: 每一行都用到1,2,3,4,5,6,7,8,9,位置不限, 每一列都用到1,2,3,4,5,6,7,8,9,位置不限, 每3×3的格子(共九个这样的格子)都用到1,2,3,4,5,6,7,8,9,位置不限, 游戏的过程就是用1,2,3,4,5,6,7,8,9填充空白,并要求满足每行、每列、每个九宫格...原创 2018-05-11 21:48:08 · 572 阅读 · 0 评论 -
HLOJ455 苹果二叉树
题面题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)。这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树: 2 5 \ / 3 4 \ / 1 现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。 给定需要保留的树枝数量,...原创 2018-05-11 21:26:39 · 291 阅读 · 0 评论 -
luoguP2731 骑马修栅栏 题解
题目题目背景Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。题目描述John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到500标号(虽然原创 2017-09-13 12:55:41 · 338 阅读 · 0 评论 -
关于luoguP2835 刻录光盘 的反思
MDZZ这次打脸打的舒服 事情是这样发展的 学习了图论算法以后,我上luogu做了刻录光盘这一道题目,这道题目如下题目题目描述在JSOI2005夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每个人都能拿到刻录上资料的光盘,又来不及去买了,怎么办呢?!组委会把这个难题交给了L原创 2017-09-13 17:42:29 · 334 阅读 · 1 评论 -
luoguP2752 街道赛跑 题解
题目题目描述图一表示一次街道赛跑的跑道。可以看出有一些路口(用 0 到 N 的整数标号),和连接这些路口的箭头。路口 0 是跑道的起点,路口 N 是跑道的终点。箭头表示单行道。运动员们可以顺着街道从一个路口移动到另一个路口(只能按照箭头所指的方向)。当运动员处于路口位置时,他可以选择任意一条由这个路口引出的街道。图一:有 10 个路口的街道一个良好的跑道具有如下几个特点:每一个路口都可以由起点到达。原创 2017-09-15 18:47:20 · 402 阅读 · 0 评论 -
luoguP1551 亲戚 题解
题目题目背景若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入输出格式输入格式: 第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,原创 2017-09-17 13:05:54 · 466 阅读 · 2 评论