[USACO 1.3.2] Barn Repair 修理牛棚
社区首页 (3634)
请编写您的帖子内容
社区频道(9)
显示侧栏
卡片版式
全部
运营指南
问题求助
交流讨论
学习打卡
社区活动
博文收录
Ada助手
活动专区
最新发布
最新回复
标题
阅读量
内容评分
精选

127
评分
回复
[USACO 1.3.2] Barn Repair 修理牛棚
修理牛棚题目描述给出:输入输出格式输出样例输入1输出1时间及空间限制【算法分析】贪心策略:代码题目描述在一个夜黑风高,下着暴风雨的夜晚, farmer John 的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。有些牛棚里有牛,有些没有。所有的牛棚有相同的宽度。自门遗失以后, farmer John 必须尽快在牛棚之前竖立起新的木板。他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer Jo
复制链接 扫一扫
分享

127
评分
回复
2021 合肥市赛-小学组 题解
1、新冠病毒群体免疫(covid)直接上代码:#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; cout<<round(n*0.75); return 0;}2、整理书本(book)考虑用结构体表示书本(包括书本编号和书本位置两个信息),每次操作只更新书本位置信息,所有操作完毕最后按位置进行排序,输出相应编号即可。 因为
复制链接 扫一扫
分享

116
评分
回复
2021. 年 安徽省赛小学组真题 异或和
2021. 年 安徽省赛小学组真题 异或和#include<bits/stdc++.h>using namespace std;using LL = long long;int main(){ freopen("xorsum.in","r",stdin); freopen("xorsum.out","w",stdout); LL n; cin >> n; LL a[n]; for(LL i=0;i<n;i++) cin >> a[i]; LL
复制链接 扫一扫
分享

115
评分
回复
分解质因数
题目描述分解质因数是小学数学中常见的问题,现在给定一个正整数N,请你编程序对N分解质因数,并将分解式输出来。输入输出格式输入只有一个正整数N(N<=32767)。输出只有一行,就是N分解成质因子的连乘积的式子,并且要求按因子从小到大从左到右的格式输出。样例输入124输出124=2*2*2*3时间及空间限制1s, 256MB.#include<iostream>using namespace std;int mai
复制链接 扫一扫
分享

typename
优点:可以用于任何类型存储。
...全文
107
评分
回复
typename
优点:可以用于任何类型存储。
复制链接 扫一扫
分享

132
评分
回复
Dijkstra算法
只适用于正权边思想是贪心的思想朴素版Dijkstra 适合稠密图集合S为已经确定最短路径的点集。初始化距离: 1 号结点的距离为零,其他结点的距离设为无穷大(看具体的题)。循环 n 次,每一次将集合 S 之外距离最短 X 的点加入到 S 中去(这里的距离最短指的是距离 1 号点最近。点 X 的路径一定最短,基于贪心,严格证明待看)。然后用点 X 更新 X 邻接点的距离。寻找路径最短的点:O(n^2)O(n2)加入集合S:O(n)O(n)更新距离:O(m)O(m)所以总的时间复杂度为 O(n^2)O(n2)稠
复制链接 扫一扫
分享

222
评分
回复
memset用法 & int、long long、float、double 的极值怎么清
memset 是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部(以字节为单位)设置为指定的值。在竞赛中,常用来进行数组的初始化。memset 函数原型定义如下:Copy正因为 memset 函数是以字节为单位赋值的,所以使用它并不能将数组元素修改为任意值,而竞赛中又常常需要将数组初始化为 0、最大值或最小值。写循环赋值的话,也不是不可以,不过显得不那么“优雅”,针对这一点,下面整理了使用 memset 实现数组初始化的一些常用方法。1、memset 可以对 字符数组 进行赋值吗?可以
复制链接 扫一扫
分享

140
评分
回复
数据结构:八大数据结构分类
数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:每一种数据结构都有着独特的数据存储方式,下面为大家介绍它们的结构和优缺点。1、数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。int[] data = new int[100];data
复制链接 扫一扫
分享

128
评分
回复
动态规划入门
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
复制链接 扫一扫
分享

119
评分
回复
【C++】进制转换
相信在这节课开始之前,很多同学们早就对进制和进制转换比较熟悉了。我们本节课先通过一个利用栈来实现进制转换的例子,带大家再深入的学习下进制和进制转换。例题1:将一个十进制数n转换为二进制数。解题思路:十进制数转换成二进制数,可以采用辗转相除、取余数的方法得到。例如十进制数11转换成二进制。先求余数11%2=1,求商11/2=5,然后再用商5再求其余数,求其商,直到商为0,结束。11%2=1 11/2=5 5%2=1 5/2=22%2=0 2/2=1 1%2=1 1/...
复制链接 扫一扫
分享

110
评分
回复
第二十八章:解题技巧
哨兵设置“哨兵”,哨兵就是待查值,将它放在查找方向的“尽头”处,免去了在查找过程中每一次比较后都要判断查找位置是否越界,从而提高查找速度。例1(提高效率)假设一个乱序数组,需要查找一个元素是否在该数组中,这时需要用到顺序查找,也就是遍历数组。一般情况下我们会写下如下代码://函数返回在a数组中查找到元素key的下标,若没有找到返回0int Search(int a[],int n,int key){ //假设我们的数组都是从1下标开始存的 int i; fo
复制链接 扫一扫
分享

