【好题】第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 H-特征值 前缀和+高精度模拟

2023-11-13

在这里插入图片描述
比赛的时候,一看题:害!高精度模拟!冲!
然后就T了。

做题之前要算一下时间复杂度,来判断自己的方法是否合理,不然会浪费大量的时间。

这题的数据范围:500000
如果要高精度加法,数字长度是500000,所以要加500000次,每次加是按位数加,还要乘以500000,总的时间复杂度是500000*500000=2.5x1011 绝对会TLE

所以要思考一下别的方法。

经过@满满满V 的提醒,我们可以这样看这道题的加法:

1225
 122
  12
+  1
————
1360

很容易可以看出,每一位都是前面位数的前缀和+当前位数的值
所以我们的做法就可以是:
先前缀和相加,再进位
第一位可以直接输出!

这样时间复杂度就变为:O(n)(只用一层循环,数据范围500000) 可以过了

#include<bits/stdc++.h>
using namespace std;
#define fir(i,a,n) for(int i=a;i<=n;i++)
#define mem(a,x) memset(a,x,sizeof(a));
typedef long long ll;
const int N=500000+10;
/*
1225
 122
  12
   1
*/
string a;
int sum[N];//前缀和 
int main()
{
	cin>>a;
	for(int i=0;a[i];i++)
	{
		if(i!=0) sum[i]=sum[i-1]+a[i]-'0';
		else sum[i]=a[i]-'0';
	}
	
	int t=0;
	//从0到a.size()-1
	for(int i=a.size()-1;i>0;i--) 
	{
		sum[i]+=t;
		t=0;
		if(sum[i]>=10)//进位 
		{
			t+=sum[i]/10;
			sum[i]%=10;
		}		
	}
	
	if(t) sum[0]+=t;
	cout<<sum[0];
	
	fir(i,1,a.size()-1) cout<<sum[i];
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【好题】第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 H-特征值 前缀和+高精度模拟 的相关文章

随机推荐

  • openwrt的路由器重置root密码

    家里路由器刷了openwrt 结果长期没登录 忘了root密码 很容易就找到了这里介绍的办法 http www openwrt org cn bbs thread 12327 1 1 html 但在我这里不行 那个recvudp exe一直
  • 《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.25.14集群(多主多从)》

    一 架构图 如下图所示 二 环境信息 1 资源下载 基于containerd部署容器版kubernetes1 25 14集群资源合集 2 部署规划 主机名 K8S版本 系统版本 内核版本 IP地址 备注 k8s master 12 1 25
  • MySQL索引面试题面经汇总

    一 索引 1 MySQL如何实现的索引 三种 B 树索引 主要 重点 hash索引 配合b 树索引使用 没法手动创建 全文索引 对于整个数据做全文的摘要索引 2 innodb和Myisam索引的区别 innodb索引本身就在数据中 也就是说
  • 3. 栈-递推与递归(普及-)

    文章目录 问题描述 问题分析 代码实现 运行结果 总结 问题描述 宁宁考虑了这样一个问题 一个操作数序列1 2 n 图示为 1 到 3 的情况 栈 A 的深度大于n 现在可以进行两种操作 1 将一个数 从操作数序列的头端移到栈的头端 对应数
  • 四、ROS话题通信机制

    四 ROS话题通信机制 1 话题通信模型 Topic 2 话题通信基本操作 2 1 Talker发布方实现 2 2 Listener订阅方实现 1 话题通信模型 Topic 该模型中涉及到三个角色 ROS Master 管理者 Talker
  • 清华裴丹:我在智能运维科研领域的一些思考

    前言 中国应用性能管理行业盛宴 2017中国应用性能管理大会 简称APMCon 2017 于8月10日至11日在北京新云南皇冠假日酒店隆重召开 本届APMCon是由听云 极客邦和InfoQ联合主办 作为国内APM领域最具影响力的技术大会 本
  • Android颜色透明度(不透明度)

    颜色值 AARRGGBB 透明度百分比和十六进制对应关系 下面是透明度 再加上平常写得颜色值就表示该颜色值多少透明度了 一 一张表格 基本都概括 方便查找和使用 透明度 十六进制 100 FF 99 FC 98 FA 97 F7 96 F5
  • 阿里巴巴著名的“管理三板斧”

    先说结论 阿里三板斧 也被成为阿里巴巴管理之道 说的是组织中的管理者如何通过简单的三招 实现管理团队的力量 成就自我的成长与整个团队的发展 由于阿里在业内的广泛影响 著名的管理三板斧 还被其他很多优秀企业学习吸收 比如滴滴公司 借鉴了三板斧
  • 渗透测试之二:sqlmap

    参考链接 https www freebuf com sectool 164608 html sqlmap是常用测试工具之一 本片简单讲它的用法 python版 1 简单介绍 sqlmap是一个开源的渗透测试工具 可以用来进行自动化检测 利
  • 关于windows下VS项目中动态库(包含.lib和.dll)的思考

    我们都知道 linux下静态库是 a文件 动态库是 so文件 window下静态库是 lib 动态库是 dll 但是在 VS C 项目开发中 经常会遇到动态库包含 lib 和 dll 文件 下面是复制别的人一段话 原文链接 静态库 在链接步
  • skywalking获取traceId(tid)的方式

    skywalking获取traceId tid 的方式 一 通过MDC不能获取到traceId tid 二 可以通过skywalking手动追踪API来获取 参考文献 https blog csdn net jilo88 article d
  • Spring、SpringBoot、SpringCloud是什么

    Spring是轻量级的面向切面 AOP 和控制反转 IOC 的容器框架 SpringBoo的诞生是为了简化Spring开发 部署和测试的 传统的Spring项目 需要打包成war包 到Tomcat等容器中运行项目 现在的SpringBoot
  • 微信收款音响f1服务器断开,微信收款音箱f1f2f3的区别?

    微信收款音响f1f2f3的区别 1 形状 微信收款音响f1f2是一款三角梯形形状的音箱 微信收款音响f3是一款圆角正方体形状的音箱 2 音量 微信收款音响f1f2 70db 微信收款音响f3 75db 3 电池容量 微信收款音响f1f2电池
  • keepalived+rsync 以及rsync报的错

    实现功能 两台服务器 监听tomcat服务 如果主服务器上的tomcat挂了 则让虚拟IP飘到备用服务器 同时两台服务器上的文件要实时同步备份 主服务器 serverA 备用服务器 serverB 首先 对主服务器serverA 创建四个脚
  • spring 事物 关于在同一个类中一个方法调用另一个方法,事物的传播行为会失效

    spring 提供了强大的事物管理机制 直接到在方法或者类上加 Transactional 也可以使用XML配置事物 在一次的测试中发现当一个方法在同一个类被其它方法调用的时候 导致事物的传播行为不生效 具体说明 类结构 public cl
  • 区块链:未来之路还是短暂热潮?

    随着区块链技术的快速发展和广泛应用 越来越多的人开始关注它的未来前景 然而 是否应该将区块链视为未来的发展方向仍存在争议 在本文中 我们将探讨区块链技术的优点和缺点 以及它是否真的是未来之路 优点 分布式数据存储 区块链技术采用分布式数据存
  • Android开发----RecyclerView的使用(创建网格布局)

    引入RecyclerView 在当前模块的build gradle中引入RecyclerView的包 路径如下 app build gradle implementation com android support appcompat v7
  • 1.2 操作系统的发展过程

    未配置操作系统的计算机系统 1 人工操作系统 缺点 用户独占全机 CPU等待人工操作 人工操作方式严重降低了计算机资源的利用率 即人机矛盾 虽然CPU的速度在迅速提高 但I O设备的速度却提高缓慢 2 脱机输入 输出 Off Line I
  • win10解决拔电后色彩变暗失真问题,锐龙版笔记本电脑

    以Redmibook Pro 14 锐龙版为例 解决锐龙版笔记本电脑win10拔电后色彩变暗失真问题 暂时只有AMD的解决方案 右键调出AMD驱动设置 选择 Radeon software显卡软件设置 选择显示器 找到Vari Bright
  • 【好题】第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 H-特征值 前缀和+高精度模拟

    题 比赛的时候 一看题 害 高精度模拟 冲 然后就T了 做题之前要算一下时间复杂度 来判断自己的方法是否合理 不然会浪费大量的时间 这题的数据范围 500000 如果要高精度加法 数字长度是500000 所以要加500000次 每次加是按位