摘要: E - Swap Places 题意 一个简单无向图,每一个点为黑白色的其中一种。 有2个人,x 在点 1,y 在点 n。 在每一步中,每个人都同时向相邻点移动,要求 2 人移动到的格子颜色不能相通。 问最少移动多少步可以使得 x 在点 n,y 在点 1。 数据规模为点数最多为 2000,边数最多为 阅读全文
posted @ 2023-02-20 21:04 qrfkickit 阅读(43) 评论(0) 推荐(0) 编辑
摘要: Ex K-th Beautiful Necklace 题意 有 N 个石头,每个石头有不同的颜色和价值 颜色一共有 C 种,每种颜色至少存在一个石头 可以选择一些石头串成一条项链,项链的价值是所有石头价值的异或和 从 N 个石头中选择 C 个石头串一串项链,要求每个石头的颜色都不同 问所有的串法中, 阅读全文
posted @ 2022-06-18 14:54 qrfkickit 阅读(80) 评论(0) 推荐(0) 编辑
摘要: C News Distribution 并查集水题 D Bicolored RBS 括号匹配问题,如果给出的括号序列nesting depth为n,那么最终可以分成两个nesting depth为n / 2的序列。 在进行匹配的时候,如果当前栈中的左括号大于等于 n / 2,那么剩下的括号就要进行标 阅读全文
posted @ 2019-05-21 01:17 qrfkickit 阅读(246) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意: 有一个花园,有些地方是草地,有些地方是洞,现在要在这个花园中修建一个泳池,泳池全部由洞构成。 把洞变成草地需要花费一定的费用,把草地变成洞也需要花费一定的费用,并且泳池的边缘的草地上必须修建防护栏,也需要一定的费用。 花园的边缘地带一定得是草地。 问修建这个泳池的最少花费。 思 阅读全文
posted @ 2019-05-20 20:08 qrfkickit 阅读(96) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意: 给出一个无向图,类似三角形的样子,然后给出边的权值,问找一条从第一个点到最后一个点的路径,要求每一条边只能走一次,并且权值和最大,点可以重复走。 思路: 首先观察这个图可以发现,所有的点的度数都是偶数。然后由每条边只能走一次知道,这个是和欧拉路相关的,是欧拉道路,不是欧拉回路, 阅读全文
posted @ 2019-05-20 19:54 qrfkickit 阅读(265) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意: 运送k个超级计算机,边是双向的,但是对于某一条边,一天只能运送一台机器,且不能出现同时双向运送,问最少需要多少天,并且输出每天的路径。 思路: 首先枚举天数用二分,极限情况最多100天,假设为lim; 然后把每个点都拆成$lim$个,表示在某天的这个点,那么对于输入的每条边$u 阅读全文
posted @ 2019-05-15 15:50 qrfkickit 阅读(196) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意: DAG的最小路径覆盖,一条边可以被重复覆盖多次,但是一次只能沿着DAG的方向覆盖一条链,问最少覆盖次数。 思路: 看了半天没有思路,所以去搜索了题解,然后发现是有源汇上下界的最小流,这个东西依赖于有源汇上下界的可行流,然后又依赖于无源汇上下界可行流,所以就都去学了一下,写一个简 阅读全文
posted @ 2019-05-09 21:12 qrfkickit 阅读(189) 评论(0) 推荐(0) 编辑
摘要: https://vjudge.net/problem/UVA 12264 题意: 有很多个阵地,分为敌方和己方,每个士兵可以移动到相邻的己方的阵地,但是只能移动一步。 现在要让与敌方相邻的阵地中士兵最少的最多。 思路: 最少的最多,那显然二分。 二分这个最少的值。拆点,敌方阵地不管,S向己方阵地$i 阅读全文
posted @ 2019-05-07 21:51 qrfkickit 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一棵树,两种操作: 1.求出a到b的距离; 2.修改某一条边的权值。 思路: 可以用树链刨分(我不会 首先,求a到b的距离,因为有很多组询问,所以必须得用lca解决 ans = dis[a] + dis[b] - 2 * dis[lca(a,b)] dis是这个点到根的距离 修改某一条边 阅读全文
posted @ 2018-06-12 14:58 qrfkickit 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 树状数组最原始的作用就是求前缀和,可以实现单点修改和区间查询。 但是假设现在有: 1.区间修改,单点查询 2.区间修改,区间查询 但是又不想敲线段树怎么办? 就用树状数组喽。 假设现在有一个原数组a(假设a[0] = 0),有一个数组d,d[i] = a[i] - a[i-1],那么 a[i] = 阅读全文
posted @ 2018-06-12 11:22 qrfkickit 阅读(4237) 评论(4) 推荐(3) 编辑
摘要: 题意: 小Q非常喜欢数学,但是他的口算能力非常弱。因此他找到了小T,给了小T一个长度为nn的正整数序列a1,a2,...,ana1,a2,...,an,要求小T抛出mm个问题以训练他的口算能力。 每个问题给出三个正整数l,r,dl,r,d,小Q需要通过口算快速判断al×al+1×...×ar−1×a 阅读全文
posted @ 2018-06-11 00:07 qrfkickit 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 题意: n枚硬币排成一圈,Alice和Bob轮流从其中取一枚或者两枚连续的硬币。 硬币取走之后留下空位,相隔空位的硬币不算连续的。 Alice先取,如果一个人取完之后没有硬币,那么这个人获胜。 思路: 当n <= 2,那么肯定是Alice获胜; 考虑,如果剩下偶数段石子,那么当Alice取了之后,B 阅读全文
posted @ 2018-05-29 12:06 qrfkickit 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个数组,要求把他们排成升序,两个数字交换的代价是x + y,求代价的总和。 思路: 简单的逆序对变形,树状数组维护小于的cnt和sum即可。 代码: 阅读全文
posted @ 2018-05-24 04:55 qrfkickit 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个N * N * N规模的矩阵,有2种操作:1.把A[i, j, k]反转,(x1<=i<=x2,y1<=j<=y2,z1<=k<=z2). 2.查询A[x,y,z]的值。 思路: 三维树状数组裸题,得画图好好推导一下。 区间更新,单点查询。 代码: 阅读全文
posted @ 2018-05-24 04:52 qrfkickit 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题意:二维平面上一开始所有星星都是暗淡的。 给出3种操作: 1.将x,y处的星星点亮; 2.将x,y处的星星灭掉; 3.统计x1,y1,x2,y2区间内有多少颗亮的星星。 思路: 二维树状数组裸题。 注意x1,x2,y1,y2数据给出的并不是有序的,这是一个坑点。 代码: 阅读全文
posted @ 2018-05-24 04:49 qrfkickit 阅读(142) 评论(0) 推荐(0) 编辑