hdu 4105 贪心思想「建议收藏」

hdu 4105 贪心思想

大家好,又见面了,我是全栈君。

淋漓尽致的贪心思想

波谷一定是一位数。波峰一位数不够大的时候加入到两位数就一定够大了的。

当在寻找波谷碰到零了就自然当成波谷。

当在寻找波峰时碰到零时,将前面的波谷加到前一个波峰上。让当前的零做波谷,使得波谷的值尽量小,这就是本题最关键的贪心思想。一直想不到。

代码中:a表示前一个值,b表示当前考虑的值,tag为偶数时表示正在寻找波谷,奇数时在寻找波峰。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>

using namespace std;

char data[5999];

int main()
{
	int n, m, k;

	while(scanf("%d", &n) != EOF)
	{
		scanf("%s", data);
		//cout<<data<<endl;
		int a, b, tag = 0;
		a = 11;
		b = 0;
		int ans = 0;
		for(int i = 0; i < n; i ++)
		{
			b = (data[i] - '0');
			if(tag % 2 == 0){
				if(b < a){		
					a = b;
				}
				else
				{	
					i ++;
					a = data[i]-'0';
				}
			}
			else
			{
				if(b > a)
				{
					a = b;
				}
				else
				{
					if(b == 0)
					{
						while(data[i] == '0'){
							i ++;
							if(i >= n) break;	
						}
						//贪心思想,有0就一定让他做波谷,把原先的波谷a给到他的前一个波峰上
						a = 0;	//0做波谷 
						b = data[i]-'0';
						a = b;
					}
					else
					{
						i ++;
						a = b*10 + (data[i] - '0');
					}
				}
			}
			if(i >= n) break;
			ans ++; tag ++;
		}
		printf("%d\n", ans-1);		
	}
	
	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115971.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • GIMP 教程

    GIMP 教程二个内容一样,下面的新点。都是本人原创。http://linux-wiki.cn/work/gimp/index.htmhttp://www.rzgimp.com/

  • golang 面试题(从基础到高级)

    golang 面试题(从基础到高级)Golang面试问题汇总通常我们去面试肯定会有些不错的Golang的面试题目的,所以总结下,让其他Golang开发者也可以查看到,同时也用来检测自己的能力和提醒自己的不足之处,欢迎大家补充和提交新的面试题目.Golang面试问题汇总:1.Golang中除了加Mutex锁以外还有哪些方式安全读写共享变量?Golang中Goroutine可以通过Channel进行安全读写…

  • 说一下java的运行机制_Java运行机制是什么?「建议收藏」

    说一下java的运行机制_Java运行机制是什么?「建议收藏」不管是学习Java还是其他什么变成语言,我们不仅要了解它的特性,充分的使用Java语言完成各种程序开发工作,还要了解Java的运行机制。只有了解其底层的运行机制,才能更好的利用Java完成各项工作。Java运行机制是什么?Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名师“.java”的源文件进行编译,最终生成后缀名为“.class”的字节码文件。然后Java虚拟机将编译后的字节码文件…

  • 苹果哪款手机无刘海_刘海屏是什么意思

    苹果哪款手机无刘海_刘海屏是什么意思用iPhone这么多年你们用过iPodTouch吗?在iPhone4发布的时候我接触过一次iPodTouch,当时是同事买的超薄的,感觉就是为打游戏制造的,(本人热爱游戏)那时候感觉真…

  • cookie和session「建议收藏」

    一、cookie和session的介绍cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。cookie

  • Java中的FileInputStream与FileOutputStream的基本使用详解[通俗易懂]

    Java中的FileInputStream与FileOutputStream的基本使用详解[通俗易懂]Javav中的FileInputStream与FileOutputStream的使用

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号