首页 > 其他分享 >Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)题解总结

Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)题解总结

时间:2024-11-15 19:42:36浏览次数:1  
标签:11 10 Contest int 题解 times ans

AtCoder Beginner Contest 379

Rated: \(770\)

  • A - Cyclic

    简单模拟。

  • B - Strawberries

    字符串模拟,substr 函数秒了

  • C - Repeating

    中等模拟。
    思路:判断是否合法很简单,重点在计算花费。
    假设我们是 \(0\) 号点有 \(N\) 个棋子,然后移动到每个点上,显然花费为 \(\frac{N(N+1)}{2}\)
    但是现在棋子不在 \(0\) 好点上,如果有一个 \(A_i\) 这个地方有 \(B_i\) 个棋子,那么就会省去 \(A_i \times B_i\) 的花费。
    接下来排序,简单模拟即可。

  • D - Home Garden

    priority_queue + lazy_tag

  • E - Sum of All Substrings

    拆贡献法,第 \(i\) 个数的数为 \(a_i\),那么它左边选择的值会增加 \(i\) 种情况,而右边对答案产生 \(10^0+10^1+10^2+\cdots+10^{n-i}\) 的贡献,
    第 \(i\) 位的总花费就是 \(\sum_{j=1}^{N-i}i\times 10^j \times a_i\) 相当于给高精度的数 \(0 \sim N-i\) 位加上 \(i\times a_i\)
    差分处理,再处理一下进位即可

    点击查看代码
    #include<bits/stdc++.h>
    

using namespace std;
int n;
long long ans[300001],c[200001];
char s[200001];
bool st;
int main(){
scanf("%d%s",&n,s + 1);
for(int i = 1;i <= n;i ++){
c[i] = i * (s[i] - '0');
}
for(int i = n;i;i --){
ans[i] = ans[i + 1] + c[n - i + 1];//差分
}
for(int i = 1;i < 300000;i ++){//进位
ans[i + 1] += ans[i] / 10;
ans[i] = ans[i] % 10;
}
for(int i = 300000;i;i --){
if(ans[i]){//去除前导零
st = true;
}
if(st){
printf("%lld",ans[i]);
}
}
return 0;
}
```

标签:11,10,Contest,int,题解,times,ans
From: https://www.cnblogs.com/fanrunze/p/18548548

相关文章

  • SS241115C. 排序(sort)
    SS241115C.排序(sort)题意给你一个长度为\(n\)的序列\(a\),每次操作对\([1,\frac{n}{2}],[\frac{n}{2}+1,n]\)进行归并排序。有\(q\)次询问,给出\(t,x\),问进行\(t\)次操作后\(a_x\)的值。思路考虑一次操作发生了什么。假设\(x<y\),那么\(x\)和它后面的一坨都会排......
  • [CEOI2023] The Ties That Guide Us 题解
    Description你用销售机器人的利润雇佣了一名助手,现在你准备好去拿走装有CEOI奖章的保险箱了。保险箱位于一所由\(n\)个房间所组成的大学建筑内,这些房间由\(n-1\)扇门连接。每个房间都可以从其他任何房间到达,且每个房间最多与\(3\)扇门相连。你和你的助手都有描述建筑物......
  • P1437 敲砖块 题解
    题意在一个凹槽中放置了\(n\)层砖块、最上面的一层有\(n\)块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示:14154323333376221311222331如果你想敲掉第\(i\)层的第\(j\)块砖的话,若\(i=1\),你可以直接......
  • 比赛讲解:图论算法(11.11~11.15)
    图论算法T1-U502532找水杯一道水题,基本上和P4779一样(我连样例都搬过来了,能不一样吗?)所以呢,你们可以直接用\(Dijikstra\)1.最初起点到达所有点的距离都是未知的,记作无穷大。2.在对起点的邻接点进行扫描后发现,起点可以通过某些边抵达一些节点,那么就更新d数组(d[i]用于记录起点s......
  • 2024.11.15 test
    A一个\(n\timesm\)的矩形已经给出了\(k\)个位置的数,判断是否有方案使得填入非负整数后,每一个\(2\times2\)的子矩形都满足左上+右下=左下+右上。\(n,m,k\le1e5\)。注意到,矩形合法的条件可以转化为对于任意相邻的两列,在每行中,这两列值的差都相同。也就是对于所有行的每......
  • 【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性
    【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…文章目录【深度学习目标检测|YOLO算法5-2-3......
  • 11.15随笔
    这里是11.15随笔。前两天玩的有点欢,忘写随笔了。作业留档:有两张非递增有序的线性表A,B,采用顺序存储结构,两张表合并用c表存,要求C为非递减有序的,然后删除C表中值相同的多余元素。元素类型为整型输入格式:第一行输入输入表A的各个元素,以-1结束,中间用空格分隔;第二行输入表B的各个元......
  • ssm111基于MVC的舞蹈网站的设计与实现+vue(论文+源码)_kaic
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,舞蹈网站当然也不能排除在外。舞蹈网站是以实际运用为开发背景,运用软件工程开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行需求......
  • 深入理解 MySQL 大小写敏感性:配置、问题与实践指南20241115
    深入理解MySQL大小写敏感性:配置、问题与实践指南在开发和部署MySQL数据库时,表名的大小写敏感性问题常常被忽略,却可能在跨平台迁移、团队协作或工具兼容性方面引发复杂的故障。本文将结合实际案例,深入探讨MySQL的lower_case_table_names参数,剖析其行为、配置方法以......
  • AtCoder Beginner Contest 379
    省流版A.模拟即可B.贪心,有\(k\)个就吃,模拟即可C.维护已经有棋子的格子,有多个棋子往右推,代价等差数列求和,模拟即可D.注意到植物高度=当前天-种植天,维护植物的种植天然后二分找对应高度的植物即可E.考虑最终答案每一个数位的值,然后处理进位即可F.单调栈处理建筑\(r\)......