首页 > 其他分享 >26文科跨考北大软微刷题日记-DAY1

26文科跨考北大软微刷题日记-DAY1

时间:2024-11-07 22:09:58浏览次数:1  
标签:26 include 软微刷题 int 浮点数 value DAY1 static total

这其实是2024年11月5号完成的,今天刚想起来自己还有个博客园账号(你敢信这是我大一在网上搜政治经济学期末考题时发现的宝藏网站),就一并发到园子里了。
汇报下本人情况以及考研408进度:
1.末九经济学大三,高中物化生。自认为经济学太虚浮(他们都在妄想拟合现实,而且很多假设都是他们的yy罢了【超小声,嘘!】),主要还是本人对算法比赛等竞技性的东西感兴趣,而且本人高中物理较擅长,对自己跨考计算机有信心。
2.C语言已学完。
408数据结构:学到图的广度优先遍历;
计组:学到第二章;
操作系统:一无所知(呜呜呜)
计网:学到数据链路层。

今天是报名ACwing第二天,做一下昨天听完基础语法的第一讲的做题心得。
第一大点.(库的选择)

#include <cstdio>包含scanf,printf
#include <iostream>包含cin,cout
#include <bits/stdc++.h> 万能库,包含以上2个,但编译时间过长(虽然不会计入代码运行时间)

库的选择问题:

**有对结果要求保留多少精度的选printf,即<cstdio>
   *scanf不能直接输入字符串,要借助循环;
   *scanf输入时不能限定小数点有几位
**若要输入输出字符串的话,更方便用cin,cout,即<iostream>【见AcWing 613. 面积】
   *cout输出时如果要包含空格,这个空格要在" "内。

第二大点(新函数与库)(基础不好的我原来只知道C语言中的<stdio.h>和<stdlib.h>,呜呜呜)

**第一个新库#include <cmath>
    *用到了其中的sqrt()【求平方根】和pow(a,b)【求a的b次方】
    *用到了其中的max(a,b)【求a,b中较大的那个】
     补充:max(a,b)=(a+b+abs(a−b))2

第三大点(贪心算法初相遇)【见AcWing 653. 钞票】

    遇到循环输出有规律的东西时,我们可以先创立一个数组,把有规律(或是说有顺序的东西先按序排列进去,然后在用一个for循环遍历这个数组进行输出)

第四点(昨天收获最大的一题)【AcWing 656. 钞票和硬币】

**核心一:仍然是贪心的思想
    *一般可以借助/和%的方法来进行贪心,但是/(我们想要整除),本题中的数字却是浮点数,则会导致我们进行标准的正常除法。
     解决方法:使用 static_cast<int>(total / value[i])           来计算纸币和硬币的数量。
     static_cast<int> 会将浮点数转换为整数,但不会截断小数部分。
     效果优于使用(int)total / (int)value[i];
     原因是:当total、value[i]小于1时,(int)会让其==0,0/0无意义。

     总结:static_cast<int>(total/value[i])是对2个浮点数正常相除的结果取整数部分
         (int)total/(int)value[i]       是将2个浮点数都变成整数再整除(变了2次,精度更低且无法有效处理小于1的情况)

**核心二:浮点数的取余
     解决方法:利用函数fmod(a,b),函数在<cmath>中;

**核心三:添加偏移量来避免精度问题
     问的AI:通常,对于保留两位小数的情况,偏移量选择 0.0001。
     浮点数在计算机中是以近似值存储的,这可能导致一些小数无法精确表示。例如,0.1 在二进制中是一个无限循环小数,因此在计算机中存储时会有微小的误差。这种误差在进行多次运算时会累积,导致最终结果不准确。
     举例:
     在处理硬币面值= 0.10 时,total 为 0.20,计算 0.20 / 0.10 应该得到 2,但实际结果可能是 1.9999999999999998,这会导致 static_cast<int>(1.9999999999999998) 得到 1,而不是 2。

