首页 > 其他 > 详细

CF1396

时间:2020-09-11 19:47:00      阅读:123      评论:0      收藏:0      [点我收藏+]

CF1396

A [* easy]

给定 \(n\) 个数 \(a_i\),操作 \(3\) 次,每次选择一个区间,给区间内每个数增加 \(\rm len\) 的倍数的值。

使得所有数为 \(0\)

\(1\le n\le 10^5\)

\(\rm Sol:\)

考虑这样操作,先操作 \([1,n]\),再操作 \([1,1]\)\([2,n]\),注意到当 \(n\ne 1\) 时有 \(n-1\)\(n\) 互质,所以可以构造得到解。

B [* easy]

给定 \(n\) 个堆石头,每堆有 \(a_i\) 个石子,Alice 和 Bob 轮流操作,每次操作为:选择与对方上一轮操作选择的不同的一堆石头,拿走其中一个石子。(第一轮任意)

求 Alice 和 Bob 谁必胜。

\(n\le 100,a_i\le 100\)

\(\rm Sol:\)

注意到如果存在一堆石头满足 \(\sum a_i<2\times a_x\),那么 Alice 可以一直拿这堆石头。所以 Alice 获胜。

否则由于假设 Alice 操作后变成了这种情况,那么 Bob 必胜,所以双方都会避免这个情况发生,所以所有石头都会被取完,那么根据 \(\sum a_i\) 的奇偶性判定答案即可。

C [* easy]

题意很复杂。

大概先画一下你的行动路线,发现大概是一条链上挂了一点环,然后最后一个环可以不走回来的这样的一个东西。

所以就可以考虑 dp 了,设 \(f_i\) 表示当前到位置 \(i\),将 \([1,i]\) 中所有怪都消灭的方案。

那么转移有两种:

  1. \(i-1\) 处转移过来,这个时候我们要直接消灭 \(i\) 处的怪物才能保证留在 \(i\) 处。
  2. 枚举环的起点 \(l+1\),那么每个位置的怪物可以直接以最小花费解决(注意我们会路过每个怪物至少两次)预处理最小花费,其前缀和,转移为 \(f_i=f_l+S_n-S_{l}+(i-l-1)\times 3d+d\)

然后边界情况会需要一点特判比较麻烦,所以可以直接认为 \(f_0=-d\)(相当于增加了一段起点)

然后对于 \(f_n\) 单独转移一下即可,第二种转移显然可以拆开记录前缀 \(\min\)

D [* hard]

给定 \(n,k,L\) 表示有一个大小为 \(L\times L\) 的矩形,内部有 \(n\) 个点,每个点有一个颜色 \(c_i\),位于 \((x_i,y_i)\),保证 \(1\le c_i\le k\) 且每种颜色至少有一个点,你需要求有多少个矩形满足其内部含有所有颜色的点。

\(k\le n\le 2000,L\le 10^9\)

\(\rm Sol:\)

将元素进行离散化现在我们的矩形大小为 \(n\times n\) 了。

考虑一维的情况如何处理,对于每个 \(l\) 维护 \(f(l)\) 表示最小的 \(r\) 使得 \([l,r]\) 合法。那么此时贡献为 \((L-r+1)\)

处理 \(f(l)\) 可以预处理每个颜色的下一个位置,取 \(\max\) 即可。

接下来考虑处理二维的情况,我们枚举矩形的一个边界(某一行),然后先对这一行做一维的处理,然后考虑将其拓展为二维的情况,每次在某个位置插入一个颜色 \(c\),这会使得答案改变,影响的区间 \([pre_c,i]\) 这个区间内的答案可能会变小。然而我们计算答案为取 \(\max\) 所以难以解决。

不妨反过来考虑,先处理出最终的答案,然后逆着处理,每次删除一个新颜色 \([pre_c,i]\) 的答案会取 \(\max\),然后每次查询一次全局贡献和。显然这是可以使用线段树维护的,然而直接取 \(\max\) 要写某科技树?所以好像不是很好做。

事实上观察到 \(f(l)\) 是单调的,所以直接写一个线段树二分找到对应区间,然后执行区间覆盖即可,复杂度为 \(\mathcal O(n^2\log n)\)

不过离散化后处理感觉很难写,代码先咕咕咕着。

E

给定一棵 \(n(n\rm ~is ~even)\) 个点的树 \(T\) 以及常数 \(k\)。现生成一张 \(n\) 个点的完全图 \(G\),对于每对点 \((u,v)\) 连接一条边权为 \(\textrm{dist}(u,v)\) 的边。

你需要求这张图的一个完美匹配使得边权和恰好为 \(k\);输出一组方案或确定不存在解。

完美匹配的定义是:一组边集,满足每个点都恰好被覆盖一次。

\(n\le 10^5,k\le n^2\)

\(\rm Sol:\)

题目太神仙了,先咕咕咕着。

CF1396

原文:https://www.cnblogs.com/Soulist/p/13653490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!