首页 > 其他分享 >Educational Codeforces Round 158 (Rated for Div. 2) - VP记录

Educational Codeforces Round 158 (Rated for Div. 2) - VP记录

时间:2024-11-11 18:42:55浏览次数:1  
标签:Educational Rated int 158 sum long son ans include

A. Line Trip

油量必须支持车子通过所有加油站间的空间,还要注意开回来的时候终点不能加油。

点击查看代码
#include<cstdio>
#include<algorithm>
using namespace std;

const int N=55;
int n,x,a[N];

int main()
{
	int T; scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&n,&x);
		int ans=0;
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
			ans=max(ans,a[i]-a[i-1]);
		}
		ans=max(ans,(x-a[n])<<1);
		printf("%d\n",ans);
	}
	return 0;
}

B. Chip and Ribbon

每一对 \(a_{i-1}<a_i\) 都需要传送到 \(a_i\) 至少 \((a_i-a_{i-1})\) 次,注意开头不需要传送。

点击查看代码
#include<cstdio>
#include<algorithm>
using namespace std;

const int N=2e5+5;
int n,a[N];

int main()
{
	int T; scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		long long ans=0;
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
			ans+=max(a[i]-a[i-1],0);
		}
		printf("%lld\n",ans-1);
	}
	return 0;
}

C. Add, Divide and Floor

我的洛谷题解

D. Yet Another Monster Fight

我的洛谷题解

E. Compressed Tree

树上 DP,但是统计答案的时候是每一个点都可以是根的。

参考题解

#include<cstdio>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;

const int N=5e5+5;
const long long INF=1e18;
int n,a[N];

struct Allan{
	int to,nxt;
}edge[N<<1];
int head[N],idx;
inline void add(int x,int y)
{
	edge[++idx]={y,head[x]};
	head[x]=idx;
	return;
}

long long f[N],ans;
void DFS(int x,int fa=0)
{
	vector<long long> son;
	f[x]=a[x];
	ans=max(ans,(long long)a[x]);
	for(int i=head[x];i;i=edge[i].nxt)
	{
		int y=edge[i].to;
		if(y==fa) continue;
		DFS(y,x);
		son.push_back(f[y]);
		ans=max(ans,a[x]+f[y]);
		f[x]=max(f[x],f[y]);
	}
	sort(son.begin(),son.end(),greater<long long>());
	if(son.size()>1)
	{
		long long sum=son[0]+son[1];
		ans=max(ans,sum);
		for(int i=2;i<(int)son.size();i++)
			if(son[i]>0) sum+=son[i];
		f[x]=max(f[x],a[x]+sum);
	}
	if(son.size()>2)
	{
		long long sum=son[0]+son[1]+son[2];
		for(int i=3;i<(int)son.size();i++)
			if(son[i]>0) sum+=son[i];
		ans=max(ans,a[x]+sum);
	}
	return;
}

int main()
{
	int T; scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
			scanf("%d",&a[i]);
		for(int i=1;i<n;i++)
		{
			int x,y; scanf("%d%d",&x,&y);
			add(x,y),add(y,x);
		}
		DFS(1);
		printf("%lld\n",ans);
		
		for(int i=1;i<=n;i++)
			head[i]=f[i]=a[i]=0;
		idx=ans=0;
	}
	return 0;
}

标签:Educational,Rated,int,158,sum,long,son,ans,include
From: https://www.cnblogs.com/jerrycyx/p/18540316

相关文章

  • Educational Codeforces Round 144 (Rated for Div. 2) C. Maximum Set
    我们要选出最长的子序列,使得每一个数都是前一个数的倍数。因此自然我们可以想到选择最小值然后每次乘\(2\)。所以有\(l\times2^k\ler\),即\(k=\left\lfloor\log_2\frac{r}{l}\right\rfloor\)。所以最大的集合大小就是\(k+1\)。然后考虑最大的集合中最小值可能不同,我假设......
  • [ARC158C] All Pair Digit Sums 题解
    C-AllPairDigitSums题意:设\(f(x)\)为\(x\)的数字和。例如\(f(158)=1+5+8=14\)。给定一个长度为\(N\)的正整数序列\(A\),求\(\sum_{i=1}^{N}\sum_{j=1}^{N}f(A_i+A_j)\)。分析:首先明确\(f(x)\)为\(x\)的数位和。举例情况:若有两个数分别为:\(12,21\)。\[f(......
  • 第二届教育发展与社会科学国际学术会议 (EDSS 2025) The 2nd International Conferen
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍第二届教育发展与社会科学国际学术会议(EDSS2025)定于2025年1月17-19日在中国上海举行。会议旨在为从事“教育”与“社会科学......
  • Educational Codeforces Round 159 (Rated for Div. 2) - VP记录
    Preface重点策略:\[\large\textbf{\underline{先写简单好写的算法,再逐步修改优化}}\]十分有效,百试百灵,屡试不爽。A.BinaryImbalance当有相邻两字符不相等时,就可以不断向中间插入0。所以输出NO当且字符串全为1。点击查看代码#include<cstdio>usingnamespacestd;......
  • 158java ssm springboot基于Hive的大数据高校学生考试分析可视化系统考试评估(源码+文
         文章目录系列文章目录前言一、详细视频演示二、项目部分实现截图三、技术栈后端框架springboot前端框架vue持久层框架MyBaitsPlus系统测试四、代码参考源码获取前言......
  • Educational Codeforces Round 161 (Rated for Div. 2) - VP记录
    Preface先被A题硬控\(20\)分钟,有点不爽。又看到E题AC的人比D题多而去嗑E题去了,结果D题反而是我更能做的。将问题排序:根据你所需付出的努力,将能够最快解决的问题排在前面。(答题的次序为:以前做过的,容易的,不熟悉的,难的)——李博杰《骗分导论》\(\rmP_{114}\)所以......
  • Educational Codeforces Round 171 (Rated for Div. 2) 题解
    A.PerpendicularSegments显然构造一个\(k\timesk\)的左下角是原点的正方形即可。voidslv(){ intx,y,k;Read(x,y,k); intmn=min(x,y); if(mn*mn*2>=k*k) Write(0,'',0,'',mn,'',mn,'\n'), Write(0,......
  • Educational CF Round 171
    游记理所当然VP了秒速过A,打B犯了一天的傻逼看错条件理所当然的只过了一道愉快开启改题生活当然改题也挺那啥的题解A挺简单的找\(X,Y\)的最小值,即找到长方形可框住的最大的正方形直接输出此正方形的顶点坐标即可证明考虑超出此正方形的点在旋转平移以后都会超出长方形范......
  • CF2026 (Educational round 171) vp记录
    EducationalCodeforcesRound171vp记录A.PerpendicularSegments4min+0唐题。一眼限制紧的边必然连对角线,因为最小长度的限制是相同的所以另一条边也连对角线即可。B.BlackCells9min+0唐题。显然最优策略是相邻的点匹配,$n$为奇数的情况有一个孤立点随便连,为......
  • 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......