ICode9

精准搜索请尝试: 精确搜索
  • 题解 连边2021-10-10 15:34:23

    传送门 题面保证数据随机,所以乱搞就好 直接忽略选取任意一个的条件,最短路记录前驱 ……然后就做完了吗? 当出现类似 \(n=1e5, m=2e5\) 的时候数组尤其容易开小,应该开 \(4e5\) 而不是 \(2e5\) 写暴力的时候注意memset整个数组可能就T了 Code: #include <bits/stdc++.h> using na

  • CSP-S济南2021-10-01 15:31:59

    Day 1 1 直接枚举可行性方案, 复杂度 O(2^n) 2 考虑按照 C 为关键字排序, 于是问题变成了求 1 ~ i 区间内可能数组的个数, 再按位考虑,由于每一位都是独立的, 于是可以拆开计算, 最后再 * 到一块, 操作变为区间一 异或 0 / 1, 可以差分, 再将 l 和 r + 1 连边, 会形成若干个联通块, 每个连

  • 【题解】[Codeforces Gym 101224 F] Lonely Dreamoon 2 | 20210930 模拟赛 序列(sequence)2021-09-30 20:31:26

    题目链接 题目链接 题意 重排数组,使得相邻两数之差绝对值的最小值尽可能大。\(n\leq 10^5\) 题解 排序,为了方便表述考虑连边。如果某条边的跨度不足 \(\lfloor \dfrac{n}{2}\rfloor\),我们可以通过调整覆盖它的某条边(变为交叉)来使答案不减。因此我们要连边使得每条边跨度都有 \(\lf

  • 三元环计数2021-09-28 14:03:47

    无向图三元环计数 从度数小的点向度数大的点连边,若度数相同则将编号小的向编号大的连边。 可以证明复杂度是 \(O(m\sqrt{m})\) 。 有向图三元环计数 将所有边看成无相,按照有向图的方式找出所有三元环,再进行检查是否在原图上也构成三元环。 竞赛图三元环计数 \(\dbinom{n}{3}-\sum_

  • 2-SAT2021-09-08 15:02:44

    主要内容 \(\operatorname{2~-~SAT}\),简单的说就是给出 \(n\) 个集合,每个集合有两个元素,已知若干个 \(<a,b>\) ,表示 \(a\) 与 \(b\) 矛盾(其中 \(a\) 与 \(b\) 属于不同的集合)。然后从每个集合选择一个元素,判断能否一共选 \(n\) 个两两不矛盾的元素。显然可能有多种选择方案,一般题

  • D2. Mocha and Diana (Hard Version) —— Codeforces Round #738 (Div. 2)2021-09-06 21:32:21

    D2. Mocha and Diana (Hard Version) https://codeforces.com/contest/1559/problem/D2 题目大意 给出两个图,现在可以进行一个操作,就是选出两个点 \(x,y\),并且在两个图中给 \(x,y\)之间连一条边,这两个点必须满足连边之前不在同一个联通块内。询问你最多可以连多少条边? 解题思路

  • [luogu7418]Counting Graphs P2021-08-28 07:00:14

    参考[luogu7417],同样求出最短路,得到二元组$(x,y)$并排序,记$tot_{(x,y)}$为$(x,y)$的数量 其中所给的两个条件,即分别要求: 1.$(x,y)$只能和$(x\pm 1,y\pm 1)$连边 2.每一个$(x,y)$都向$(x-1,y\pm 1)$中的一个连边、$(x\pm 1,y-1)$中的一个连边 (另外,注意在$x+1=y$时$(x+1,y-1)$也即为

  • CF1559 D1&D2 题解2021-08-21 11:03:15

    这是 CF1559 D1 & D2 的题解。 先来看看 Easy Version。数据范围:\(1\le n\le 10^3\)。 结论:最终态的两片森林中至少有一片是一棵树。 证明: 当第一片森林中只有一棵树时,原命题成立。 于是设第一片森林中至少有两棵树。设其中两棵分别为 \(A\) 和 \(B\),那么 \(\forall a\in A,b\in

  • 线段树优化建图学习笔记2021-08-17 14:05:00

    线段树优化建图适用于对一段区间内的点进行连边,如果暴力连边,复杂度是 \(O(n^2m)\) 的,显然过大。 考虑支持各种区间操作的线段树。建立两棵线段树,第一棵树从父亲向儿子连边权为0的边,这里称为出树,第二棵树从儿子向父亲连边权为0的边这里称为入树,它们的叶子节点是相同的,为题目里给出

  • 线段树优化建图2021-08-13 09:02:07

    前言 今天我打开考试题目一看,发现四道考试题甚至看不出来是什么算法。 于是我听大佬说,这个题啊,是线段树优化建图板子题。很毒瘤的,不搞线段树优化建图就会爆\(0\)。 我害怕极了,自从我打暴力的水平提高,模拟退火用得越发熟练,玄学预估答案越发准确,我就没爆\(0\)过了。(至少有20分吧 所

  • 7.29训练题解2021-07-30 22:05:01

    这次是搬的联想杯的题,(确实要好一些) link solution A:考虑x,y大小关系分别模拟即可 B:模拟 C:模拟 D:由于fib性质每条边存(max,min)按顺序比较做mst即可 E:不同排列间连边最短路即可,编号用康拓展开求 F:咕咕咕 G:单调栈维护一下即可 H:行列维护最晚时间 I:没仔细看题解,大概首先有很多

  • 【从集合S中取出M对数,使得“每对数的差的平方和最大】”2021-07-27 08:31:31

    题目:从集合S中取出M对数,使得“每对数的差的平方和最大”, 做法: Step1:从S中选最小的M个数,再从S中选最大的M个数, 记这2M个数分别为\(a_1,a_2,\cdots,a_{2m-1},a_{2m}(a_1<a_2<\cdots<a_{2m-1}<a_{2m})\) Step2:最大值与最小值配对,次大值与次小值配对,次次大值与次次小值配对...... 那

  • 最小割构图2021-07-14 23:03:34

    最小割构图 二分图中,用最小割表示变量之间的关系。 下面用\(x\rightarrow y\)表示条件x满足则条件y满足。 同时令\(x_l\)表示\(x\)是一个左边的点,\(x_r\)表示右边的点。 1. \(x_l\rightarrow !y_r,y_r\rightarrow !x_l\) 直接连边\(x_l\)到\(y_r\),边权为\(\infty\)。 2.\(x_l\or y

  • 题解 [HDU5669]Road2021-07-09 10:03:24

    题意简述 一张n个点的图,连边方式为区间[a, b]中每一个点向区间[c, d]中每一个点连带权无向边,求可使k条边权值变为0的最短路(其中起点为1,终点为n) n \(\leq\) 50000, 连边次数m \(\leq\) 10000, K \(\leq\) 10, 边权w \(\leq\) 1000 分析 如果暴力连边的话,即使m = 1也需要连 1e9 次,根

  • luogu P3825 [NOI2017] 游戏2021-06-25 21:04:03

    题面传送门 如果没有x就是2-SAT裸题。 具体的,如果当前\(x\)不满足,直接跳过,如果\(y\)不满足,那么连边如果\(x=nx\)满足,那么\(x=nx^1\)满足。其它就正常连边。 然而这题有x。 考虑到x的数量很少,我们可以直接爆搜每个x是\(a\)还是\(b\)还是\(c\),但是这样不优。 发现其实\(a\)与\(b\)就

  • 【洛谷6966】[NEERC2016] Cactus Construction(圆方树+构造)2021-06-16 10:32:36

    点此看题面 给定一棵\(n\)个点的仙人掌。 初始每个点自成一个点集,所有点颜色都为\(1\),你可以进行三种操作:合并两个点\(x,y\)所在的点集;在点集\(x\)中\(a,b\)两种颜色的点之间两两连边;把点集\(x\)中所有颜色为\(a\)的点的颜色修改为\(b\)。 \(n\le5\times10^4\) 圆方树 遇上仙人

  • 题解 [JXOI2012]奇怪的道路2021-05-29 16:02:54

    考场上我坚持认为这是个组合数题。。。 看到\(k\leq8\)我想状压来着,但是不知道怎么压 实际上,对于点i和点j的连边(\(j\in[i-k, i-1]\))只有连或不连两种状态 而如果i与比j编号小的点连边的情况已经考虑完了,方案数就可以连带下来,如此就可以建立转移 令\(dp[i][j][s][l]\)为在点i,连了j

  • 【CF117C】Cycle2021-05-12 15:35:31

    题目 题目链接:https://codeforces.com/contest/117/problem/C 给定一张竞赛图,求任意一个大小为 \(3\) 的环。 \(n\leq 5000\)。 思路 给出一种非常简洁的做法。 考虑对于一个点 \(x\),我们能找到两个点 \(y,z\),满足它们之间的连边如下: 那么 \(x\to z\) 这条边一定是没用的,也就是如

  • JZOJ3483. 囚人的旋律2021-05-05 15:36:28

    题目大意 给出一个由 \(n\)个数的排列, 逆序对之间连边 的方式构造出来的无向图, 求图中既是独立集又是覆盖集的点集的个数. 形式化的, 若\(i<j, p_i > p_j\), 则在图中连一条边\((i,j)\). \(n <= 1000\). 解题思路 不难想到把图转化为序列上来做. 那么图中的边集转化成了序列上的

  • 「JOISC 2017 Day 1」港口设施2021-05-03 11:01:13

    传送门 显然时间相交的货物不能在一个栈中,在其间连边,求的是二分图染色数。 考虑优化连边,按照右端点排序。 每次需要与左端点在 \((a_i,b_i)\) 内的货物连边,也就是染成相同颜色,然后将 \(a_i\) 在左端点集合中删去。 任意时刻,集合中同色的货物的左端点是连续的一段。 连边时,已经同色

  • P2774 方格取数问题(最小割)2021-04-14 16:04:20

    传送门 题目描述: 有一个 m 行 n 列的方格图,每个方格中都有一个正整数。现要从方格中取数,使任意两个数所在方格没有公共边,且取出的数的总和最大,请求出最大的和。 思路:把棋盘通过纵横坐标和(i+j)的奇偶性拆成黑色和白色的点,然后选择黑色/白色的点与源点连边,权值为点权,白色/

  • 如何优雅地生成仙人掌图2021-04-04 22:03:59

    用途 如果某个无向连通图的任意一条边至多只出现在一条简单回路里,我们就称这张图为仙人掌图。 所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 在某些情况下,我们会需要生成仙人掌图来检验代码的正确性。 随机连边的话效率太低,而且生成的图也可能不合法。 看上去似乎不大

  • 12021-03-14 08:33:29

    AGC034 D - Manhattan Max Matching 可以发现曼哈顿距离 \(|x_1 - x_2| + |y_1 - y_2| = max(x_1 - x_2 + y_1 - y-2, x_1 - x_2 - y_1 + y_2, -x_1 + x_2 + y_1 - y_2, -x_1 + x_2 - y_1 + y_2)\), 也就是合法即最大. 所以可以建四个点分别对应四种选择方案, 然后分别与红蓝点两

  • 建立虚点?一类暴力连边会超时的最短路问题2021-02-23 17:35:00

    最近在牛客和cf上面一连做到了两道类似的题目,是关于最短路算法优化问题的。   https://ac.nowcoder.com/acm/contest/6885/E 题目大意: 给定 个点,第 个点有权值 。如果对于 有 不为 ,那么 间有无向边,边权为 。问从 到 的最短路。 首先暴力连边的做法肯定是不行的,由于题目条

  • 【图论】2-SAT2021-02-18 22:35:50

    2-SAT,表示为一系列约束 \(x_i\; or\; x_j\) 即两个变量中至少选择一个为真。 那么,假如其中一个选择了假,另一个一定要选择为真。 拆点,把变量 \(x_i\) 取真用点 \(V_i\) 表示,变量 \(x_i\) 取假用点 \(V_{i+n}\) 表示。那么上面的一个约束就连边:\((V_{i+n},V_j\) 和 \((V_{j+n},V_i\)

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有