• 算法代码hdu 1025(最大上升子序列的n*logn解法)


    近期朋友几篇文章介绍了改算法代码的文章. 关联文章的地址

        之前遇到过这个算法,但是事先没有特别注意。

        算法理解了七八分,但是还不敷彻底,先把代码发出来,明天修改一下,附上完全的算法思路。

        每日一道理
    无知者为梦想中的虚幻而苦苦等待,换回的不是所求的,而是岁月在脸上留下的印痕,一事无成的人一生便是虚度。生活中,与其花时间去等待,不如加快步伐去追寻理想,试着与时间赛跑,也许身躯、心理会感到劳累,但这样的生活毕竟是充实的。
    #include<stdio.h>
    #define N 500005
    int a[N],ans[N];
    int main()
    {
    	int n;
    	int x,y;
    	int i;
    	int count;
    	count=1;
    	while(scanf("%d",&n)!=EOF)
    	{
    		for(i=0;i<n;i++)
    		{
    			scanf("%d%d",&x,&y);
    			a[x]=y;
    		}
    		ans[1]=a[1];
    		int ln;
    		ln=1;
    		for(i=2;i<=n;i++)
    		{
    			int low,up;
    			low=1;
    			up=ln;
    			while(low<=up)
    			{
    				int mid;
    				mid=(low+up)/2;
    				if(ans[mid]<a[i])
    					low=mid+1;
    				else
    					up=mid-1;
    			}
    			ans[low]=a[i];
    			if(low>ln)
    				ln++;
    		}
    		printf("Case %d:\n",count++);
    		if(ln==1)
    			printf("My king, at most 1 road can be built.\n");
    		else
    			printf("My king, at most %d roads can be built.\n",ln);
    		printf("\n");
    	}
    	return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: 自行车
    一个程序员骑着一个很漂亮的自行车到了公司,另一个程序员看到了他,问 到,“你是从哪搞到的这么漂亮的车的?”
    骑车的那个程序员说, “我刚从那边过来, 有一个漂亮的姑娘骑着这个车过来, 并停在我跟前,把衣服全脱了,然后对我说,‘你想要什么都可以’”。
    另一个程序员马上说到, “你绝对做了一个正确的选择, 因为那姑娘的衣服你 并不一定穿得了”。

  • 相关阅读:
    【习题 6-10 UVA
    【习题 6-9 UVA
    【习题 6-8 UVA
    【NOIP2016练习】T1 挖金矿(二分答案)
    O(n)求1-n的逆元
    【NOIP2016练习】T1 string (计数)
    【NOIP2016练习】T2 跑跑步 (数论)
    【NOIP2016练习】T3 tree (树形DP)
    【CF679B】Theseus and labyrinth(数学,贪心)
    【NOIP2016练习】T2 旅行(树形DP,换根)
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3087556.html
Copyright © 2020-2023  润新知