天南之城的后花园

记录精彩的程序人生

文章

PAT 1008 电梯

1008 Elevator The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 seconds to move the elevator up one floor, and 4 seconds to move down one floor. The elevator will stay for 5 seconds at each stop. 我们城市最高的建筑只有一台电梯。有一个请求列表由 N 个正整数组成,这些数字指定电梯停在哪些楼层,按指定的顺序。电梯每上升一层需要 6 秒钟,每下降一层需要 4 秒钟。电梯每停留一个楼层需要 5 秒钟。 For a given request list, you are to compute the total ....

PAT 1007 最大子序列和

1007 Maximum Subsequence Sum Given a sequence of K integers { N1, N2, ..., N**K }. A continuous subsequence is defined to be { N**i, N**i+1, ..., N**j } where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For example, given sequence { -2, 11, -4, 13, -5, -2 }, its maximum subsequence is { 11, -4, 13 } with the largest sum being 20. Now you are supposed to find the largest sum, together with the first and the last numbers of the maximum ....

Bolo博客保姆级部署流程

介绍 Bolo博客github主页:adlered/bolo-solo: 🍍Bolo菠萝博客 专为程序员设计的精致Java博客系统 | 🎸基于Solo深度定制 | ❤️完善文档轻松安装,贴心的技术支持 | 免登录评论 | 邮件/微信提醒 | 自定义图床 | 备案模式 | ✨精致主题持续更新 | 一键备份 | 防火墙 | 评论过滤 | 独立分类 | 文章与GitHub同步 | ✅安装太轻松!支持 Tomcat Docker 宝塔面板 | 支持Windows Linux MacOS Web容器 | 支持ARM处理器 X86/64处理器 | 🚚支持从Solo轻松迁移 Bolo博客安装使用教程文档:QQ用户群 | 安装教程 | 从Solo迁移 | Bolo介绍 | 常见问题 Bolo 是基于 Java 的一款开源博客引擎,它基于 Latke 框架搭建,响应速度快,占用资源小;Bolo 完全免费,代码全部开源且允许二次开发自用。如果你在寻找一款美观、全面但不复杂的个人博客引擎 —— 欢迎加入到 Bolo 用户的大家庭中来。 本文是基于上述教程文档的实际操作总结,也是本站的部署记录。本人能....

PAT 1006 签到与签退

1006 Sign In and Sign Out At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in's and out's, you are supposed to find the ones who have unlocked and locked the door on that day. 每天开始时,第一个在电脑房签到的人将解锁门,最后一个签退的人将锁门。给定签到和签退的记录,你需要找出当天解锁和锁门的人。 Input Specification: Each input file contains one test case. Each case contains the records for one day. The case starts with a pos....

Kaggle数据可视化(六)选择图表类型并定制样式

在本课程中,您已经学习了如何创建许多不同的图表类型。现在,您将在学习一些可用于更改图表样式的快速命令之前,对知识进行组织。 你学到了什么? 由于并不总是容易决定如何最好地讲述数据背后的故事,我们将图表类型分为三个广泛的类别来帮助解决这个问题。 趋势 - 趋势被定义为变化的模式。 sns.lineplot - 折线图最适合展示一段时间内的趋势,多条线可以用来展示多个组的趋势。 关系 - 有很多不同的图表类型可以用来理解数据中变量之间的关系。 sns.barplot - 条形图用于比较不同组对应的数量。 sns.heatmap - 热力图可用于在数字表格中查找色彩编码模式。 sns.scatterplot - 散点图展示两个连续变量之间的关系;如果使用颜色编码,我们还可以展示与第三个分类变量的关系。 sns.regplot - 在散点图中包含一个回归线可以更容易地看到两个变量之间的线性关系。 sns.lmplot - 如果散点图包含多个颜色编码的组,则此命令用于绘制多条回归线。 sns.swarmplot - 分类散点图展示连续变量和分类变量之间的关系。....

Kaggle数据可视化(五)直方图与密度图

在本教程中,您将学习所有关于 直方图 和 密度图 。 设置笔记本 像往常一样,我们从设置编码环境开始。(这段代码是隐藏的,但是你可以通过点击右边紧挨着这段文字下面的“代码”按钮来解除隐藏。) import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns print("Setup Complete") Setup Complete 选择数据集 我们将使用由150种不同的花组成的数据集,其中每种花分别来自三种不同的鸢尾属(Iris setosa,Iris versicolor和Iris virginica),每种50个。 加载和检查数据 数据集中的每一行对应于不同的花。有四个测量值:花萼的长度和宽度,以及花瓣的长度和宽度。我们还跟踪相应的物种。 # Path of the file to read iris_filepath = "../input/iris.csv" #....

Kaggle数据可视化(四)散点图

在本教程中,您将学习如何创建高级 散点图 。 设置笔记本 像往常一样,我们从设置编码环境开始。 import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns print("Setup Complete") Setup Complete 加载并检查数据 我们将使用一个(伪造的)保险费用数据集,看看我们是否能够理解为什么一些客户比其他客户支付更多的费用。 如果你愿意,你可以在这里阅读更多有关数据集的。 # Path of the file to read insurance_filepath = "../input/insurance.csv" # Read the file into a variable insurance_data insurance_data = pd.read_csv(insurance_filepath) 像往常一样,我们通过打印前五行来检查....

