zoukankan      html  css  js  c++  java
  • Codeforces Beta Round #7

    Codeforces Beta Round #7

    http://codeforces.com/contest/7

    A

    水题

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define lson l,mid,rt<<1
     4 #define rson mid+1,r,rt<<1|1
     5 #define sqr(x) ((x)*(x))
     6 #define maxn 1000010
     7 typedef long long ll;
     8 /*#ifndef ONLINE_JUDGE
     9         freopen("1.txt","r",stdin);
    10 #endif */
    11 
    12 string str[15];
    13 int book[15][15];
    14 
    15 int Check1(int x){//lie
    16     for(int i=0;i<8;i++){
    17         if(str[i][x]!='B') return 0;
    18     }
    19     int ans=0;
    20     for(int i=0;i<8;i++){
    21         if(book[i][x]==0) book[i][x]=1,ans=1;
    22     }
    23     return ans;
    24 }
    25 
    26 int Check2(int x){
    27     for(int i=0;i<8;i++){
    28         if(str[x][i]!='B') return 0;
    29     }
    30     int ans=0;
    31     for(int i=0;i<8;i++){
    32         if(book[x][i]==0) book[x][i]=1,ans=1;
    33     }
    34     return ans;
    35 }
    36 
    37 
    38 int main(){
    39     #ifndef ONLINE_JUDGE
    40         freopen("1.txt","r",stdin);
    41     #endif
    42     std::ios::sync_with_stdio(false);
    43     for(int i=0;i<8;i++) cin>>str[i];
    44     int ans=0;
    45     for(int i=0;i<8;i++){
    46         ans+=Check1(i);
    47     }
    48     for(int i=0;i<8;i++){
    49         ans+=Check2(i);
    50     }
    51     cout<<ans<<endl;
    52 }
    View Code

    B

    模拟题

      1 #include<bits/stdc++.h>
      2 using namespace std;
      3 #define lson l,mid,rt<<1
      4 #define rson mid+1,r,rt<<1|1
      5 #define sqr(x) ((x)*(x))
      6 #define maxn 1000010
      7 typedef long long ll;
      8 /*#ifndef ONLINE_JUDGE
      9         freopen("1.txt","r",stdin);
     10 #endif */
     11 
     12 int t,n,m;
     13 int book[105];
     14 struct sair{
     15     int first,last;
     16     int flag,pos;
     17 }a[105];
     18 
     19 bool Check(int pos){
     20     int i;
     21     if(pos+n>m+1) return false;
     22     for(i=pos;i<pos+n;i++){
     23         if(book[i]){
     24             return false;
     25         }
     26     }
     27     return true;
     28 }
     29 
     30 bool cmp(sair a,sair b){
     31     if(a.flag==b.flag)
     32         return a.first<b.first;
     33     return a.flag>b.flag;
     34 }
     35 
     36 bool cmp2(sair a,sair b){
     37     return a.pos<b.pos;
     38 }
     39 
     40 int main(){
     41     #ifndef ONLINE_JUDGE
     42         freopen("1.txt","r",stdin);
     43     #endif
     44     std::ios::sync_with_stdio(false);
     45     cin>>t>>m;
     46     string str;
     47     int co=1;
     48     int i;
     49     for(int i=1;i<=100;i++){
     50         a[i].flag=0;
     51         a[i].pos=i;
     52     }
     53     while(t--){
     54         cin>>str;
     55         if(str=="alloc"){
     56             cin>>n;
     57             for(i=1;i<=m;i++){
     58                 if(Check(i)){
     59                   //  cout<<book[i]<<" "<<i<<"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"<<endl;
     60                     a[co].first=i,a[co].last=i+n-1;
     61                     a[co].flag=1;
     62                  //   cout<<a[co].first<<" "<<a[co].last<<"hhhhhhhhhhhh"<<endl;
     63                     for(int j=a[co].first;j<=a[co].last;j++) book[j]=1;
     64                     cout<<co<<endl;
     65                     co++;
     66                     break;
     67                 }
     68             }
     69             if(i==m+1){
     70                 cout<<"NULL"<<endl;
     71             }
     72         }
     73         else if(str=="erase"){
     74             cin>>n;
     75             if(n<1||n>101){
     76                 cout<<"ILLEGAL_ERASE_ARGUMENT"<<endl;
     77                 continue;
     78             }
     79             if(a[n].flag==0){
     80                 cout<<"ILLEGAL_ERASE_ARGUMENT"<<endl;
     81             }
     82             else{
     83                 a[n].flag=0;
     84                 for(i=a[n].first;i<=a[n].last;i++){
     85                     book[i]=0;
     86                 }
     87             }
     88         }
     89         else{
     90             memset(book,0,sizeof(book));
     91             sort(a+1,a+co,cmp);
     92             int pos=1;
     93             for(i=1;i<co;i++){
     94                 if(a[i].flag){
     95                     for(int j=a[i].first;j<=a[i].last;j++){
     96                         book[pos++]=1;
     97                     }
     98                     int tmp=a[i].last-a[i].first;
     99                     a[i].last=pos-1;
    100                     a[i].first=a[i].last-tmp;
    101                 }
    102             }
    103             sort(a+1,a+co,cmp2);
    104         }
    105       //  for(int i=1;i<=3;i++) cout<<book[i]<<" hhhhhh"<<endl;
    106     }
    107 }
    View Code

    C

    扩展欧几里德模板题

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define lson l,mid,rt<<1
     4 #define rson mid+1,r,rt<<1|1
     5 #define sqr(x) ((x)*(x))
     6 #define maxn 1000010
     7 typedef long long ll;
     8 /*#ifndef ONLINE_JUDGE
     9         freopen("1.txt","r",stdin);
    10 #endif */
    11 
    12 void gcd(long long a,long long b,long long &d,long long &x,long long &y){
    13     if(!b){
    14         d=a;
    15         x=1;
    16         y=0;
    17     }
    18     else{
    19         gcd(b,a%b,d,y,x);
    20         y-=x*(a/b);
    21     }
    22 }
    23 int main(){
    24     #ifndef ONLINE_JUDGE
    25         freopen("1.txt","r",stdin);
    26     #endif
    27     long long a,b,c,d,x,y;
    28     scanf("%lld%lld%lld",&a,&b,&c);
    29     gcd(a,b,d,x,y);
    30     if(c%d)
    31         printf("-1
    ");
    32     else
    33         printf("%lld %lld
    ",-x*c/d,-y*c/d);
    34 
    35 }
    View Code

    D

    字符串hash(好题)

    思路:把字符串的前缀正着hash和倒着hash,比较hash值

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define lson l,mid,rt<<1
     4 #define rson mid+1,r,rt<<1|1
     5 #define sqr(x) ((x)*(x))
     6 #define maxn 1000010
     7 typedef long long ll;
     8 /*#ifndef ONLINE_JUDGE
     9         freopen("1.txt","r",stdin);
    10 #endif */
    11 
    12 char str[5000005];
    13 ll dp[5000005];
    14 int main(){
    15     #ifndef ONLINE_JUDGE
    16         freopen("1.txt","r",stdin);
    17     #endif
    18     scanf("%s",str+1);
    19     ll ans=0;
    20     ll t1=0,w1=0,p=121,num=1;
    21     int len=strlen(str+1);
    22     for(int i=1;i<=len;i++){
    23         t1=t1*p+str[i];
    24         w1=num*str[i]+w1;
    25         num*=p;
    26         if(t1==w1){
    27             dp[i]=dp[i/2]+1;
    28             ans+=dp[i];
    29         }
    30     }
    31     printf("%lld
    ",ans);
    32 }
    View Code
  • 相关阅读:
    阿里P8架构师谈:阿里双11秒杀系统如何设计?
    秒杀系统设计的知识点
    秒杀系统架构优化思路
    秒杀系统解决方案
    Entity Framework Code First (七)空间数据类型 Spatial Data Types
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
  • 原文地址:https://www.cnblogs.com/Fighting-sh/p/10350698.html
Copyright © 2011-2022 走看看