[CSDN竞赛]第五期参赛回顾

2023-11-07

[CSDN竞赛]第五期参赛回顾

体验感想

第一次参加,本来有点小期待,那天还起晚了,结果登录不上去,发现大家都有问题,对我来说反而是好事,本来早上没有下午晚上更加精神。下面是提的建议:

  • 上次的登录问题,希望官方下次不要再出现,一定要准备充足
  • 为什么不能使用本地IDE,提供的编译器真的不好用
  • 题目案例给的太过简单,还没有数据的范围限定
  • 这次题目1 、2都跟因数有关,4也有点像数学问题,题型是不是应该多元化
  • 这次题目难度分布不是递进式的,2、4题我觉得挺简单,1、3题稍有难度

第一题 寻因找祖

寻找因子个数为n的最小整数x.

题解:考试时候,暴力寻找过了40%;后来看到大佬的解法才知道这不是一道简单的题。(就不在这里写了)

第二题 通货膨胀-x国货币

X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。

题解:寻找因子的数学问题。只是每次找的是次高的因子。

int main() {
	int n;
	while (cin>>n){
		int res = 1;
		for (int i = 2; i * i< n; i++){
			if (n % i == 0) {
				res++;
				n /= i; // 更新n
				i = 1;  
			}
		}
		if (n != 1)res++;
		cout << res << endl;
	}
	return 0;
}

第三题 莫名其妙的键盘

有一个神奇的键盘,你可以用它输入a到z的字符,然而每当你输入一个元音字母(a,e,i,o,u其中之一)的时候,已输入的字 符串会发生一次反转! 比方说,当前输入了tw,此时再输入一个o,此时屏幕上的字符串two会反转成owt。 现给出一个 字符串,若用该键盘输入,有多少种方法可以得到?

这题考试时候没有做出来,后来也是看到大佬的思路,这里也不写了。

第四题 三而竭

一鼓作气再而衰三而竭。 小艺总是喜欢把任务分开做。 小艺接到一个任务,任务的总任务量是n。 第一天小艺能完成x份 任务。 第二天能完成x/k… 第t天能完成x/(k^(t-1))。 小艺想知道自己第一天至少完成多少才能完成最后的任务。

解答:法一:暴力模拟过程。太过复杂,但是可以转化成数学问题,等比数列求和,得到第一天完成的任务至少>=n*(k-1)/k,这样相当于剪枝了,暴力模拟[n*(k-1)/k,n];
法二:二分法,寻找x的值过程就是在寻找能完成和不能完成的界限。加上推导的x最小值,那么应该在[n*(k-1)/k,n]之间二分查找。

bool check(int x, int n, int k) {
	int sum = x;
	int d = k;  // 除数
	while (sum < n) {
		if (x / d == 0)return false; // 循环结束的点
		sum += x / d;  // 计算完成的任务总和
		d *= k;  // 每次更新除数
	}
	return true;
}