Kaggle数据可视化(三)条形图和热力图

现在你已经能够创建自己的折线图了,是时候学习更多的图表类型了! 顺便说一下,如果这是你第一次在Python中编写代码,你应该为你所取得的成就感到非常自豪,因为学习全新的技能从来都不容易!如果你坚持学习,你会发现一切都会变得更容易(而你构建的图表也会更加令人印象深刻!),因为所有图表的代码都非常相似。像任何技能一样,编码随着时间和重复变得自然。 在本教程中,你将学习条形图和热力图。 设置笔记本 像往常一样,我们首先设置编码环境。( 这段代码是隐藏的,但是你可以点击下面的“代码”按钮将其显示出来。 ) import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns print("Setup Complete") Setup Complete 数据选择 在本教程中,我们将使用来自美国运输部的数据集来跟踪航班延误。 在 Excel 中打开这个 CSV 文件会显示每个月一行(其中....

Kaggle数据可视化(二)线性图表

在本教程中,您将学习足够的 Python,以创建看起来很专业的 线性图表 。然后,在下面的练习中,您将把您的新技能用于处理真实世界的数据集。 准备好笔记本 我们从设置编码环境开始。 import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns 选择数据集 本教程的数据集跟踪音乐流媒体服务Spotify 上的全球每日流量。我们关注2017年和2018年的五首流行歌曲: "Shape of You", by Ed Sheeran (链接) "Despacito", by Luis Fonzi (链接) "Something Just Like This", by The Chainsmokers and Coldplay (链接) "HUMBLE.", by Kendrick Lamar (链接) "Unforgettable", by French Mon....

Kaggle数据可视化(一)seaborn引入

欢迎来到数据可视化! 在这门实践课程中,你将学习如何使用 seaborn 这个强大而易于使用的数据可视化工具,将你的数据可视化提升到一个新的水平。为了使用 seaborn,你还需要学习一些 Python 编程语言的知识。尽管如此, 本课程旨在面向那些没有编程经验的人,而且 每个图表都使用简短而简单的代码,使 seaborn 比许多其他数据可视化工具(如 Excel)更快更容易使用。 因此,如果你从未写过一行代码,想要学习最基本的知识,从今天开始制作更快、更有吸引力的图表,那么你来对地方了!要查看一些你将制作的图表,请查看下面的图例。 设置环境 您需要在每个笔记本的顶部运行几行代码来设置您的编码环境。现在理解这些代码行并不重要,因此我们还不会深入到细节中。 import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns 加载数据 在这个笔记本中,我们将使用一个历史FIFA....

PAT 1005 正确拼写

1005 Spell It Right Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English. 给定一个非负整数N,你的任务是计算N的所有数字的和,并输出总和的每个数字的英文表示。 Input Specification: Each input file contains one test case. Each case occupies one line which contains an N (≤10^{100}). 每个输入文件包含一个测试用例。每个测试用例占据一行,其中包含一个N(≤10^{100})。 Output Specification: For each test case, output in one line the digits of the sum in English words. There must be one space between tw....

PAT 1004 数叶子

1004 Counting Leaves A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. 一个家庭的层级结构通常用家谱树来表示。你的任务是统计那些没有孩子的家庭成员。 输入格式: Each input file contains one test case. Each case starts with a line containing 0<N<100, the number of nodes in a tree, and M (<N), the number of non-leaf nodes. Then M lines follow, each in the format: ID K ID[1] ID[2] ... ID[K] where ID is a two-digit number representing a given non-leaf node, K is t....

C++快速回顾重点——C语言基础(一)

C++快速回顾重点 本文是《算法笔记》胡凡、曾磊著 的精炼总结。用于博主本人的快速复习,具有极强主观性,请酌情学习。 一、C/C++语言基础 变量 int占4字节,**范围大概$10^9$**内。 long long占8字节,$10^9$外用long long。 float占4字节,1位符号位、8位指数位、23位尾数位,有效精度6~7位。 double占8字节,1位符号位、11位指数位、52位尾数位,有效精度15~16位。尽量用double。 char小写字母比大写字母ascll码大32。 char单个字符常量必须用单引号。 char[]字符串常量用双引号。 bool在整型转布尔时,非零为true,零为false 常量 宏定义末尾不加分号 #define 标识符 常量 推荐使用const定义常量 const 数据类型 变量名 = 常量 宏定义陷阱 #include<iostream> using namespace std; #define CAL(x) (x * 2 + 1) int main(){ int a = 1; printf("%d\n"....

PAT 1003 迪杰斯特拉算法详解

迪杰斯特拉算法 万物基于传销——硬核的半佛仙人 题目是PAT的题目,Advanced Level 1003 Emergency 代码是github的代码,原仓库地址https://github.com/liuchuo/PAT 1003 Emergency 紧急事件 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked on the map. When there is an emergency call to you from some other city, your job is to lead your men to the....

PAT 1003 紧急救援

1003 Emergency 紧急事件 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked on the map. When there is an emergency call to you from some other city, your job is to lead your men to the place as quickly as possible, and at the mean time, call up as many hands on the way as possible. 作为一名城市的紧急救援队队长,你....

PAT 1002 两多项式相加

1002 A+B for Polynomials This time, you are supposed to find A+B where A and B are two polynomials. 这次,你需要找到两个多项式A和B的和。 Input Specification: Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N_1 a_{N1} N_2 a_{N2} ... N_{K} a_{NK} where K is the number of nonzero terms in the polynomial, N_{i} and a_{Ki} (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1≤K≤10 , 0≤N_{K}<⋯<N_{2}<N_{1}....

PAT 1001 两数相加

1001 A+B Format Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits). 计算a+b并以标准格式输出——也就是说,除非数字少于四位,否则数字必须用逗号分隔成三组。 Input Specification: Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space. 每个输入文件包含一个测试用例。每个用例包含一对整数a和b,其中−106≤a,b≤106。数字由空格分隔。 Output Specification: For each test case, you should ou....

kaggle机器学习入门(五)随机森林

介绍 决策树让你面临一个难以决定的问题。一个带有很多叶子的深树会过度拟合,因为每个预测只来自于其叶子上的几栋房屋的历史数据。但是,叶子较少的浅树性能表现不佳,因为它无法捕捉原始数据中的许多差异。 即使是今天最先进的建模技术也面临着欠拟合和过拟合之间的紧张关系。但是,许多模型都有巧妙的想法,可以带来更好的性能。我们将以随机森林为例。 随机森林使用多棵树,并通过平均每个组件树的预测来进行预测。它通常比单个决策树具有更好的预测准确性,并且在默认参数下工作得很好。如果你继续建模,你可以学习更多性能更好的模型,但其中许多模型对于获得正确的参数非常敏感。 例子 你已经多次看到了加载数据的代码。在数据加载结束时,我们有以下变量: train_X val_X train_y val_y import pandas as pd # Load data melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv' melbourne_data = pd.read_csv(melbourne_file_path) #....

kaggle机器学习入门(四)决策树

介绍 我们将从机器学习模型如何工作以及如何使用它们的概述开始。如果您以前做过统计建模或机器学习,这可能感觉很基本。别担心,我们很快就会建立强大的模型。 本课程将让你在经历下面的场景时建立模型: 你表弟在房地产投机上赚了几百万。因为你对数据科学的兴趣他提出要和你做生意伙伴。他负责提供资金,你负责提供预测各种房屋价值的模型。 你问你的堂兄过去是如何预测房地产价值的,他说这只是直觉。但是更多的问题表明,他从过去看到的房子中识别出了价格模式,并利用这些模式来预测他正在考虑的新房子。 机器学习也是如此。我们将从一个叫做决策树的模型开始。还有更精确的模型可以给出更准确的预测。但是决策树很容易理解,它们是数据科学中一些最好的模型的基本构件。 为了简单起见,我们将从最简单的可能的决策树开始。 它只将房屋分为两类。其中房屋的预测价格是同一类别房屋的历史平均价格。 我们使用数据来决定如何将房屋分成两组,然后再次确定每组中的预测价格。从数据中捕获模式的这一步称为 “拟合” 或 “训练” 模型。用于拟合模型的数据称为 训练数据 。 关于模型如何拟合的细节(例如如何分割数据)非常复杂,我们按下不表,以后再说。....

kaggle机器学习入门(三)过拟合与欠拟合

模型实验 既然您有了一个可靠的方式来测量模型的准确性,您可以尝试使用其他模型并查看哪个能够提供最佳的预测。但是,您可以为模型提供哪些备选方案呢? 在scikit-learn的文档中,您可以看到决策树模型有许多选项(您长时间内可能都不需要或不想用到)。最重要的选项决定了树的深度。请回忆一下本课程第一篇文章中介绍的,决策树的深度是一种度量它在进行预测前多少次分裂的指标。这是一棵相对较浅的树。 在实践中,一棵树在顶层(所有房屋)和一个叶子节点之间分裂成10个部分并不罕见。随着树越来越深,数据集被切割成房屋更少的叶子节点。如果一棵树只有一个分叉,它将数据分为两组。如果每个组再次分叉,我们将得到4组房屋。如果我们通过在每一层添加更多的分叉来不断加倍分组数量,那么到达第10个级别时,我们将拥有\(2^{10}\)个房屋组。即1024个叶子。 当我们将房屋分配给许多叶子节点时,每个叶子节点中也有较少的房屋。房屋非常少的叶子节点将给出非常接近这些房屋实际值的预测,但它们可能会为新数据提供非常不可靠的预测(因为每个预测仅基于几个房屋)。 这种现象被称为 过度拟合,其中模型几乎完美地匹配训练数据,但在验....

记录精彩的程序人生

© 2025 天南之城的后花园

Powered by Bolo
Theme bolo-sakura by Mashiro
浏览 50972 文章 43 评论 11
蜀ICP备2023008301号

主题 | Theme