114
评分
回复
第四章:字节和位运算
字节和位运算数据是如何存储的?大家都知道在计算机中都是按照二进制存储的,所以大家常说计算机是由0和1组成的。二生万物!我们可以将计算机的存储器想想成下面这样的一个一个的小格子,每个小格子可以存储1位二进制数。例如十进制数字145在二进制存储下应为10010001,它在计算机中存储如下所示:每一个小格子只能有两种状态,要么为0要么为1。这种可以存储1位二进制数的小格子就是计算机中的最小单位,称为一个比特(bit)。 8个比特可以组成一个更大的单位称为字节(Byte) 即∶1字节=8bi..
复制链接 扫一扫
分享

105
评分
回复
线性表、栈和队列
什么是线性表?线性表是由n个相同类型的数据元素组成的有限序列,它是最基本的一种线性结构。顾名思义,线性表就像是一条线,不会分叉。线性表有唯一的开始和结束,除了第一个元素外,每个元素都有唯一的直接前驱,除了最后一个元素外,每个元素都有唯一的直接后继。线性表有两种存储方式,分别是顺序存储和链式存储。采用顺序存储的线性表称为顺序表,采用链式存储的线性表称为链表。链表又分为单链表、双向链表和循环链表。顺序表:顺序表采用顺序存储方式,元素存储是连续的,中间不允许有空,因此顺序表可以快速定位是第几个元素,但是插
复制链接 扫一扫
分享

110
评分
回复
数据结构和算法
1.什么是数据结构?当我们遇到一个实际问题时,首先需要解决两件事:(1)如何将数据存储在计算机中;(2)用什么方法和策略解决问题。前者是数据结构,后者是算法。只有数据结构没有算法,相当于只把数据存储在计算机中,而没有有效的方法去处理,就像一栋只有框架的烂尾楼;若只有算法没有数据结构,就像沙漠里面的海市蜃楼,只不过是空中楼阁罢了。在我们开始学习数据结构和算法之前,我们先从总体上来了解一下什么是数据结构和算法。顾名思义,数据是一切输入计算机中信息的总和,结构是指数据之间的关系。数据结.
复制链接 扫一扫
分享

111
评分
回复
十大排序算法比较
前言在竞赛中,可以使用 C++ STL 的sort函数来直接进行排序(小学阶段足够了),但作为最基本的算法问题之一,各种排序算法中包含了许多二分、分治等重要的算法思想,也是掌握很多其他算法的重要基础。因此,如果想在算法上更加深入地往下学习,那么几种非常重要的排序算法,比如快速排序、归并排序、计数排序等,还是要能够同时掌握其算法思想和代码实现的。下面给出各种经典排序算法的比较:0、排序算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由..
复制链接 扫一扫
分享

108
评分
回复
第二十九章:树的基本概念和性质
之前学习了数组、字符串、队列、栈等等数据类型和数据结构,它们都是线性存储结构。本章要学习的树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。树结构不论是在竞赛中,还是在实际的工程开发中,都是一类重要的非线性数据结构,树中的节点之间具有明确的层次关系,并且每个节点会“分支”出若干个其他节点。数据结构中的树和现实生活中的树长得一样,只不过我们习惯于处理问题的时候把树根放到上方来考虑。这种数据结构看起来像是一个倒挂的树,因此得名。后面我们提到的树均指数据结构中的树。数据结构中
复制链接 扫一扫
分享

111
评分
回复
第三十章:普通树的存储和遍历
前置知识:树的概念、向量(vector)为了保证学习效果,请保证已经掌握前置知识之后,再来学习本章节!学习目标了解树的几种存储方法的思想、实现方式和各自的优缺点 掌握树的存储方法的代码实现 掌握树的两种遍历方式:先根遍历(DFS)和层次遍历方式(BFS)引入显然树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:1)树的根结点没有前驱结点,除根结点之外的所有结点有且只有一个前驱结点。2)树中所有结点可以有零个或多个后...
复制链接 扫一扫
分享

113
评分
回复
二分查找和二分答案
二分查找二分的思想在程序设计中有着广泛的应用,例如,排序算法中的快速排序、归并排序,数据结构中的二叉树、堆、线段树等。二分是一种常用且高效的算法,它的基本用途是在单调序列中进行查找和判定操作。对于n个有序且没有重复的元素(假设为升序),从中查找特定的某个元素x,我们可以将有序序列分成规模大致相等的两部分,然后取中间元素与要查找的元素x进行比较,如果x等于中间元素,则查找成功,算法终止;如果x小于中间元素,则在序列的前半部分继续查找,否则在序列的后半部分继续查找。这样就可以将查找的范围缩小一半,然后在
复制链接 扫一扫
分享

131
评分
回复
第三十一章:二叉树的概念与性质
前置知识:树的概念与性质为了保证学习效果,请保证已经掌握前置知识之后,再来学习本章节!每个结点最多只有两个子结点的有根树称为二叉树。常常对两个子结点的顺序加以区分,分别称之为左子结点和右子结点。大多数情况下,二叉树一词均指有根二叉树。二叉树的性质比较丰富,本章节将介绍二叉树的性质。请熟记这些性质。学习目标熟练掌握二叉树的概念和各种性质 能够综合利用二叉树的各种性质解决一些二叉树中的问题二叉树的概念定义简单地理解,满足以下两个条件的树就是二叉树:树中包含的各个节...
复制链接 扫一扫
分享
为您搜索到以下结果: