| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 四平方和(蓝桥杯C/C++B组真题详解)(三种做法) -> 正文阅读 |
|
[C++知识库]四平方和(蓝桥杯C/C++B组真题详解)(三种做法) |
目录 题目详细:题目思路:这个题目大家可能马上就可以想到暴力做 例如这样 暴力:
这样写的话 在题目不卡你数据的时候 可以通过题目 大部分的样例 但仍然不是很好的写法 (浅提一句:在比赛时如果时间不够就可以采用这种写法,以取得更高分数为目标) 那我们要怎么做这道题呢? 首先题目要求的是四个数的平方和 我们枚举每一个数的话一定会太慢 那么我就可以通过枚举两个数 先枚举c和d的所有情况并记录下来 然后再枚举a和b的所有情况 在枚举a和b的所有情况的时候 我们就可以在记录下来的c和d 里面去找是否存在满足条件 使 n=a^2+b^2+c^2+d^2 如果找到则就是正确答案 (注:因为枚举a和b的时候为按照顺序去找,所以我们一旦找到满足条件的a、b、c、d那么他就是最小的abcd字典序) 代码详解:哈希:
二分:
PS:如果采用二分的写法,那么对于记录下来的c和d,需要进行排序。另外对于为什么用从c、d种选择出来的数一定满足从 a<=b<=c<=d 的原因就比如(a=1,b=2,c=0,d=0)我们一定可以先找到(a=0,b=0,c=1,d=2)满足题目要求的答案,故为最正解。 PPS:寒假摆烂玩宝可梦真好 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 13:57:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |