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. String实例 (练习)

    练习题1:用户输入一段字符串,要求统计出在该段字符串中,数字,字母以及其他字符各出现过几次??? 代码实现: 运行结果:  补充:1. 连接符的使用: +用作连接符时,只能连接字符串,即“    ”双 ...

  2. Oracle Linux下安装Oracle11gR2

    Linux上Oracle11g R2安装及配置 一. 安装环境准备 1.  环境说明 Linux服务器系统:Oracle Linux Release 6 Update 2 (64bit),先安装好. ...

  3. Win环境下安装vue及运行vue开发的前端项目

    vue安装及配置 首先下载node.js要求版本在8.9以上        官网:https://nodejs.org/zh-cn/ 下载完可检查在windows任务命令行里输入node -v 使用淘 ...

  4. Maven 仓库、坐标、常用命令

    maven中的仓库 需要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库. 中央仓库很多都在国外,下载速度慢.国内的一些公司在自己的服务器上搭建了maven仓库(中央仓库的镜像),供内部 ...

  5. layui table 表头和内容数据不能对齐

    个人博客 地址:http://www.wenhaofan.com/article/20181224153019 今天使用layui table方法渲染时出现了个莫名其妙的错误 正常情况table应该是 ...

  6. Windows10官方原版系统下载安装制作方法

    Windows10官方原版系统下载安装制作方法 去官网下载系统安装程序 点进去 https://www.microsoft.com/zh-cn/software-download/windows10 ...

  7. [转载]花了半个月,终于把Python库全部整理出来了,非常全面

    库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable 主要用于在终端或浏览器端构 ...

  8. Java获取IP地址,IpUtils工具类,Java IP地址获取

    ================================ ©Copyright 蕃薯耀 2020-01-17 https://www.cnblogs.com/fanshuyao/ import ...

  9. C# 截取屏幕

    /// <summary> /// 截取屏幕 /// </summary> /// <param name="x">起点X坐标</para ...

  10. MySql -- check 约束

    6.CHECK 约束:用于限制列中的值的范围 在一些情况下,我们需要字段在指定范围的输入,例如:性别只能输入 '男'或者'女',余额只能大于0等条件,我们除了在程序上控制以外,我们还能使用 CHECK ...