int main() {
	int n, k;
	while (cin>>n>>k){
		int l = n * (k - 1) / k;//最小可能的值
		int r = n;
		//cout << l << "," << r << endl;
		while (l <= r) {
			int mid = l + (r - l) / 2;
			if (check(mid, n, k)) {
				r = mid-1;
			}
			else {
				l = mid + 1;
			}
			//cout << l << "," << r << endl;
		}
		cout << l << endl;
	}
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[CSDN竞赛]第五期参赛回顾 的相关文章

随机推荐

  • 安卓7.0 在加载某些https资源的时会出现证书验证错误OS Error(handshake.cc:)解决方案

    今天收到反馈 Flutter库 CachedNetworkImage 3 2 3 在华为早期安卓版本7 0系统中加载某些https网站的图像时会出现类似这样的错误 I flutter The following HandshakeExcep
  • 生成静态页面的五种方案 收藏

    方案1 public static bool WriteFile string strText string strContent string strAuthor string path HttpContext Current Serve
  • 【知识图谱】知识图谱数据库将人类的思维路径转化为机器的路径思维

    前段时间被沙特阿拉伯授予公民身份的人形机器人 索菲亚 再一次颠覆了人们对人工智能技术的认知 索菲亚 多次与人类交锋并公开发表言论的过程中 我们感受到了基本的对答如流 有时甚至还可以做到妙语连珠 据了解 索菲亚的大脑存储在云端 通过连接WIF
  • 处理处理kdevtmpfsi挖矿病毒以及他的守护进程kinsing

    服务器CPU资源占用一直处于100 的状态 检查发现是kdevtmpfsi占用导致的 此进程为挖矿程序 处理步骤如下 kdevtmpfsi 进程处理 1 top 查看cpu占用情况 找到占用cpu的进程 最后是 kdevtmpfsi 2 n
  • 将文件间的编译依存关系降至最低——条款31

    假设你对C 程序的某个class实现文件做了些轻微修改 注意 修改的不是class接口 而是实现 而且只改private成分 然后重新建置这个程序 并预计只花数秒就好 毕竟只有一个class被修改 你按下 Build 按钮或键入make 或
  • 西门子200SMART(六)数据块

    数据块中的数据页可以插入 编辑 删除 查询 和之前讨论的程序块 符号快以及状态图标基本具备一样的功能 数据块最主要点作用就是对地址和数据赋值 如下图 这里需要注意点是 这里的赋值和之前我们说过的状态图表中的强制是有区别的 强制顾名思义不管你
  • 【Pandas学习】读、存excel数据

    目录 一 读数据 二 将df存为excel 1 pandas DataFrame to csv 函数语法 2 利用 import os 获取保存路径 3 产生新的数据 添加至上述csv文件中已有数据的后面 4 多sheet 指定存入的she
  • Leecode 每日一题 problem2 (03-23)

    给你两个 非空 的链表 表示两个非负的整数 它们每位数字都是按照 逆序 的方式存储的 并且每个节点只能存储 一位 数字 请你将两个数相加 并以相同形式返回一个表示和的链表 你可以假设除了数字 0 之外 这两个数都不会以 0 开头 来源 力扣
  • 2021-10-24

    Python 简介 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 Python 的设计具有很强的可读性 相比其他语言经常使用英文关键字 其他语言的一些标点符号 它具有比其他语言更有特色语法结构 Python
  • ERR_PNPM_NO_GLOBAL_BIN_DIR Unable to find the global bin directory

    错误提示 ERROR Unable to find the global bin directory Run pnpm setup to create it automatically or set the global bin dir s
  • (1)minikube玩转k8s集群之虚拟机支持嵌套虚拟化

    配套视频教程 1 Minikube介绍 简单说 创建k8s集群很麻烦 minikube可以让我们快速搭建一个k8s集群用于学习 Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具 Minikube 在笔记本电脑上的
  • openId和unionId的区别

    网友的解释 微信的用户隐私策略 每个接入微信的应用 公众号 APP 就像一个独立的商场 用户使用这些应用就像逛商场 商场用会员卡识别用户 类似的 我们根据商场名字为每个用户生成了一张专属会员卡 openid 每张会员卡只能在对应的商场才能够
  • Navicat for MySQL安装教程

    Navicat for MySQL是一款强大的 MySQL 数据库管理和开发工具 它为专业开发者提供了一套强大的足够尖端的工具 但对于新用户仍然易于学习 Navicat for MySQL 基于Windows平台 为 MySQL 量身订作
  • R语言logistic回归的细节解读

    本文首发于公众号 医学和生信笔记 完美观看体验请至公众号查看本文 医学和生信笔记 专注R语言在临床医学中的使用 R语言数据分析和可视化 文章目录 二项logistic回归 R语言中的 factor 函数可以把变量变为因子类型 默认是没有等级
  • Redis缓存击穿问题及解决思路

    一 什么是缓存击穿 缓存击穿问题也叫热点Key问题 就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了 无数的请求访问会在瞬间给数据库带来巨大的冲击 逻辑分析 假设线程1在查询缓存之后 本来应该去查询数据库 然后把这个数据重新加载
  • 【Java】对象的序列化与反序列化

    对象序列化的含义 对象序列化 Serialize 指将一个Java对象写入IO流中 对象的反序列化 Deserialize 则是指从IO流中恢复该Java对象 如果想让某个Java对象能够序列化 则必须让它的类实现java io Seria
  • 使用docker需要知道的基础知识

    一 docker概念 1 1 docker仓库 镜像 容器的作用和三者之间的关系是什么 答 Docker 仓库 用来保存镜像 可以理解为代码控制中的代码仓库 Docker 镜像 是用于创建 Docker 容器的模板 Docker 容器 是独
  • 前端工程化详解——理解与实践前端工程化

    前言 前端工程化一直是一个老生常谈的问题 不管是面试还是我们在公司做基建都会经常提到前端工程化 那么为什么经常会说到前端工程化 并没有听过后端工程化 Java工程化或者Python工程化呢 我们理解的前端工程化是不是一直都是Webpack的
  • 回望2001年的雪鸟城:引发全球软件革命的“敏捷宣言”是如何诞生的?

    将人们置于流程之上 专注于开发可以工作的软件 而不是软件的文档 和你的客户一起工作 而不是为一份合同而争吵 在此过程中 要对改变持开放态度 编者按 敏捷 Agile 这个对于开发真来说不在陌生的概念 已经提出了近17年了 其背后的哲学理念也
  • [CSDN竞赛]第五期参赛回顾

    CSDN竞赛 第五期参赛回顾 体验感想 第一次参加 本来有点小期待 那天还起晚了 结果登录不上去 发现大家都有问题 对我来说反而是好事 本来早上没有下午晚上更加精神 下面是提的建议 上次的登录问题 希望官方下次不要再出现 一定要准备充足 为