当前位置:网站首页>Atcoder beginer contest 233 (a~d) solution
Atcoder beginer contest 233 (a~d) solution
2022-07-06 02:38:00 【Time is the most testing person】
AtCoder Beginner Contest 233 Answer key
List of articles
A - 10yen Stamp
【 Topic link 】A - 10yen Stamp (atcoder.jp)
The question : The current number can be added each time 10, Ask at least several times before sending a letter
- x > y: The instructions are enough to send
- x < y: Can't send , Then add 10, know x > y until , Count .
【 Code implementation 】
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <map>
#include <queue>
#include <deque>
#include <vector>
#include <string.h>
#include <unordered_set>
#include <unordered_map>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
int main()
{
int x, y;
cin >> x >> y;
if(x >= y) cout << 0;
else
{
int ans = 0;
while(x < y)
{
x += 10;
ans ++;
}
cout << ans;
}
return 0;
}
B - A Revers
【 Topic link 】B - A Reverse (atcoder.jp)
The question : The string s stay [l,r] After the string of is flipped , Output s
Knowledge point : String emulation
【 Code implementation 】
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <map>
#include <queue>
#include <deque>
#include <vector>
#include <string.h>
#include <unordered_set>
#include <unordered_map>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 1e5 + 10;
char s[N];
int main()
{
int l, r;
scanf("%d%d", &l, &r);
scanf("%s", s + 1);
int len = strlen(s + 1);
// Double pointer to flip
int i = l, j = r;
while(i < j) swap(s[i ++], s[j --]);
printf("%s", s + 1);
return 0;
}
C - Product
【 Topic link 】C - Product (atcoder.jp)
The question : Yes n A package , There are several balls with numbers in each bag , Let you choose a ball in each bag so that the number product is x, Finally, let you be satisfied equal to x Number of alternatives .
notes :
- The range of data
- prune
Knowledge point :DFS
【 Code implementation 】
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <map>
#include <queue>
#include <deque>
#include <vector>
#include <string.h>
#include <unordered_set>
#include <unordered_map>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 1e5 + 10;
int n, res = 0;
LL target;
vector<LL> a[N];// Two dimensional array
void dfs(int u, LL val)// Choose the number of backpacks What is the weight of the backpack now
{
if(u == n)
{
if(val == target) res ++;
return ;
}
for(int j = 0; j < a[u].size(); j ++)// use vector Make a two-dimensional array , Each layer calls .size(), You can get the number of backpacks in the current layer
{
if(a[u][j] * val > target) continue;// prune
dfs(u + 1, val * a[u][j]);
}
}
int main()
{
scanf("%d%lld", &n, &target);
for(int i = 0; i < n; i ++)
{
int cnt;
scanf("%d", &cnt);
for(int j = 0; j < cnt; j ++)
{
LL value;
scanf("%lld", &value);
a[i].push_back(value);
}
}
dfs(0, 1);
printf("%d", res);
return 0;
}
D - Count Interval
【 Topic link 】D - Count Interval (atcoder.jp)
The question : Statistics s[r]-s[l - 1] == k
Number of occurrences
Ideas : If enumerating intervals , Time complexity will explode , Statistics s[r]-s[l - 1] == k
Equivalent to statistics s[r]-k == s[l - 1]
. And then for each r Just ask s[r]-k The number of , That is to say s[l-1] The number of .s[l-1] It's also a prefix and , Therefore, the number of prefixes and the number of prefixes are increased by the way when looping .( Enumerate the right endpoint to find s[r]-k == s[l - 1] The number of times , It's just that we preprocessed it when counting prefixes and s[l-1] Value , Because it is also the value of prefix and !)
Knowledge point : The prefix and + Hashtable
【 Code implementation 】
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <map>
#include <queue>
#include <deque>
#include <vector>
#include <string.h>
#include <unordered_set>
#include <unordered_map>
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 2e5 + 10;
LL s[N];
int main()
{
LL n, k, res = 0;
scanf("%lld%lld", &n, &k);
unordered_map<LL, LL> hasp;
for(int i = 1; i <= n; i ++)
{
scanf("%lld", &s[i]);
s[i] = s[i] + s[i - 1];
hasp[s[i - 1]] ++;
res += hasp[s[i] - k];
}
printf("%lld", res);
return 0;
}
边栏推荐
- [Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 10
- 好用的 JS 脚本
- Method of changing object properties
- Microsoft speech synthesis assistant v1.3 text to speech tool, real speech AI generator
- ftp上传文件时出现 550 Permission denied,不是用户权限问题
- 2345文件粉碎,文件强力删除工具无捆绑纯净提取版
- 会员积分营销系统操作的时候怎样提升消费者的积极性?
- Redis delete policy
- 有没有sqlcdc监控多张表 再关联后 sink到另外一张表的案例啊?全部在 mysql中操作
- Differences and usage scenarios between TCP and UDP
猜你喜欢
Which ecology is better, such as Mi family, graffiti, hilink, zhiting, etc? Analysis of five mainstream smart brands
RobotFramework入门(二)appUI自动化之app启动
A doctor's 22 years in Huawei
[Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 18
PMP practice once a day | don't get lost in the exam -7.5
Reset nodejs of the system
PAT甲级 1033 To Fill or Not to Fill
Apt installation ZABBIX
2022.02.13
纯Qt版中国象棋:实现双人对战、人机对战及网络对战
随机推荐
剑指 Offer 29. 顺时针打印矩阵
[Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 22
零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器
High number_ Vector algebra_ Unit vector_ Angle between vector and coordinate axis
【无标题】数据库中一条查询SQL执行的过程
Accident index statistics
MySQL winter vacation self-study 2022 11 (6)
[Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 8
有没有sqlcdc监控多张表 再关联后 sink到另外一张表的案例啊?全部在 mysql中操作
ftp上传文件时出现 550 Permission denied,不是用户权限问题
Sword finger offer 30 Stack containing min function
3D drawing ()
SSM 程序集
主数据管理理论与实践
Httprunnermanager installation (III) - configuring myql Database & initialization data under Linux
After changing the GCC version, make[1] appears in the compilation: cc: command not found
2345 file shredding, powerful file deletion tool, unbound pure extract version
HttpRunnerManager安装(三)-Linux下配置myql数据库&初始化数据
Shell script updates stored procedure to database
继承的构造函数