CF1938M

计数以下序列 \(\lang a\rang\) 的个数:

\[\sum_{i=1}^m a_i=n\\ \forall 1<i<m,(a_i-a_{i-1})(a_i-a_{i+1})>0
\]

给出 \(n(n\le 3\times 10^5)\)。

这里的形式大约是 $a_1<a_2{\color{red} >}a_3<a_4{\color{red} >}a_5<a_6\dots $,我们把红色部分拿来容斥。这里把 \(\color{red}>\) 换成 \(\le\) 或者无限制,一个 \(\le\) 就是容斥系数 \(-1\)。

怎么对这样的东西展开计数?我依据“无限制”分开新的序列,把 \(a_1<a_2\le a_3<a_4 ?a_5<a_6\le a_7\dots\) 这里的 \(a_{1:4}\) 和后面的分开。我只需要对一个 \(a_1<a_2\le a_3<a_4\) 型序列计算生成函数后做 SEQ 即可。

这样的序列计算是不难的:只需计算乘积:

\[(1+x-x^2+x^3-x^4+\dots )\times (1+x^2-x^4+x^6-x^8+\dots)\times \dots
\]

化出来就是

\[\frac{\prod (2+x^i)}{\prod(1+x^i)}
\]

这是 q-二项式定理及其 \(O(n\sqrt n)\) DP 可以解决的问题。

闲话 6.19/CF1938M的更多相关文章

  1. Mediaplayer error (-19,0)

    Android MediaPlayer 发生 error (-19,0) 错误解决方法. 引起原因:由于多次实例化MediaPlayer.start() 进行播放操作引起的.由于没有及时释放内存资源导 ...

  2. 录像时调用MediaRecorder的start()时发生start failed: -19错误

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  3. CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#)

    CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#) 效果图 本文解决了将OpenGL渲染出来的内容保存到PNG图片的方法. 下载 CSharpGL已在GitHub开 ...

  4. ABP(现代ASP.NET样板开发框架)系列之19、ABP应用层——审计日志

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层——审计日志 ABP是“ASP.NET Boilerplate Project (ASP.NET ...

  5. js正则表达式校验非负浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. js正则表达式校验非负整数:^\d+$ 或 ^[1-9]\d*|0$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. js正则表达式校验非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

    我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特 ...

  9. 19-typedef

    本文目录 一.typedef作用简介 二.typedef与指针 三.typedef与结构体 三.typedef与指向结构体的指针 四.typedef与枚举类型 五.typedef与指向函数的指针 六. ...

  10. 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)

    1.下载jenkins 地址:https://jenkins.io/index.html 本人下载了2.19.3版本的war包:jenkins.war 2.安装jenkins 拷贝jenkins.wa ...

随机推荐

  1. Codeforces Round 878 (Div3)

    B. Binary Cafe \(1 \leq n,k \leq 10^9\) 题解:思维 考虑两种情况 第一种:钱足够多,每种咖啡都可以买的情况下,答案为\(2^k\) 第二种:钱不够多,因为任一面 ...

  2. Educational Codeforces Round 90 (Rated for Div2)

    Donut Shops 现在有两个超市,第一个超市的物品按件卖,每件商品的售价为\(a\)元:第二个超市的物品按箱卖,每箱有\(b\)件物品,每箱售价为\(c\)元,现在要让你买\(x\)和\(y\) ...

  3. AtCoder Beginner Contest 378

    Contest Link 还得加练. A & B & C & D 不具备任何思维含量. Submission A Submission B Submission C Submi ...

  4. uni-app小程序(快手)日志打印坑位记录

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app. 坑位 最近在开发一 ...

  5. .NET开发规范v1.0

    一. 编程规范 (一) 命名风格 命名要找更有表现力的词,更专业的词,比如获取数据不用get而使用fetch 别害怕长名称,长而具有描述性的名称比短而令人费解的名称好 为作用域大的名字采用更长的名字, ...

  6. 【Amadeus原创】查看正在运行的docker run参数

    如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具. 现在我如何进行重启,如何找回此前的启动命令? [root@mysql3 ~] ...

  7. Bugku-CTF getshell

    题目: <?php define('pfkzYUelxEGmVcdDNLTjXCSIgMBKOuHAFyRtaboqwJiQWvsZrPhn', __FILE__); $cPIHjUYxDZVB ...

  8. 在linu系统安装apache全过程(httpd、apr、apr-util、pcre)以及进行相应配置

    1.下载安装包,需要下面3个安装包[root@bes2 apache]# ll总用量 8520-rw-r--r--. 1 root root 1020833 9月 18 17:47 apr-1.5.1 ...

  9. Qt音视频开发45-音视频类结构体参数的设计

    一.前言 视频监控内核组件重构和完善花了一年多时间,整个组件个人认为设计的最好的部分就是各种结构体参数的设计,而且分门别类,有枚举值,也有窗体相关的结构体参数,解码相关的结构体参数,同时将部分常用的结 ...

  10. Qt Creator 5.0 发布

    我们很高兴地宣布 Qt Creator 5.0 的发布! 正如4.15 发布博文中所宣布的,我们将切换到语义版本控制方案,因此这是 Qt Creator 很长一段时间以来的第一次主要版本更新!不过不要 ...