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;
    }
    
  • 相关阅读:
    mac 调整Launchpad行列数目
    查询及删除重复记录的SQL语句
    Linux中删除特殊符号文件名文件
    Mac 如何寻找Mac自带的IDLE
    Spring、Spring MVC、MyBatis 整合文件配置详解
    虚拟机下安装win7
    kali-linux 安装
    selenium 元素定位
    selenium 启动、窗口、获取标题
    python+ selenium + webdriver的环境准备
  • 原文地址:https://www.cnblogs.com/zhangjianjunab/p/13403755.html
Copyright © 2011-2022 走看看