标签:26,include,软微刷题,int,浮点数,value,DAY1,static,total
From: https://www.cnblogs.com/ghxwin/p/18534102

相关文章

  • 【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
     本篇文章分享关于如何使用STM32单片机对彩色摄像头(OV7725/OV2604)采集的图像数据进行分析处理,最后实现颜色的识别和检测。目录一、什么是颜色识别1、图像采集识别的一些基本概念1. 像素(Pixel)2. 分辨率(Resolution)3. 帧率(FrameRate)4. 颜色深度(ColorDepth)5. ......
  • HTC Vive SDK:虚拟现实UI设计教程_2024-07-26_10-41-57.Tex
    HTCViveSDK:虚拟现实UI设计教程环境设置安装HTCViveSDK在开始虚拟现实UI设计之前,首先需要安装HTCViveSDK。以下是安装步骤:访问HTCVive开发者网站:前往HTCViveDeveloper网站,找到SDK下载页面。下载SDK:选择适合您操作系统的SDK版本进行下载。通常,SDK支持Windows和Li......
  • 基于JAVA的在线购物平台设计与实现-计算机毕设 附源码 26720
    基于JAVA的在线购物平台设计与实现摘要基于JAVA的在线购物平台设计与实现是一个涉及到软件开发和电子商务的综合课题。在这样的平台上,用户可以浏览商品、将商品加入购物车、进行下单购买等操作。为了实现这一功能,需要考虑到前后端的交互、数据库的设计、安全性和用户体......
  • 代码随想录一刷day7 哈希表day1
    遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。常见三种实现哈希表的数据结构:数组set集合map映射下面是setmap的红黑树是一种平衡二叉搜索树,所以k......
  • 26服务管理(启动、停止、重启服务)
    每天五分钟学Linux|第二十六课:服务管理(启动、停止、重启服务)大家好!欢迎再次来到我们的“每天五分钟学Linux”系列教程。在前面的课程中,我们学习了如何通过源码编译来安装软件。今天,我们将探讨如何管理和控制Linux系统中的服务。服务是指在后台运行的应用程序,例如Web服务......
  • # 20222326 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    1.实验内容一、恶意代码文件类型标识、脱壳与字符串提取对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;(2)使用超级巡警脱壳机等脱壳软件,......
  • 条件分支语句(day10)
    首先是上一篇的评论习题://第一题哦~第一题/*从键盘输入小明的期末成绩单:当成绩为100时,奖励一辆BWMx5,当成绩[80-99]时,奖励一台iPhone14Promax1TB,当成绩[60-79]时,奖励一本参考书,当成绩为其他时,奖励一个大耳巴子。*/varscore=......
  • LeetCode3264[K次乘运算后的最终数组I]
    题目链接LeetCode3264[K次乘运算后的最终数组I]详情实例实例1实例2提示题解思路先找到最小值然后对最小值进行操作最后输出容器代码classSolution{public:intfindVecMinNumIndex(vector<int>nums)//找出最小值的下标{inti=0,iMin......
  • AI预测体彩排3采取888=3策略+和值012路+胆码+通杀1码测试11月6日升级新模型预测第126
             经过100多期的测试,当然有很多彩友也一直在观察我每天发的预测结果,得到了一个非常有价值的信息,那就是9码定位的命中率非常高,已到达90%的命中率,这给喜欢打私菜的朋友提供了极高价值的预测结果~当然了,大部分菜友还是走的正常渠道,因此,得想办法进行缩水,尽可能少的......
  • django数字教学平台-计算机毕业设计源码32656
    摘  要本项目旨在基于云计算技术设计和实现一个数字教学平台架构,结合Django后端框架和HTML前端技术进行开发。该平台旨在为教育机构提供全面的在线教学解决方案,包括学生信息管理、课程管理、学习资源管理、学习进度和学习成绩管理、讨论论坛等功能。通过云计算技术实现教学......