首页 > 其他分享 >2024.2.13 LGJ Round

2024.2.13 LGJ Round

时间:2024-02-14 20:33:39浏览次数:31  
标签:LGJ 2024.2 le 椰子 线段 13 times fr 贡献

A

一个圆上有 \(2n\) 个点,你需要选出 \(n\) 个点对连一条线段,其中一些点对已经被选。
问所有点对方案中,联通块个数的和,联通的含义是线段相交,那么两条线段的端点都互相可达。
\(n\le 300\)。

线段相交,把圆放到序列上就是区间相交然而不包含。
我们拆贡献,计算每个区间 \([l,r]\) 的贡献,那么 \([l,r]\) 是极大的,其中的点不能往外连边。
我们可以计算这里的方案数,若 \([l,r]\) 未匹配的有 \(s\) 个。
只有 \(s\) 为偶数才有贡献,贡献是 \(g(s)=1\times 3\times ...\times (s-1)\).
然而有个问题,就是 \(l,r\) 可能不连通,我们要容斥掉这部分,设 \([l,r]\) 的贡献是 \(f_{l,r}\),
则 \(f_{l,r}=g(l,r)-\sum_{k=l+1}^r f_{l,k}\times g(k+1,r)\).

B

有向图,找一条 \(1\) 出发,回到 \(1\) 的最小环。\(n\le 1e4,m\le 2e5\)。
只需要正反图跑两遍,记录每个点的 \(dis\),和 \(fr\) 表示这条路的第一个路径。
枚举每个边 \((u,v,w)\),若 \(fr_u\neq fr_v\),那么贡献为 \(dis1_u+dis2_v+w\)。

C

有 \(n\le 2000\) 个椰子,给定权值 \(a_i\),你如果对椰子操作 \(a_i\) 次就可以打开它。
真实的 \(a_i\) 被随机打乱。所以你不知道每个椰子对应哪个权值。
制定一种策略。求要获得 \(m\) 个椰子最坏情况下最少多少次操作。

将 \(a_i\) 从小到大排序,设 \(f_{i,j}\) 表示仅考虑前 \(i\) 个椰子,已经获得 \(j\) 个椰子的最小代价。
有两种转移,第一种是获得 \(i\) 这个椰子,那么 \(f_{i,j}=f_{i-1,j-1}+a_i\).
第二种是不获得椰子,但是由于之前获得椰子的时候可能导致这个椰子也被操作,考虑最坏的情况。
所以 \(f_{i,j}=\min(f_{k,j}+a_k\cdot(i-k))\).
直接套斜率优化即可。单调栈。

标签:LGJ,2024.2,le,椰子,线段,13,times,fr,贡献
From: https://www.cnblogs.com/Simon-Gao/p/18015565

相关文章

  • #13 2024.2.14
    有人情人节恋爱。有人情人节看海。有人情人节打模拟赛。583.loj3709「ZJOI2022」面条这个题过于神秘了。首先假设\(n\)是奇数,不然预处理log轮就好了。然后会变成xxyyzz...uuvvw的形状,并且不会变。特别神秘的是,注意到把y-x,z-y,...,v-u,w-v写成序列,那么新的差分......
  • 南外集训 2024.2.14 T3
    总觉得做过,但是就是想不起来在哪里做到的。有两个人一开始在一棵树的根节点,每秒钟两人都可以向下走一条边。任意时刻,一个人可以瞬间移动到另一个人所在的点上。求遍历树上的所有点所需最短时间。\(1\len\le5\times10^6\)注意到我们只需要访问所有的叶子。我们把其中一个人......
  • Debug: tf_distribute_strategy_worker.yaml: Exit Code: 132, and log of pod is emp
    [ERROR:ExitCode:132,andlogofpodisempty.](base)maye@maye-Inspiron-5547:~/github_repository/tensorflow_ecosystem/distribution_strategy$kubectldescribepoddist-strat-example-worker-1-qv8wpName:dist-strat-example-worker-1-qv8wpNa......
  • 闲话2.13
    哎嘿,我复活了!昨天到的西安,旅游体验很棒啊......
  • Codeforces Round 113 (Div. 2)E. Tetrahedron(dp、递推)
    目录题面链接题意题解代码总结题面链接E.Tetrahedron题意从一个顶点出发走过路径长度为n回到出发点的方案总数题解考虑dp\(f[i][0|1|2|3]\):走了i步,现在在j点的方案总数转移:\(f[i][0]=f[i-1][1]+f[i-1][2]+f[i-1][3]\)\(f[i][1]=f[i-1][0]+f[i-1][2]+f[i-1][3]\)\(f......
  • 1339. 分裂二叉树的最大乘积
    这道题关键突破点就是先算出节点总和,然后找到一颗子树总和最接近总和的一半。乘积最大基本就是先要求总和,然后找到最接近总和一半。关键就是这一步,找到最适合子树的和。点击查看代码if(abs(2*cur-sum)<abs(2*best-sum)){best=cur;}完整代码:点击查看......
  • day13_文件特殊权限
    3.16作业⽤户权限、⽂件权限综合练习1.创建⽤户会涉及哪些⽂件的改动?以及如何验证⽂件被修改过了?(该文件的唯一值是否发生了变化)/etc/passwd用户信息useradd/etc/shadow用户密码信息passwd修改密码/etc/gshadow用户组信息groupadd/etc/group用户组密码信息......
  • 2.13
           ......
  • P1330 封锁阳光大学
    原题链接题解1.对于任意一点,只有被河蟹选中和没选中两种状态,变成了染色问题对于任意一个染了白色的点,其周围的点必须是黑色对于任意一个染了黑色的点,其周围的点必须是白色所以初始点染黑色还是染白色答案都是一样的2.任意两点之间不是绝对联通的,可能有多个图code#include<......
  • P1113 杂务
    一眼拓扑排序。但是发现可以同时做多件杂务,这就需要我们考虑好每件杂务的完成时间。显然,一件杂务要开始做,一定是该杂务的准备都完成,所以开始时间应该选择准备中最晚的完成时间。怎么处理这个时间?考虑一件杂务的“入度”是怎么变成\(0\)的,显然是队列中靠前的准备杂务到后面的......