首页 > 其他分享 >CF2026 (Educational round 171) vp记录

CF2026 (Educational round 171) vp记录

时间:2024-11-01 20:45:53浏览次数:3  
标签:二分 Educational 前缀 min CF2026 vp 171

Educational Codeforces Round 171 vp 记录

A. Perpendicular Segments

4 min +0

唐题。

一眼限制紧的边必然连对角线,因为最小长度的限制是相同的所以另一条边也连对角线即可。

B. Black Cells

9 min +0

唐题。

显然最优策略是相邻的点匹配, $n$ 为奇数的情况有一个孤立点随便连,为了写起来方便设 $dp_{i,0/1}$ 表示前 $i$ 个点自己匹配,是否使用了新点的最小代价,转移显然。

C. Action Figures

19 min +0

贪心。

第一眼尝试从前往后返回贪心,很难做。

所以倒序考虑,显然要尽量让当前数被白嫖,扫到这里还没被匹配溢出且当前值可以当天买就可以白嫖。

D. Sums of Segments

26 min +0

二分,前缀和。

容易发现同一开头的区间在 $b$ 数组中是连续一段的,直接二分就可以找出有哪些开头的区间是整体被计入答案的,二分即可,贡献可以前缀和计算。

此时剩一段不全的区间,直接用前缀和的前缀和计算贡献即可。

E. Best Subsequence

不会做qwq

网络流题。

或起来以后 1 的个数是很难刻画的,所以考虑转化!

假设初始时 or 出来全是 1 ,也就是初始贡献是 -60 ,计算 0 的贡献,发现 0 的贡献的条件是有一些数与某位的 0 矛盾,两边不能同时选。

所以考虑最大独立集的建模,把每个位置和这个位置的数所有 1 的位置进行连边,由于二分图最大独立集= $n$ - 最小点覆盖,所以直接跑流就求完了。

F. Bermart Ice Cream

不会做qwq

巧妙 trick。

首先不管可持久化,考虑只有 2 3 4 操作怎么做。

可以发现修改要实现一个类似 queue 的东西,但是背包并不对 queue 友好,对 stack 更友好。

所以我们可以实现一个双栈模拟队列!

直接用双栈模拟队列即可实现 在尾部插入/在头部删除 和查询,每次查询合并答案是简单的,复杂度均为 $O(p)$。

现在考虑加入可持久化。

容易发现栈不太好在线可持久化,所以考虑离线下来建出版本树,容易发现此时只需要实现头尾插入删除即可!

根据双栈模拟队列的思路,可以直接得到一个单次 $O(len)$ 的实现方式,这显然不够优。

容易发现这时不够优是因为每次一边为空的时候都需要把另一边整体移动,这很不优。

所以可以直接在一边为空的时候只移动另一边的一半,这是均摊 $O(1)$ 的。

于是这题以 $O(qp)$ 的复杂度解决了。

标签:二分,Educational,前缀,min,CF2026,vp,171
From: https://www.cnblogs.com/sunrise1024/p/18521116

相关文章

  • Educational Codeforces Round 20 E. Roma and Poker
    差分约束我们记W表示\(1\),L表示\(-1\),D表示\(0\),然后记前\(i\)位的前缀和是\(dis[i]\)。则我们可以根据题面得到如下约束。当前位是W,则有\[\left\{\begin{matrix}dis[i]-dis[i-1]\le1\\dis[i-1]-dis[i]\le-1\end{matrix}\right.\]当前位是L,则有\[\left\{\begin{m......
  • [专有网络VPC]创建和管理流量镜像
    通过流量镜像功能,您可以将符合筛选条件的经过弹性网卡ENI的网络流量复制并发送到指定目的实例,从而实现对网络流量的监控和分析需求。前提条件初次使用时,请登录流量镜像开通页面,根据提示开通流量镜像功能。如果镜像会话中的镜像源和镜像目的不属于同一个专有网络VPC(Virtual......
  • Virtual Private Network (VPN) Lab
    Task1:VMSetup使用上一个VPN的Labsetup包所构建的实验环境,所以这个任务就相当于是解决了。Task2:CreatingaVPNTunnelusingTUN/TAPStep1:自己构造tun_server.py,加权限并且在server上运行Step2:在HostU上构建tun_client.py,并运行tun_client.py文件:Step3......
  • Educational Codeforces Round 171 (Rated for Div. 2)B-D
    B.BlackCells题目:思路:首先我们发现要分奇偶讨论。偶数:很简单,取a[2]-a[1],a[4]-a[3],.........a[n]-[n-1]的最大值。奇数:我只需要知道假如删除当前的这个数剩下的数最大的间隔值,注意只能删除1,3,等奇数位,因为要保证删除后左右的数为偶数。(我的代码里面是偶数位因......
  • 2024牛客暑期多校训练营10 - VP记录
    A.SurrendertoMyWill直接判断当前是否不可翻盘。点击查看代码#include<cstdio>usingnamespacestd;intmain(){ charstr[10];scanf("%s",str); inty=0,n=0; for(inti=0;i<5;i++) { if(str[i]=='Y')y++; if(str[i]=='N')n++; ......
  • # [Educational Codeforces Round 171](https://codeforces.com/contest/2026)
    EducationalCodeforcesRound171D.SumsofSegments定义四个前缀和:\(s_i=a_1+a_2+\dots+a_i\)\(u_i=s_1+s_2+\dots+s_i\)\(t_i=s(i,i)+s(i,i+1)+\dots+s(i,n)\)\(ts_i=t_1+t_2+\dots+t_i\)\(s_i\)为\(a_i\)的前缀和,\(u_i\)为\(s_i\)的前缀和,\(t_i\)为分块之后第......
  • Educational Codeforces Round 171 (Rated for Div. 2) 10.28 ABCD题解
    EducationalCodeforcesRound171(RatedforDiv.2)10.28(ABCD)题解A.PerpendicularSegments数学(math)计算几何(geometry)题意:给定一个\(X,Y,K\)。需要求解出二维坐标系中的四个点\(A,B,C,D\),满足:\(0\leqA_x,B_x,C_x,D_x\leqX\),\(0\leqA_y,B_y,C_y,D_y\leqY\)。并......
  • Educational Codeforces Round 171 (Div. 2)
    EducationalCodeforcesRound171(Div.2)A猜结论,两条边的最小值最大时,两条边相等。所以取\(min(x,y)\)为边长的正方形,对角线就是所求。#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>usingnamespacestd;intx,y,k;voidsolve(){......
  • VP
    EducationalCodeforcesRound161(RatedforDiv.2)D\(n\)个怪物站成一个序列,有防御值和攻击值,每个怪物会受到来自左右两个怪兽的攻击,如果防御值小于两边攻击值之和则怪物死亡,从序列中移除,求每次移除的怪物。暴力做第一次,发现每次可能被移除的怪物一定是上一次被移除的怪物......
  • AtCoder Beginner Contest 366 - VP记录
    A-Election2高桥日常出镜,kkk好好学学。点击查看代码#include<cstdio>usingnamespacestd;intmain(){ intn,t,a; scanf("%d%d%d",&n,&t,&a); if(t>n-t||a>n-a)printf("Yes\n"); elseprintf("No\n"); return0;......