比赛连接:ACM-ICPC 2015 BeiJing

本次比赛只写了 A G     然后 I题随后补

A

有一个正方形土地,上面有若干块绿洲。让你以x0为界限划一条竖线,要求左边绿洲面积>=右边绿洲面积且两者面积最接近。另外要求左边的土地总面积最大。求x0

二分 or 扫描线

// 二分
#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
#define LL long long
struct ac{
  LL  x,y,l,h;
}a[maxn];
LL n;
bool cmp(ac q,ac w){
   return q.x<w.x;
}
LL work(LL mid){
    LL ans=;
    ;j<n;j++){
        if(a[j].l+a[j].x<=mid){
            ans+=a[j].l*a[j].h;
        }
        else if(a[j].x<=mid&&(a[j].x+a[j].l)>=mid){
            ans+=(mid-a[j].x)*a[j].h;
        }else return ans;
    }
    return ans;
}
int  main(){
   LL  t;
   cin>>t;
   while(t--){
      LL  r,sum=;
      cin>>r>>n;
      ;j<n;j++){
         cin>>a[j].x>>a[j].y>>a[j].l>>a[j].h;
         if(a[j].x+a[j].l>=r){
           a[j].l=r-a[j].x;
         }
         sum+=a[j].l*a[j].h;
      }
      //cout<<sum<<endl;
      sort(a,a+n,cmp);
      LL  ll=,rr=r+,ans;
      while(ll<rr){
         LL  mid=(ll+rr)/;
         ans=;
         LL ans=work(mid);
         <sum){
             ll=mid+;
         }else rr=mid;
      }
      //cout<<ll<<" "<<rr<<endl;
      ans=work(ll);
      while(work(ll)<=ans&&ll<=r){
          ll++;
      }
      cout<<ll-<<endl;
   }
}

// 扫描线
#include<bits/stdc++.h>
using namespace std;
#define maxn 1000010
#define LL long long
LL  a[maxn];
int main(){
   LL  t;
   cin>>t;
   while(t--){
      LL  n,r,sum=;
      cin>>r>>n;
      memset(a,,sizeof(a));
      ;j<n;j++){
         LL  x,y,z,zz;
         cin>>x>>y>>z>>zz;
         ;k<=x+z;k++){
            a[k]+=zz;
         }
         sum+=(min(r,x+z)-x)*zz;
      }
      LL  ans=,j;
      ;j<r&&ans*<sum;j++){
         ans+=a[j];
         //cout<<ans<<" "<<j<<endl;
      }
      &&j<=r){
         j++;
      }
      cout<<j-<<endl;
   }
}

G

给你四个矩形 选出来三个看是否可以组成新的矩阵

数据很小直接全排列暴力枚举

#include<bits/stdc++.h>
using namespace std;
struct ac{
  int x,y;
}a[];
];
bool work(){
   ;
   ]].x;
   ]].y;
   ]].x;
   ]].y;
   ]].x;
   ]].y;
   if(w==ww){
      h+=hh;
      i=;
   }else if(w==hh){
     h+=ww;
     i=;
   }else if(h==ww){
     w+=hh;
     i=;
   }else if(h==hh){
     w+=ww;
     i=;
   }
   ) ;
   i=;
   if(www==w){
      i=;
   }else if(w==hhh){
     i=;
   }else if(h==www){
     i=;
   }else if(h==hhh){
     i=;
   }
   if(i)
    ;
   ;
}
int main(){
    int t;
    cin>>t;
    while(t--){
       ;j<;j++){
          cin>>a[j].x>>a[j].y;
          b[j]=j;
       }
       ;
       do{
         if(work()){
            fa=;
            break;
         }
       }));
       if(fa){
          cout<<"Yes"<<endl;
       }else cout<<"No"<<endl;
    }
}

ACM-ICPC 2015 BeiJing的更多相关文章

  1. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 G. Garden Gathering

    Problem G. Garden Gathering Input file: standard input Output file: standard output Time limit: 3 se ...

  2. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 D. Delay Time

    Problem D. Delay Time Input file: standard input Output file: standard output Time limit: 1 second M ...

  3. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 I. Illegal or Not?

    I. Illegal or Not? time limit per test 1 second memory limit per test 512 megabytes input standard i ...

  4. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 K. King’s Rout

    K. King's Rout time limit per test 4 seconds memory limit per test 512 megabytes input standard inpu ...

  5. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 H. Hashing

    H. Hashing time limit per test 1 second memory limit per test 512 megabytes input standard input out ...

  6. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 C. Colder-Hotter

    C. Colder-Hotter time limit per test 1 second memory limit per test 512 megabytes input standard inp ...

  7. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 A. Anagrams

    A. Anagrams time limit per test 1 second memory limit per test 512 megabytes input standard input ou ...

  8. hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online

    Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...

  9. 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)

    队名:Unlimited Code Works(无尽编码)  队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...

  10. (并查集)Travel -- hdu -- 5441(2015 ACM/ICPC Asia Regional Changchun Online )

    http://acm.hdu.edu.cn/showproblem.php?pid=5441 Travel Time Limit: 1500/1000 MS (Java/Others)    Memo ...

随机推荐

  1. 对B+树,B树,红黑树的理解

    出处:https://www.jianshu.com/p/86a1fd2d7406 写在前面,好像不同的教材对b树,b-树的定义不一样.我就不纠结这个到底是叫b-树还是b-树了. 如图所示,区别有以下 ...

  2. jQuery EasyUI 选项卡面板tabs使用实例精讲

    1. 对选项卡面板区域 div 设置 class=”easyui-tabs” 2. 对选项卡面板区域添加多个 div,每个 div 就是一个选项卡(每个面板一定设置 title) 3. 设置面板 fi ...

  3. JS对象、基本类型和字面量的区别

    字面值: var str1='this is a simple string'; var num1=1.45; var answer1=true; 基本类型: var str2=String('thi ...

  4. JS学习笔记 等于和包装对象

    严格等于 a===b 首先判断两边数据的类型,若类型不同,返回false. 若类型相同(1.2和1.2,字符串相等指内容和长度都是一样的),返回true null===null undefined== ...

  5. 获取DataSet中某行某列的数据

    LabelText = DataSet11.Tables("COMM.USERS").Rows[0]["User_Name"].tostring() Label ...

  6. Java之XML操作:从XML中直接获取数据

    本文介绍如何将数据记录在XML文件中,然后通过DOM4J直接从XML中读取到数据. 依赖包: <dependency> <groupId>dom4j</groupId&g ...

  7. SharePoint Server 2016 - Configure Office Online Server

    Step 1: Create the binding between SharePoint 2016 and Office Web Apps Server   To get started, open ...

  8. 当页面是动态时 如果后台存储id可以通过查询后台方式获取对象;当后台没有存储时候 只有通过前端标记了 例如标记数量为10 我们根据传递过来的10循环取值

    当页面是动态时 如果后台存储id可以通过查询后台方式获取对象;当后台没有存储时候 只有通过前端标记了 例如标记数量为10 我们根据传递过来的10循环取值

  9. BZOJ4177Mike的农场——最小割

    题目描述 Mike有一个农场,这个农场n个牲畜围栏,现在他想在每个牲畜围栏中养一只动物,每只动物可以是牛或羊,并且每个牲畜围栏中的饲养条件都不同,其中第i个牲畜围栏中的动物长大后,每只牛可以卖a[i] ...

  10. BZOJ3224普通平衡树——非旋转treap

    题目: 此为平衡树系列第一道:普通平衡树您需要写一种数据结构,来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数, ...