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)
  • 害,还是太菜了
  •  #include <bits/stdc++.h>
    #define nmax 7010 using namespace std;
    typedef long long ll;
    ll a[nmax],b[nmax],c[nmax];
    ll ans=;
    int n,idx=;
    map <ll,int> m; int main(){
    cin>>n;
    for (int i=; i<n; i++) {
    scanf("%I64d",&a[i]);
    m[ a[i] ]++;
    if(m[ a[i] ]==) c[idx++]=a[i];
    }
    for (int i=; i<n; i++) scanf("%I64d",&b[i]);
    for (int i=; i<n; i++) {
    if(m[a[i]]>) ans+=b[i];
    else{
    for (int j=; j<idx; j++) {
    bool flag=true;
    for (ll k=; k<=; k++) {
    //printf("%lld%lld quq\n",c[j]&(1LL<<k) ,a[i]&(1LL<<k) );
    if( (a[i]&(1LL<<k)) && !(c[j]&(1LL<<k)) ){、、这里调试了好久,!=0就过不了,改成非就过了,神奇
    flag=false;
    break;
    }
    }
    if(flag) { ans+=b[i]; break; } }
    }
    }
    cout<<ans<<endl;
    return ;
    }

     ̄□ ̄||

C. Anadi and Domino

  • 暴力题,,,看一眼题解就ok了,枚举全排列
  • 这场怎么感觉全是暴力题。。。
  • 代码:
     #include <bits/stdc++.h>
    
     using namespace std;
    int g[][]={};
    int n,m,a,b,ans=;
    int ma[],mb[]; void mj(int cnt,int* x){
    if(cnt==n
    ) {
    int d[][];
    memset(d,,sizeof(d));
    for (int i=; i<m; i++){
    d[ x[ma[i]] ][ x[mb[i]] ]++;
    if(x[ma[i]]!=x[mb[i]]) d[ x[mb[i]] ][ x[ma[i]] ]++;
    }
    int ta=;
    for (int i=; i<=; i++) for (int j=i; j<=; j++) if(d[i][j]) ta++;
    ans=max(ans,ta);
    return;
    }
    int tx[n+];
    for (int i=; i<=cnt; i++) tx[i]=x[i];
    for (int i=; i<=; i++) {
    tx[cnt+]=i;
    mj(cnt+,tx);
    }
    } int main(){
    cin>>n>>m;
    if(m==) { cout<<<<endl; return ; }
    for (int i=; i<m; i++) {
    scanf("%d%d",&ma[i],&mb[i]);
    g[a][b]=g[b][a]=;
    }
    int x[n+];
    mj(,x);
    cout<<ans<<endl;
    return ;
    }

    o(╥﹏╥)o

codeforces刷题记录的更多相关文章

  1. DP刷题记录

    目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...

  2. PE刷题记录

    PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...

  3. Codeforces刷题计划

    Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...

  4. leetcode刷题记录--js

    leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...

  5. Leetcode刷题记录(python3)

    Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...

  6. 刷题记录:[HarekazeCTF2019]encode_and_encode

    目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...

  7. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  8. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  9. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

随机推荐

  1. echarts 的 formatter用法

    前言:formatter格式化方法.使用formatter调用自定义的数据,把内容通过处理让变成我们想要的样子. 比如,echarts数据显示是这样的(bug:部分内容被隐藏掉了,显示太长,不美观) ...

  2. C#代码实现-冒泡排序

    冒泡排序原理:(升序)通过当前位置数和后一个位置数进行比较 如果当前数比后一个数大 则交换位置, 完成后 比较基数的位置变成下一个数.直到数组末尾,当程序运行完第一遍 最大的数已经排序到最后一个位置了 ...

  3. C#后台异步消息队列实现

    简介 基于生产者消费者模式,我们可以开发出线程安全的异步消息队列. 知识储备 什么是生产者消费者模式? 为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程. 简单来说,多住户产生垃圾(生产者)将垃 ...

  4. java设计模式学习笔记--开闭原则

    基本介绍 1.开闭(ocp)原则时编程中最基础.最重要的设计原则 2.一个软件实体如类.木块和函数应该对扩展开放,对修改关闭.用抽象构建框架,用实现扩展细节.即对提供方开放,对使用方关闭. 3.当软件 ...

  5. MySQL 普通索引和唯一索引的区别

    该文为< MySQL 实战 45 讲>的学习笔记,感谢查看,如有错误,欢迎指正 一.查询和更新上的区别 这两类索引在查询能力上是没差别的,主要考虑的是对更新性能的影响.建议尽量选择普通索引 ...

  6. 从零开始一个个人博客 by asp.net core and angular(三)

    这是第三篇了,第一篇只是介绍,第二篇介绍了api项目的运行和启动,如果api项目没什么问题了,调试都正常了,那基本上就没什么事了,由于这一篇是讲前端项目的,所以需要运行angular项目了,由于前端项 ...

  7. 3.Python运算符详解

    1.算数运算符 符号:+   -   *   /   %(取余.取模)   //(取整)   **(开方) 2.比较运算符 符号:>   >=   <   <=   ==(全等 ...

  8. vue中keepalive怎么理解?​---vue中文社区

    vue中keepalive怎么理解? 说在前面: keep-alive是vue源码中实现的一个组件, 感兴趣的可以研究源码 https://github.com/vuejs/vue/blob/dev/ ...

  9. opencv中的图像矩(空间矩,中心矩,归一化中心矩,Hu矩)

    严格来讲矩是概率与统计中的一个概念,是随机变量的一种数字特征.设 x 为随机变量,C为常数,则量E[(x−c)^k]称为X关于C点的k阶矩.比较重要的两种情况如下: 1.c=0,这时a_k=E(X^k ...

  10. [PKUWC2018]Minimax [dp,线段树合并]

    好妙的一个题- 我们设 \(f_{i,j}\) 为 \(i\) 节点出现 \(j\) 的概率 设 \(l = ch[i][0] , r = ch[i][1]\) 即左儿子右儿子 设 \(m\) 为叶子 ...