很妙的一道题. 由于本人过于zz,不会这道题,通过厚颜无耻翻阅题解无数终于懂了这道题,所以这里转载一位神仙的blog. 没有看懂?没事,再来一篇. 这题个人认为主要在于转化题意和建图,这两点想通了应该就不难了. 转化题意:每个长只要互不相等即可,不管什么严格大于. 建图:限制了每个长只能被选一次,另一边作为价值.有没有条件限制感觉和上一篇博客相像?长和宽代表的两个点之间建一条边,从长到宽的方向代表以长为底,反向则以宽为底.然后限制每个点出度最多为1. 图建出来,我们只要定向时满足每个点至多出度为…
4886: [Lydsy1705月赛]叠塔游戏 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 198  Solved: 76[Submit][Status][Discuss] Description 小Q正在玩一个叠塔的游戏,游戏的目标是叠出尽可能高的塔.在游戏中,一共有n张矩形卡片,其中第i张卡片的 长度为a_i,宽度为b_i.小Q需要把所有卡片按一定顺序叠成一座塔,要求对于任意一个矩形,它的长度要严格大 于它上边的任意一个矩形的长度.塔的高度…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4886 [题解] 跟bzoj4883:http://www.cnblogs.com/galaxies/p/bzoj4833.html很相似啊 我们对于a,b离散后建点,那么一个卡片就相当于a到b有一条边. 现在要给边定向,使得每个点入度均为1. 贡献=每个点出度*该点权值 bzoj4883的时候谈过,这样的连通块要么是环套树要么是树. 肯定都有的一部分贡献是(deg[i]-1)*a[i](总…
题面 解析 这是个有趣的建图题啊. 首先我们可以发现,宽度严格递增是没什么用的. 因为实际上我们在旋转完以后, 矩形的顺序是可以随便排的. 因此只要保证宽度互不相同就行了. 然后,我们对长和宽离散化,对于每个值建一个点. 拿样例举个例子: 先把样例放出来: 3 5 16 10 5 5 10 然后建图(因为方便看所以没离散化): 接着,对于每个长,宽为\(a,b\)的矩形, 我们在\(a,b\)间连一条边. 那么图就成了这个亚子: 因为有两个矩形都是\((5,10)\),所以有两条边. 接着,我们…
传送门 BZOJ Solution 考虑一下如果把行,列当成点,那么显然这个东西就是一个基环树对吧. 直接按照\(Kruscal\)那样子搞就好了. 代码实现 代码戳这里…
题意 有一大小为 \(n*m\) 的棋盘,要在一些位置放置一些守卫,每个守卫只能保护当前行列之一,同时在每个格子放置守卫有一个代价 \(w\) ,问要使得所有格子都能够被保护,需要最少多少的代价. \(2\leq n,m\leq 10^5\ ,n*m\leq 10^5\) 分析 将行列看成 \(n+m\) 个点.将每个格点放置守卫看成所在行列连了一条边,然后把每条边定向,如果被指向表示当前格点对当前 行/列 进行了保护. 这样就会有 \(n+m\) 个点,\(n+m\) 条有向边,同时每条边最多…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4883 题解 每一行和每一列都必须要被覆盖. 考虑对于每一行和每一列都建立一个点,一行和一列之间的连边就是对应坐标的点权. 这样,每一个点都必须要有一个出边以表示这一行/列选择了这个边. 每个点都必须要有一个出边就是基环树森林了. 所以直接用 kruskal 维护最小基环树森林. 维护方法大概就是并查集的时候再维护一个信息表示这个连通块存不存在环.一条边可以贡献,第一个时候是在两个连通块不连通…
4883: [Lydsy1705月赛]棋盘上的守卫 Time Limit: 3 Sec  Memory Limit: 256 MBSubmit: 475  Solved: 259[Submit][Status][Discuss] Description 在一个n*m的棋盘上要放置若干个守卫.对于n行来说,每行必须恰好放置一个横向守卫:同理对于m列来说,每列 必须恰好放置一个纵向守卫.每个位置放置守卫的代价是不一样的,且每个位置最多只能放置一个守卫,一个守卫 不能同时兼顾行列的防御.请计算控制整个…
4881: [Lydsy1705月赛]线段游戏 Time Limit: 3 Sec  Memory Limit: 256 MBSubmit: 359  Solved: 205[Submit][Status][Discuss] Description quailty和tangjz正在玩一个关于线段的游戏.在平面上有n条线段,编号依次为1到n.其中第i条线段的两端点坐 标分别为(0,i)和(1,p_i),其中p_1,p_2,...,p_n构成了1到n的一个排列.quailty先手,他可以选择一些互不…
Prelude 题目链接:萌萌哒传送门♪(^∇^*) Subtask 1 & 2 这是什么鬼题面... 首先要看出,这就是一个基环树博弈. 具体题意:给出一个基环内向树,一个棋子初始在\(1\)号节点,双方轮流操作,设棋子所在节点为\(u\),每次可以从所有指向\(u\)的节点中选择一个,把棋子移动过去,不能操作者输,问先手是否有必胜策略,或者是否平局. 但是,这个图是可以变的,每次询问,假如我选择环上的两个点\(u\)和\(v\),把\(u\)的出边指向\(v\),那么游戏的结果如何? 考虑如…