zoukankan      html  css  js  c++  java
  • 题解-CF1270

    CF1270 Good Bye 2019

    这篇题解就当是 CF1466 Good Bye 2020 前磨的最后一把剑。

    啊,时间真快啊,打了一年 CF 了。


    CF1270A Card Game

    luogu

    一个人无赖,不停出最大的牌即可。所以比最大的牌的大小。

    aclink


    CF1270B Interesting Subarray

    luogu

    很多时候一个序列很难处理的问题,看看两个数是否就能解决。

    易证,如果存在多个数的解就存在两个数的解,枚举相邻两个数即可。

    aclink


    CF1270C Make Good

    luogu

    设当前和为 (s),异或和为 (x),有两个巧妙的做法:

    1. 考虑异或的性质,用两个数解决这道题:(x,x+s)

    2. 如果用一个数解的话,这个数应该是固定存在的。分析这个数的性质:

      • 如果 (s) 是奇数,先用这个数把它填成偶数。
      • 否则对于每个 (i),如果 (x) 的第 (i) 位和 (s) 的第 (i+1) 位不等,就填充 (i+1) 位。

    aclink


    CF1270D Strange Device

    luogu

    10 分钟难度。在什么信息都没有的时候,考虑先询问 (1 o k)

    然后重复 (n-k) 次:把得到的数换成下一个没有询问过的数,然后询问。

    思考我们得到了哪 (n-k+1) 个不同的数。

    这不好想,反过来想有哪 (k-1) 个数没有被选到。

    (r_i)(a_i) 的全场排名,很明显 (r_i<m) 的选不到,

    还有 (r_i>n-k+m) 的也选不到。正好 (k-1) 个。

    所以要求 (m),只需要求未知的数中 (r_i<m) 的个数即可。

    所以可以从已知的数中选两: (x<y)

    然后先把询问的前 (k-1) 个填充为未知数,处理到一个未知数的时候,把它和空位替换成 (x,y),然后询问。如果得到 (y),说明这个数 (r_i<m)

    aclink


    CF1270E Divide Points

    luogu

    做完题知道了:从图论下手这题是不可做的。

    现在需要一个固定的准则,把同长的边不染不同色。

    以第一个点为原点,考虑每个点两维的奇偶性。

    如果都是偶数,全 (div 2)

    1. 如果只有 ((0,0))((1,1)):那么两个集合划开即可。

    2. 如果有 ((0,1))((1,0))((0,0),(1,1)) 一个集合,其余一个集合。

    aclink


    CF1270F Awesome Substrings

    luogu

    zz 一题,告诉我们打比赛不要顺序开题/卡题。

    根号分治,一维几个 (1),一维几倍。

    后者用 u_map/mapTLE 的,要数组。

    aclink


    CF1270G Subset with Zero Sum

    luogu

    感觉这种是最非人类的题了:约束问题转图论。

    就是 (1le i-a_ile n),然后连边 ((i,i-a_i))

    形成基环树,输出一个连通块的环 (R) 即可,证明:

    [sum_{iin R} i=sum_{iin R}i-a_iLongleftrightarrow sum_{iin R} a_i=0 ]

    aclink


    [Huge m Good Bye 2020 ]

  • 相关阅读:
    Celery异步框架
    彻底理解cookie,session,token
    消息队列
    pip源、搭建虚拟环境、git
    全文检索
    redis高级
    redis基础
    基本数据结构和算法(python代码实现算法)
    MySQL数据库高级
    MySQL数据库进阶
  • 原文地址:https://www.cnblogs.com/George1123/p/14213773.html
Copyright © 2011-2022 走看看