福州大学第十二届程序设计竞赛 解题报告

2024-01-28 06:08

本文主要是介绍福州大学第十二届程序设计竞赛 解题报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        由于这个OJ比较蛋疼,比赛时提交的代码看不到,所以就不附代码了,只说思路。


A 非提的救赎

        待补。


B 完美的数字

        求一个区间内,所有数的“完美度”的和,完美度定义为数i能分解为多少组i=A*A*B(A<=B)。区间范围达到了10^15。举个例子,什么样的数可以分解为A=4呢,前几个是64 80 96,因为A<=B。所以这个数至少是A的立方,而且这个数减去A的立方以后,能被A的平方整除。

        预处理算出每个数的平方、立方。写一个函数fun(x)计算区间1~x的结果,题目的答案就是fun(b)-fun(a-1)。在函数fun(x)中,枚举每个A,计算A^3~x这个区间内,有多少个数能被A^2整除,累加起来。


C 位置信息挖掘

        给一些用户,商品,城市间的信息,有一部分缺失,要求根据已知尽可能补全。

        并查集。商品编号1~N,用户编号N+1~N+M,城市编号N+M+1~N+M+N+M。利用给的信息,进行合并(缺失的就不用合并了)。注意如果城市参加了合并,一定是将其他内容向城市合并。最后根据所属集合输出。


D So Hard

        小数化为最简分数。

        So坑。最水的一题我交9发才过。说两种可行办法。一是浮点数读入。直接乘上1000000000作为分子,1000000000则作为分母。分子分母求gcd约分。二是字符串读入,处理出整数部分和小数部分,然后换算成一个分数去约分。


E 星系碰撞

        平面上有许多点,两个集合,如果两个点距离不大于5,它们一定属于不同的集合。给所有点坐标,问一个集合中最多能有多少元素。

        时限30s的神题。。然而我竟然TLE了好几次。这题求的是二分图最大独立集。我一开始还想不明白怎么把它们分为2个集合,后来学弟说了一个方法,类似于染色,如果某个点染哪种颜色都可以,就随意给它一种颜色。也就是距离不大于5的点之间建边,跑最大匹配,根据最大独立集=点数-最大匹配得出结果。但是要注意,如果暴力计算每两个点之间距离会超时。优化方法是先按x坐标排序,然后计算每两个点之间距离,当两个点x坐标大于5以后,直接忽略后面的点。

        其实这种方法还是有点问题的。如果所有点的x坐标都在0~5范围内,y坐标分布得比较广,应该还是会跪的。所以我觉得应该随机抽一些点出来,考察他们在哪个方向上分布得比较散,就按它排序。


F 检查站点

        一座山,上面各个地点是树型结构,你在山顶(树根),需要访问每个节点一次,每条边向上走有一定的代价,向下走没有,问访问所有节点的最小代价。

        树型DP。显然最后一次访问到叶子以后,就不用回去了,省下来的代价就是一条根到叶子的路径。DP求费用最大路径即可。


G Escape

        迷宫,入口走到出口,墙不能走,有岩浆,每秒向四个方向蔓延。有岩浆不能走。问是否能走出迷宫。

        BFS,先BFS预处理所有地点被岩浆蔓延到的时间(不能一个一个点处理,需要一次性把所有岩浆点加到队列里一次性BFS完成,否则TLE)。然后BFS搜一下是否有路就好了。注意如果先到终点岩浆才蔓过来是可以的。


H 最小花费

        一个01串,如果交换相邻的01代价是x,交换不相邻的代价是y。需要把所有1换到前面,问最小代价。

        其实每次只有两种决策,要么花费y把最右边的“1”换到最左边的“0”,要么把最左边需要移动的“1”,连续换到最左边的“0”(连续花费若干个x)。想到这一点还是不好做,然后我们可以发现,其实把最右边的“1”通过相邻交换到最左边的“0”的花费,是x乘以他们的距离。即设当前最右边的“1”在pos1,最左边的“0”在pos0,如果pos0<pos1,移动它的代价就是min(y,x*(pos1-pos0))。

这篇关于福州大学第十二届程序设计竞赛 解题报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652690

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和