• CF449,急需提高姿势水平


    这可能是我第1场只出1题的div1?

    A 鬼畜题? 我的dev没有字符统计功能,于是只好扔到notepad++上。数错好几次。题目本身没什么特别的地方。

    B 当时一直没想出来QAQ 题目中说m>=n*c/2,可以以c/2为突破口思考。

    考虑c/2把权值等分,大于c/2的一定要比小于c/2的数大

    想到这一点就好了,考虑小于c/2从前往后放,大于c/2的从后往前放,保证头尾那两段都符合条件。

    对于前缀:每次新加一个数,能填到末尾就填,否则将它的upper_bound置成x。(由于每次至少将一个数减1,故每个数的操作次数不超过c/2)

    后缀类似,每次操作都将数至少+1。(要与末尾元素变化方向一致)

    当时没想出来,可能这方面的题目做的太少,或者是自己思维能力确实不够。

    当时的思路是“先让n个位置都有数,然后尝试着调整数列”,gg

    C 看了一眼没想法

    D 先写式子把,得到O(n^2)的做法,考虑把把一个东西拿出来,算一下系数,发现它们被约成只剩2项!然后就轻易的O(n)辣。

    后来发现这道题主要考的是“组合数%合数”,拉了以前写的板子,改了一波。

    由于这道题是多组询问,所以需要预处理一些东西,使得单次复杂度为O(log^2 n)

    由于自己傻逼,还因为预处理错WA了一发。

  • 相关阅读:
    久违了,我的博客
    眼前一亮的WI微逸输入法
    致第一次安装(yong)小小输入法的你
    输入法使用体验及引申
    小小输入法使用小记
    RIME-使用小心得
    FreeRTOS run on eclipse
    流行输入法使用小记
    FreeBSD虚拟机——小折腾
    vmware版本选择
  • 原文地址:https://www.cnblogs.com/supy/p/7965753.html
Copyright © 2020-2023  润新知