首页 > 其他分享 >ABC341总结

ABC341总结

时间:2024-02-22 23:56:21浏览次数:24  
标签:总结 ld ch int tp stk ABC341 define

ABC341总结

Score:1825

Rank:737

F

其实按照题意,原图可能有环,但是因为转移有权值限定,转换一下就是DAG,进行拓扑排序。

G

AK所差最后一题,使用数形结合思想,x轴为数组下标,y轴为值域。

题意是给出左端点,右端点任意,求区间平均值最大

进行前缀和处理,然后会惊奇的发现,平均数转化成了两点间直线斜率。接着使用凸包,单调栈排除不可能决策,栈顶即为当前答案。

时空复杂度均为 \(O(n)\)

// Problem: G - Highest Ratio
// Contest: AtCoder - Toyota Programming Contest 2024#2(AtCoder Beginner Contest 341)
// URL: https://atcoder.jp/contests/abc341/tasks/abc341_g
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define EPS 1e-8
#define ll long long
#define ld long double
#define PII pair<int,int>
#define PDD pair<int,int>
#define max3(a,b,c) max(max(a,b),c)
#define max4(a,b,c,d) max(max3(a,b,c),d)
#define lowbit(x) ((x)&-(x))
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define Yes printf("Yes")
#define No printf("No")
using namespace std;
//#pragma GCC optimize(2)
int read(){
	int res=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar();
    while(ch>='0' && ch<='9')res=res*10+ch-'0',ch=getchar();
    return res*f;
}
void write(int x){
	if(x<0)putchar('-'),x=-x;
	if(x>9)write(x/10);
	putchar(x%10+'0');
}
const int N=2e5+10;
int n;
ll a[N];
int stk[N],tp;
ld ans[N];
ld slope(int i,int j){
	return (ld)((ld)a[j]-(ld)a[i])/(ld)(j-i);
}
int main(){
	cin>>n;
	a[0]=0;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		a[i]+=a[i-1];
	}
	stk[tp=1]=n;
	for(int i=n-1;i>=0;--i){
		// printf("%d %d\n",i,stk[tp]);
		while(tp>1&&
			slope(i,stk[tp])<=slope(i,stk[tp-1]))
				tp--;//i也是凸包的一部分
		ans[i+1]=slope(i,stk[tp]);
		stk[++tp]=i;
	}
	rep(i,1,n)printf("%.8Lf\n",ans[i]);
	puts("");
	return 0;
}

标签:总结,ld,ch,int,tp,stk,ABC341,define
From: https://www.cnblogs.com/life-of-a-libertine/p/18028452

相关文章

  • 2.22前总结
    2.1[CQOI2011]动态逆序对[HEOI2016/TJOI2016]序列2.2[BZOJ3730]点分树|震波(模板)2.3[ZJOI2015]幻想乡战略游戏2.42.5[HNOI2015]开店[SDOI2011]消耗战2.6考试(270pts,rk1)2.7-2.17替罪羊树2.18-2.19考试+题解2.20[SDOI2015]寻宝游戏2.21-2.22考试+题解总结:做题......
  • 每日总结
    Scala循环有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了更为复杂执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:......
  • 2.21+2.22考试总结
    连续两天数组开小,\(D1T1\30+D2T2\60+D2T4\10\),一旦数组开大就\(A\)了\(qwq\)。Day1T1排序题目大意:给出一个长度为\(4n\)的序列\(a\),要求将其配对为\(n\)个四元组\(x_i,y_i,z_i,w_i\),求\(\max\sum\limits_{i=1}^n|x_iy_i-z_iw_i|\)。难度:三星(满分十星)发现绝......
  • abc341比赛总结
    写在开头\(2024\)年\(2\)月\(17\)日,本蒟蒻参加了平生第一场国外OJ的比赛:\(AtCoder\)\(Beginner\)\(Contest\)\(341\)。题目只有英文和日文的,显然,对于我来说,看题目都成了一个问题,所以比赛结果自然不怎么理想。各题作答情况请广大读者根据我的做题顺序依次来看各题分析......
  • 李宏毅《机器学习》总结 - RL
    引入给一张动物的图片,分辨是什么动物。这个问题可以用CNN解决(HW3)。核心是通过有标注(label)的图片进行学习。而在下围棋时,如何落子是一个难以标注的问题,但是机器可以学到什么是好的,什么是不好的。这就是强化学习的适用场景。结构总的目标是想找一个Actor(或称policy),环境(envir......
  • 正则表达式常用,自我总结
    经典实例:[1]+$由26个字母组成的字符串[2]+$由26个字母和0到9数字组成的字符串^-?\d+$整数形式字符串(复数前面有"-"号)[3][1-9][0-9]$正整数形式字符串[1-9]\d{5}中......
  • 2023年总结
    2023年:1.工作在狗东,晋升T8级别。2.在技术架构团队,一直在一线。3.输出了5+个工具或者框架,交易团队多少都有在用,输出文档N篇,内网居多,再也没有用一周写一遍像样的文章了(比较忙)。4.大部分业余时间贡献给了中医(线上性能调优搞的有点麻木了,想冲击一下人类最高智慧,颇难,2023共看了......
  • 读十堂极简人工智能课笔记09_读后总结与感想兼导读
    1. 基本信息十堂极简人工智能课10ShortLessonsinArtificialIntelligence&Robo[英]彼得·J.本特利著译林出版社,2023年5月出版1.1. 读薄率书籍总字数115千字,笔记总字数25104字。读薄率25104÷115000≈21.83%1.2. 读厚方向千脑智能脑机穿越未来呼啸而......
  • 遇到过的rsa解题总结
    rsa证明c=m**emodnm=c**dmodn将式1带入式2 得 m = (m ^ e % N ) ^ d % N需要证明:m == ( m ^ e % N ) ^ d % N(me%N)d%N=>  (me)d%N #模运算 a ^ b % p = ((a % p) ^ b) % pm^(e*d)%N #幂的乘方,底数不变,指数相乘将 e * d......
  • 20240221总结
    P4311士兵占领考虑先把棋盘放满,判掉无解,并把问题转化为拿走最多的棋子。这个问题就一眼最大流了,对于行和列分别建M,N个节点,源点向行节点连流量为该行最多可删个数的边,列节点向汇点连该列最多可删个数的边,对于每个可放士兵的(i,j),从行节点i向列节点j连一条流量为1的边,跑最大流......