摘要: 题目大意 给你n个二元组 问你有几种排列是的按两个关键字中的任意一个都不是不降排列的 分析 不妨容斥 我们先加上总的方案数$n!$ 之后我们按第一个关键字排序 因为值相同的情况下不影响答案 所以让总方案数减去$\prod sum_{ai}!$即可 对于第二关键字的情况同上 我们再使序列同时按照第一关 阅读全文
posted @ 2019-08-26 21:41 水题收割者 阅读(207) 评论(0) 推荐(1) 编辑
摘要: 题目大意 给你一个有向图和一个路径 让你在给定路径中选出尽量少的点使得新路径的最短路长度和原路径相等 给定路径相邻两点间距离为1 分析 先floyd求出两点间最短路 之后每次对于点i找到所有跟它的最短路距离=在序列上建个距离的点j 将dp[i]转移到dp[j]即可 代码 阅读全文
posted @ 2019-08-26 21:35 水题收割者 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个n 让你用1~2*n的数填满一个2*n个点的环 使得任意连续的n个位置的和的最大值减最小值不大于1 分析 我们通过瞎jb找规律发现n为偶数吴姐 而n为奇数我们设前n个位置为0组,后n个为1组 则这样填 1-0 2-1 3-1 4-0 5-0 6-1 7-1 8-0 不难看出规律 代 阅读全文
posted @ 2019-08-26 18:48 水题收割者 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你n个序列,每个一行 每个序列是可以左右移动的 对于每一列问在随意左右移动这些序列的情况下 这一列的每个数的和最大是多少 分析 对于每个序列分为两种情况 [1]长度小于长度的一半 我们发现这种情况下一定是两头长度为k的地方只能考虑序列开头/结尾的前k个 于是我们直接维护开头和结尾前k个的 阅读全文
posted @ 2019-08-26 18:42 水题收割者 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个序列s 让你求一个1~n的序列 使得对于第i个位置它前面所有小于p[i]的数的和恰好为s[i] 分析 我们可以从后往前确定每一位 每次一二分找到恰好等于s[i]的数 但是我们发现这样会产生重复选一个点的情况 所以我们改为每次找第一个大于s[i]的点 这个点-1恰好为答案 代码 阅读全文
posted @ 2019-08-26 18:32 水题收割者 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个n 让你用0~n^2-1的数填满一个n*n的正方形 满足每个数值出现一次且每行每列的异或值相等 输出任意一种方案 分析 我们发现对于4*4的正方形 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 是满足条件的 那么如果对正方形中的每一个数都加上一个相同的 阅读全文
posted @ 2019-08-26 18:27 水题收割者 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你n个点的坐标和权值 问先在每一行选一个点再在每一列选一个没选过的点 求最大权值和 分析 可以想到将点转化为边,将两个坐标对应两个点 所以问题转化为选H+W个边 使得所有边的度都不为0 则最终这个图就会变为若干联通块 每个个联通块正好有一个环 我们将边权从大到小排序 然后并查集维护一下联 阅读全文
posted @ 2019-08-26 18:18 水题收割者 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个有n个点的完全图 求一种方案是的给边染色后任何一点不能沿一种颜色的边走奇数条边回到这个点 要求颜色数最少 分析 考场上输出格式打错见祖宗... 我们每次找一个最大二分图将其染一个新颜色即可 找的方式就是每次将一个集合分为左右两边 将这两个集合分别作为左边点和右边点连成二分图 然后递 阅读全文
posted @ 2019-08-26 17:28 水题收割者 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 先吐槽一下这个比赛的奇怪名字 这个破名字让我实在不知道博客标题该叫啥/px 题目大意 给你一个长度为2n的序列 包括W和B 每次可以选一个区间将里面的颜色反转 但是每个点只能被作为端点选一次 问将序列全部变为W的操作方案数 分析 可以将区间左右端点看作左括号与右括号 我们发现对于W一定被偶数个区间覆 阅读全文
posted @ 2019-08-26 17:13 水题收割者 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 分析 就就就是推柿子 看官方题解吧/px 代码 阅读全文
posted @ 2019-08-26 16:39 水题收割者 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 分析 我们不难发现对于偶数的情况只要相邻两个数不相等即可 而对于奇数的情况只要中间恰好隔一个数的两个数不相等即可 于是我们又dp[i][0/1]表示考虑到第i位,这一位和它后面离它最近的一个确定的数是否相等 每次从i-1转移即可 注意对于奇数的情况最终答案要n-1和n的dp值相乘以保证合法 代码 阅读全文
posted @ 2019-08-26 16:37 水题收割者 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 分析 每次修改用二位差分记录一下 之后对于三维分别统计即可 代码 阅读全文
posted @ 2019-08-26 16:29 水题收割者 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 分析 我们将没连的点连向周围四个点 其余的按照给定的方向连 我们将所有连出去的位置统一连到0点上 再以0作为树根 于是就将问题转化为了有向图内向树计数 代码 阅读全文
posted @ 2019-08-26 16:26 水题收割者 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 分析 此题难点在于一些最小生成树的性质 可以参考这里 https://www.cnblogs.com/Y-E-T-I/p/8462255.html 代码 阅读全文
posted @ 2019-08-26 16:22 水题收割者 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 分析 [1]无向图 图G的度数矩阵为D,邻接矩阵为A 我们定义这个图的Kirchhoff矩阵为D-A 这个矩阵的任意一个n-1阶主子式的行列式的绝对值就是这个图的生成树个数 [2]有向图 如果要求内向树计数,矩阵是 出度矩阵-邻接矩阵如果要求外向树计数,矩阵是 入度矩阵-邻接矩阵注意有向树计数的时候 阅读全文
posted @ 2019-08-26 16:20 水题收割者 阅读(203) 评论(0) 推荐(0) 编辑