首页 > 其他分享 >AtCoder Beginner Contest 389

AtCoder Beginner Contest 389

时间:2025-01-19 17:34:55浏览次数:1  
标签:AtCoder 题意 Beginner int 代码 cin long solve 389



A - 9x9

题意

一位数的乘法

思路

模拟

代码

点击查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;

const int mxn = 1e6 + 5;

void solve()
{
	string s;
	cin >> s;
	cout << (s[0] - '0') * (s[2] - '0') << endl;
}

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int T = 1;
	//cin >> T;
	while (T--)
	{
		solve();
	}

	return 0;
}


B - tcaF

题意

给定\(X\),输出\(n\),其中\(n\)的阶乘等于\(X\)

思路

数据不大,模拟

代码

点击查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;

const int mxn = 1e6 + 5;

void solve()
{
	int n;
	cin >> n;
	int t = 1;
	for (int i = 2; ; i++)
	{
		if (t == n)
		{
			cout << i - 1 << endl;
			return;
		}
		t *= i;
	}

}

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int T = 1;
	//cin >> T;
	while (T--)
	{
		solve();
	}

	return 0;
}


C - Snake Queue

题意

最初有一个空的蛇队列,每条蛇有头部坐标与长度两种属性(队头的头部坐标为\(0\),其他的头部坐标为前面所有蛇的长度和)接下来有\(Q\)次操作,每次操作有\(3\)种:
1.把长为\(l\)的蛇加到队尾
2.把队头的蛇出队(保证队列不空),后面的蛇的头部坐标都减少出队蛇的长度
3.输出第\(k\)条蛇的头部坐标

思路

直接模拟会\(T\),用指针来表示队头,用前缀和来维护长度(头部坐标)

代码

点击查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;

const int mxn = 1e6 + 5;

void solve()
{
	int Q;
	cin >> Q;
	vector<int> v;
	vector<int> pre;
	pre.push_back(0);
	int head = 0, delta = 0;
	while (Q--)
	{
		int a;
		cin >> a;
		if (a == 1)
		{
			int l;
			cin >> l;
			v.push_back(l);
			pre.push_back(pre.back() + l);
		}
		else if (a == 2)
		{
			delta += v[head];
			head++;
		}
		else
		{
			int k;
			cin >> k;
			cout << pre[head + k - 1] - delta << endl;
		}
	}

}

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int T = 1;
	//cin >> T;
	while (T--)
	{
		solve();
	}

	return 0;
}


D - Squares in Circle

题意

二维坐标上有无数\(1×1\)的正方形平铺。求以一正方形中心为圆心,\(R\)为半径作圆,能包含多少完整的正方形

思路

以\((0.5,0.5)\)为圆心,对于\(x=0\)和\(y=0\)的正方形可以确定为\(4(R-1)+1\),接下来只需要枚举下图所示的\(x\),同时计算最大\(y\)向下取整,累加即是答案

代码

点击查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;

const int mxn = 3e5 + 5;

void solve()
{
	int R;
	cin >> R;
	int ans = 4 * (R - 1) + 1;
	for (int i = 1; i * 1.0 + 0.5 <= R * 1.0; i++)
	{
		double x = i * 1.0 + 0.5;
		double y = sqrt(R * R - x * x) - 0.5;
		ans += 4 * (int)y;
	}
	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int T = 1;
	//cin >> T;
	while (T--)
	{
		solve();
	}

	return 0;
}


E -

题意

思路

代码

点击查看代码


F - Rated Range

题意

总共\(n\)场比赛,第\(i\)场比赛如果评分在\([L_i,R_i]\),则评分加\(1\)。现有\(Q\)次查询,每次查询给出始分数\(X\),求\(n\)场比赛后的总分。

思路

代码

点击查看代码



比赛链接 https://atcoder.jp/contests/abc389

标签:AtCoder,题意,Beginner,int,代码,cin,long,solve,389
From: https://www.cnblogs.com/Seii/p/18679464

相关文章

  • VP AtCoder Beginner Contest 381
    A-11/22String题意:定义\(11/22\)串是前面都是\(1\)后面都是\(2\),\(1,2\)的个数相同,中间是一个'/'。判断给你的字符串是不是\(11/22\)串。模拟即可。点击查看代码voidsolve(){ intn; std::cin>>n;std::strings;std::cin>>s;if(n%2==0||s.......
  • 250118 ABC389总结
    昨天激情地打了1场ABC。A一眼秒了。B一眼秒了。C两眼秒了。D1.5眼秒了,然后发现题读错了,不过问题不大,最后还是秒了。第一发没开longlong见祖宗了。全军复诵:不开longlong见祖宗。E一眼dp,但是我不会dp,所以想了一小下直接去看F了。最后的最后试图码了一下单调队列+暴......
  • AT_abc389_f [ABC389F] Rated Range 题解
    题目传送门前置知识Treap|线段树解法考虑将询问的\(x\)离线下来在升序排序后一起处理。观察到每次操作只有\(+1\),即其之间的相对大小关系不会发生变化,此时就只需要支持将值在\([l,r]\)内的数加一,可以记录懒惰标记。线段树上二分找到端点或直接FHQ-Treap分裂出合法......
  • [ABC389C] Snake Queue题解
    前情题意:问题陈述有一个(蛇)队列。最初,队列是空的。你会得到\(Q\)个查询,这些查询应按给出的顺序处理。查询有三种类型:类型\(1\):以1l的形式给出。一条长度为\(l\)的蛇会被添加到队列的末尾。如果添加前队列为空,则新添加的蛇的头部位置为\(0\);否则,它就是队列中最后......
  • Atcoder ABC389E Square Price 题解 [ 绿 ] [ 二分 ] [ 贪心 ]
    SquarePrice:垃圾卡精度,垃圾卡精度,垃圾卡精度,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人。把ll改__int128前WA*22,改__int128直接AC了,难评。抛开卡精度这题还是挺好的。暴力先考虑暴力思路,显然暴力应该这么打:把所有物品全丢进优先队列......
  • ABC389
    场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F!场上被E卡50min结果赛后一分钟过F......
  • Toyota Programming Contest 2025(AtCoder Beginner Contest 389)
    A-9x9题意:给你一个长度为\(3\)的乘法式,求答案。直接求即可。点击查看代码voidsolve(){std::strings;std::cin>>s;std::cout<<(s[0]-'0')*(s[2]-'0')<<"\n";}B-tcaF题意:求一个\(n\),使得\(n!=x\)。模拟即可。点......
  • AtCoder Beginner Contest 388
    A-A-?UPC题意给定字符串\(s\),输出\(s\)首个字符与\(UPC\)组成的字符串思路模拟代码点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongtypedefpair<int,int>pii;constintmxn=1e6+5;voidsolve(){ strings; ci......
  • AtCoder Regular Contest 058 [ARC058] F - Unhappy Hacking
    题意:有三种操作,在右边添加0/1或删除最右边的数(空字符串无操作)给出操作数\(N\),字符串\(s\),问有多少种方法经过\(N\)次操作后得到字符串\(S\)思路最开始在想三维dp,虽然发现了性质,但是没想到很好的用法重要性质:答案与字符串内容无关,仅与字符串长度有关定义\(f_{i,j}\)为操作\(i......
  • 基于协同过滤算法的电影购票系统的设计与实现-计算机毕设 附源码 38993
    基于协同过滤算法的电影购票系统的设计与实现目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5......