luogu1147:连续自然数和:队列的使用

题目连接

  • 该题是luogu试炼场的2-11:T5

题目大意

  1. 给出n,求1-n的数字中,那些段的连续和 是 n

题目分析

  • 2000000 的数据,应该没什么坑

  • 解题思路:队列的介绍

  • 代码


解题思路:队列的介绍

  1. 一般指连续的数字:小火车
  2. 这里车头是y,车尾是x,车头一直往前开,如果s>n,则车尾缩短:

luogu1147:连续自然数和:队列的使用_第1张图片

代码1:

//luogu1147:连续自然数和 

//连续:队列的使用 

#include 
using namespace std;

int main()
{
	int n,m; 
	scanf("%d",&n); m=n/2+1;
	
	int x=1,y,s=1;// [x,y] 的和是 s 
	
	for(y=2;y<=m+1;y++)
	{
		s+=y;//进队 
		while( s>n && x

你可能感兴趣的:(题解,大礼包,luogu,题表,luogu1147,连续自然数的和)