zoukankan      html  css  js  c++  java
  • 小蓝书:电影

    题意

    题意

    题解

    都是用离散化的吗?这么神奇?

    我的思路就是对于(a)排序,对于语音和字幕的也分别排序,然后三个指针一起从小到大跳得到每个电影的语音和字幕能让多少个人高兴起来。

    时间复杂度:(O(nlogn+mlogm))

    代码

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define  N  210000
    using  namespace  std;
    int  a[N],n,m;
    struct  node
    {
    	int  x,id;
    }b[N]/*语音*/,c[N]/*字幕*/;
    struct  answer
    {
    	int  x,y;
    }d[N];
    inline  bool  cmp(int  x,int  y){return  x<y;}
    inline  bool  cmp1(node  x,node  y){return  x.x<y.x;}
    int  main()
    {
    	scanf("%d",&n);
    	for(int  i=1;i<=n;i++)scanf("%d",&a[i]);
    	scanf("%d",&m);
    	for(int  i=1;i<=m;i++)
    	{
    		scanf("%d",&b[i].x);
    		b[i].id=i;
    	}
    	for(int  i=1;i<=m;i++)
    	{
    		scanf("%d",&c[i].x);
    		c[i].id=i;
    	}
    	sort(a+1,a+n+1,cmp);
    	sort(b+1,b+m+1,cmp1);
    	sort(c+1,c+m+1,cmp1);
    	int  now=0/*表示目前是哪种编号的人*/,cnt=0,l1=1,l2=1;
    	for(int  i=1;i<=n;i++)
    	{
    		if(a[i]!=now)
    		{
    			while(b[l1].x<now  &&  l1<=m)d[b[l1++].id].x=0;
    			while(b[l1].x==now  &&  l1<=m)d[b[l1++].id].x=cnt;
    			while(c[l2].x<now  &&  l2<=m)d[c[l2++].id].y=0;
    			while(c[l2].x==now  &&  l2<=m)d[c[l2++].id].y=cnt;
    			now=a[i],cnt=1;
    		}
    		else  cnt++;
    	}
    	while(b[l1].x<now  &&  l1<=m)d[b[l1++].id].x=0;
    	while(b[l1].x==now  &&  l1<=m)d[b[l1++].id].x=cnt;
    	while(c[l2].x<now  &&  l2<=m)d[c[l2++].id].y=0;
    	while(c[l2].x==now  &&  l2<=m)d[c[l2++].id].y=cnt;
    	answer  ans;int  id=0;ans.x=ans.y=0;
    	for(int  i=1;i<=m;i++)
    	{
    		if(d[i].x>ans.x  ||  (d[i].x==ans.x  &&  d[i].y>=ans.y))id=i,ans=d[i];
    	}
    	printf("%d
    ",id);
    	return  0;
    }
    
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/zhangjianjunab/p/13403755.html
Copyright © 2011-2022 走看看