zoukankan      html  css  js  c++  java
  • Good Bye 2019 A~G题解

    http://codeforces.com/contest/1270

    辣鸡比赛毁我青春

    A

    比较最大的牌即可

    B

    找相邻两个差的绝对值>=2的数

    如果不存在,则每次只能±1或不变,必然不存在合法区间

    C

    设和为s1,异或和为s2

    一种方法是把s2*2,那么加2^x等于异或2^(x+1)

    从后往前构即可,因为不会影响到异或和的当前位

    一种更sb的方法:

    加上两个数,第一个为s2,第二个为(s1+s2)

    那么和变成s1+s2+(s1+s2)=2(s1+s2),异或和变成s2^s2^(s1+s2)=s1+s2,满足要求

    D

    交♂互题

    先用两次操作求出两个不同位置的数,即第一次为1~k,第二次为1~k+1挖掉第一次找到的,设第一次的为x1,第二次的为x2

    只需要直到第二次询问的数中有多少个比x2小即可知道m

    注意最多只能询问n次,所以必须保证每次都能判掉一个新的数

    根据x1和x2的大小来讨论,每次把第二次询问的数中一个未知的数换成x1,根据得到的数的大小情况来判断

    如x1<x2,则若要判断的数比x2小,那么就会使询问结果不变,否则会变大(删掉了小于x2的x1)

    E

    迫真计算几何

    设当前坐标xy为奇奇、奇偶、偶奇、偶偶的个数为abcd

    ①若abcd中只有一个不为0,则把所有的点的坐标/2,显然这样不会使答案改变

    ②若a+d和b+c不为0,则可以把a+d分到A,把b+c分到B

    把距离平方,则在同一组之间的距离为偶数,在不同组的距离为奇数

    ③若a+d和b+c中有一个不为0(假设是a+d),那么把a分到A,把d分到B

    那么在同一组之间的距离为4的倍数,在不同组的距离模4余2

    因为模2余1的数在模4意义下为1或3,两个模2余1的数相加模4必然为2

    F

    设前缀为sum,则题目所求为(sum_{k=1}^{n}{sum_{l,r}{[frac{r-(l-1)}{sum[r]-sum[l-1]}=k]}})

    (t[i]=i-k*sum[i]),则可以变成(sum_{k=1}^{n}{sum_{l,r}{[t[l]=t[r]]}})

    平衡规划,设T为阈值

    对于n<=T的,暴力枚举k,用map统计t相同的个数计算

    对于n>T的,可以发现1的个数很小,所以枚举l,再枚举1的个数,求出有多少个合法的r,可以找r所在的0区间直接算

    G

    限制可以转为(1<=i-a_i<=n),对i向i-ai连一条有向边

    那么必然存在一个环,找到这个环,设上面的点分别为(i_1,i_2,i_3...i_k)

    则存在(i_1-a_{i1}=i_2,i_2-a_{i3}=i_3...i_k-a_{ik}=i_1),即(a_{i1}+a_{i2}+...+a_{ik}=0)

  • 相关阅读:
    pgfplots画二维图真的很方便,多例比较
    LaTeX技巧206:使用gather输入多行公式的技巧
    LaTeX技巧205:使用split输入多行公式技巧
    LaTeX技巧207:使用align环境输入多行公式的技巧
    LaTeX技巧24:LaTeX常用命令集锦
    CTEX
    Latex常用指令学习
    LATEX数学公式基本语法
    LaTeX使用技巧
    C 命令行参数
  • 原文地址:https://www.cnblogs.com/gmh77/p/12148669.html
Copyright © 2011-2022 走看看