zoukankan      html  css  js  c++  java
  • codeforces刷题记录

    Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)

    C. Magic Grid

    • 这种题直接构造
    • 数n是2的n次方的倍数的时候可以这样划分数
    • 比如n是4的倍数  n=k*4
    • 000        001         010         011
    • 100        101         110         111
    • (k-1)00   (k-1)01   (k-1)10   (k-1)11
    • 然后填格子

    Codeforces Round #581 (Div. 2)

    D2. Kirk and a Binary String (hard version)

    • 题意:给一个只含01的串,然后构造另外一个串,满足任意给定l~r,新串与原串不最长下降子序列长度相同
    • 000001111111这种的你把前面的1变成0是不会有影响的
    • 111100000这种的完全不能变
    • 所以考虑得到这个不下降子序列的方法:让1和后面所有的0打包,剩下的全要,打包的那部分要一半
    • 显然剩下的那部分里把1全变成0是没有影响的

    Codeforces Global Round 4

    D. Prime Graph

    • 题意给一个n,构造这样一个简单图:总边数是质数然后每个边的度是质数
    • 光是给出每个边的度是不能构造出一张图来的
    • (n-1) + n/4*2 = x    在 n-1 和  (n-1) + n/4*2之间是一定有一个质数的
    • 所以光是用度数为2,3就可以完事了~
    • 所以遇到这种题目直接玄学构造就好了啊(疯狂打表)

     Codeforces Global Round 2

    C. Ramesses and Corner Inversion

    • 题意:给两个矩阵,问可不可以用上面描述的操作把上面的变成下面的
    • 所以这种题就想办法用机智的姿势把上面的变成下面的就好了啊为什么我还是每次都不会quq
    • 看题解就完事了
    • 真的要学会观察,用简单有规律的去表示复杂的

    Codeforces Round #588 (Div. 2)

    D.D. Marcin and Training Camp

    • 死于认为7000过不了O(n^2)
    • 害,还是太菜了
    •  1 #include <bits/stdc++.h>
       2 #define nmax 7010
       3  
       4 using namespace std;
       5 typedef long long ll;
       6 ll a[nmax],b[nmax],c[nmax];
       7 ll ans=0;
       8 int n,idx=0;
       9 map <ll,int> m;
      10  
      11 int main(){
      12     cin>>n;
      13     for (int i=0; i<n; i++) {
      14         scanf("%I64d",&a[i]);
      15         m[ a[i] ]++;
      16         if(m[ a[i] ]==2) c[idx++]=a[i];
      17     }
      18     for (int i=0; i<n; i++) scanf("%I64d",&b[i]);
      19     for (int i=0; i<n; i++) {
      20         if(m[a[i]]>1) ans+=b[i];
      21         else{
      22             for (int j=0; j<idx; j++) {
      23                 bool flag=true;
      24                 for (ll k=0; k<=61; k++) {
      25                     //printf("%lld%lld   quq
      ",c[j]&(1LL<<k) ,a[i]&(1LL<<k) );
      26                         if( (a[i]&(1LL<<k)) && !(c[j]&(1LL<<k)) ){、、这里调试了好久,!=0就过不了,改成非就过了,神奇
      27                             flag=false;
      28                             break;
      29                         }
      30                 }
      31                 if(flag) { ans+=b[i]; break; }
      32  
      33             }
      34         }
      35     }
      36     cout<<ans<<endl;
      37     return 0;
      38 }
       ̄□ ̄||

    C. Anadi and Domino

    •  暴力题,,,看一眼题解就ok了,枚举全排列
    • 这场怎么感觉全是暴力题。。。
    • 代码:
       1 #include <bits/stdc++.h>
       2  
       3 using namespace std;
       4 int g[8][8]={0};
       5 int n,m,a,b,ans=0;
       6 int ma[200],mb[200];
       7  
       8 void mj(int cnt,int* x){
       9     if(cnt==n
      10        ) {
      11         int d[7][7];
      12         memset(d,0,sizeof(d));
      13         for (int i=0; i<m; i++){
      14             d[ x[ma[i]] ][ x[mb[i]] ]++;
      15             if(x[ma[i]]!=x[mb[i]]) d[ x[mb[i]] ][ x[ma[i]] ]++;
      16         }
      17         int ta=0;
      18         for (int i=1; i<=6; i++) for (int j=i; j<=6; j++) if(d[i][j]) ta++;
      19         ans=max(ans,ta);
      20         return;
      21     }
      22     int tx[n+1];
      23     for (int i=1; i<=cnt; i++) tx[i]=x[i];
      24     for (int i=1; i<=6; i++) {
      25         tx[cnt+1]=i;
      26         mj(cnt+1,tx);
      27     }
      28 }
      29  
      30 int main(){
      31     cin>>n>>m;
      32     if(m==0) { cout<<0<<endl; return 0; }
      33     for (int i=0; i<m; i++) {
      34         scanf("%d%d",&ma[i],&mb[i]);
      35         g[a][b]=g[b][a]=1;
      36     }
      37     int x[n+1];
      38     mj(0,x);
      39     cout<<ans<<endl;
      40     return 0;
      41 }
      o(╥﹏╥)o
  • 相关阅读:
    [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
    Web开发基本准则-55实录-缓存策略
    Web开发基本准则-55实录-Web访问安全
    线上Java应用排查和诊断规范
    [慢查优化]建索引时注意字段选择性 & 范围查询注意组合索引的字段顺序
    [慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定
    再说memcache的multiget hole(无底洞)
    RCA:未注意Curl-library Post 1024以上字节时的HTTP/1.1特性导致 HessianPHP 传输数据失败
    (研发系)职业化7个细节
    5·12和6·17两知名网站域名被劫持事件实施过程回放
  • 原文地址:https://www.cnblogs.com/jiecaoer/p/11421017.html
Copyright © 2011-2022 走看看