964A. Splits

题目地址:http://codeforces.com/problemset/problem/964/A

题目:

Let's define a split of nn as a nonincreasing sequence of positive integers, the sum of which is nn.

For example, the following sequences are splits of 88[4,4][4,4][3,3,2][3,3,2][2,2,1,1,1,1][2,2,1,1,1,1][5,2,1][5,2,1].

The following sequences aren't splits of 88[1,7][1,7][5,4][5,4][11,3][11,−3][1,1,4,1,1][1,1,4,1,1].

The weight of a split is the number of elements in the split that are equal to the first element. For example, the weight of the split [1,1,1,1,1][1,1,1,1,1] is 55, the weight of the split [5,5,3,3,3][5,5,3,3,3] is 22 and the weight of the split [9][9] equals 11.

For a given nn, find out the number of different weights of its splits.

Input

The first line contains one integer nn (1n1091≤n≤109).

Output

Output one integer — the answer to the problem.

Examples
input
Copy
7
output
Copy
4
input
Copy
8
output
Copy
5
input
Copy
9
output
Copy
5
Note

In the first sample, there are following possible weights of splits of 77:

Weight 1: [77]

Weight 2: [3333, 1]

Weight 3: [222222, 1]

Weight 7: [11111111111111]


题目大意:

比如7,它可以分成1个7,这时,序列中最多只有一个相同的数字。也可以是3,3,1,这时,序列中最多有两个相同的数字。求一共有几个最多相同数字不同的序列。

思路:一开始想着用set,先考虑只有1组成的序列,比如数字7/1=7,把7放入set。7/2=3,7-3=4,max(3,4),我们知道set内是不含相同的数字的,所以循环一遍后输出set的长度就好。但是超时了。

这说明,这题目比想象的更简单。还是拿7来打比方,先是可以分成1111111,把前两个1合成2,所以有211111,再31111,这样下来,只要求1的个数就好,那么每个数字最多也不过n/2+1个1.所以代码就很简单了。

代码:

#include<iostream>
using namespace std;
int main()
{
    long long int n;
    while(cin>>n)
    {
        cout<<n/2+1<<endl;
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: nuscenes.utils.splits是一个在nuscenes数据集中使用的工具程序,用于划分数据集(例如训练集、验证集和测试集)。它通过给定的划分方案来确定每个样本的分配类别,从而使模型的开发和评估更加有效。 ### 回答2: nuscenes.utils.splits 是 NuScenes 中一个用于数据集分割的工具。在处理大规模数据集时,数据集的分割是常见的操作,通常是为了将数据集划分为训练集、验证集和测试集。 nuscenes.utils.splits 提供了一些函数和方法,用于将 NuScenes 数据集中的样本按照不同的标准进行划分。例如,可以按照场景 ID、样本时序或随机抽样的方式将数据集划分为不同的子集。这样可以方便地进行数据集的组织和管理,以及进行机器学习模型的训练和评估。 使用 nuscenes.utils.splits,可以在数据集中选择特定的场景或时序范围,以获取与之相关的数据样本。可以根据自己的需求设置不同的划分方式,例如将数据集按照一定的比例划分为训练集和验证集,然后再从验证集中抽取一部分作为测试集。 这个工具还可以方便地进行数据集的可视化和统计分析。可以使用 nuscenes.utils.splits 提供的函数,将分割后的数据集可视化为图像或视频,以便更直观地了解数据集的内容和特点。同时,可以利用这个工具计算各个子集的样本数量、平均属性等统计信息,从而更好地掌握数据集的特征。 总的来说,nuscenes.utils.splits 是一个在 NuScenes 数据集上进行数据分割和管理的有用工具,方便用户根据不同的需求对数据集进行灵活的组织和操作。 ### 回答3: nuscenes.utils.splits是一个在Nuscenes数据集中用于处理数据拆分的工具。Nuscenes数据集是一个包含了大量的自动驾驶场景数据的数据集,它包括了来自于多个摄像头、激光雷达和雷达的传感器数据,以及车辆的姿态和标注信息。 在处理Nuscenes数据集时,我们可能需要将数据按照不同的目的进行拆分,比如将数据集拆分为训练集、验证集和测试集,或者将数据按照场景进行拆分。 nuscenes.utils.splits提供了一些方便的函数来实现数据拆分。它可以帮助我们将数据集按照指定的比例或者指定的场景进行拆分,并返回拆分后的数据集中的样本的文件路径。 其中,一个常用的函数是create_splits_scenes(),它可以根据指定的场景和拆分比例创建数据集的拆分。这个函数接受一个包含场景名字的列表和一个包含拆分比例的字典作为输入,并返回一个包含每个拆分中样本文件路径的字典。拆分比例可以根据需求进行调整来满足不同的实验要求。 另一个常用的函数是get_splits(),它可以根据拆分比例和指定的场景列表加载数据集的拆分。这个函数接受一个包含拆分比例的字典和一个包含场景名字的列表作为输入,并返回一个包含划分后的训练集、验证集和测试集样本文件路径的字典。 这些函数提供了一些方便的工具来处理和管理Nuscenes数据集的拆分,帮助我们更好地使用这个丰富的自动驾驶数据集进行研究和实验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值