zoukankan      html  css  js  c++  java
  • 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了一发。

  • 相关阅读:
    unomi漏洞复现
    xxl-job漏洞复现
    cgi漏洞复现
    celery漏洞复现
    bash漏洞复现
    学习ASP.NET的一些学习资源
    用EF DataBase First做一个简单的MVC3报名页面
    怎样在Word中插入代码并保持代码原始样式不变
    安装notepad++之后怎样在鼠标右键上加上Edit with notepad++
    安装Visual Studio 2010之后怎样安装MSDN Library
  • 原文地址:https://www.cnblogs.com/supy/p/7965753.html
Copyright © 2011-2022 走看看