lg9035题解
考虑枚举\(a_{n-1}=l\),根据题意\(l\leq a_n\leq k+1-l\),这说明\(a_n\)有\(k+1-2l\)种取值。
令\(b_i=a_i-a_{i-1}\),则\(b_1\geq 1\),\(b_i\geq 0(i>1)\),\(b_1+...+b_{n-1}=l\)
让\(b_{2...n-1}\)都加上\(1\),得到\(b_1+(b_2+1)+...+(b_{n-1}+1)=l+n-2\),\(b_1,b_2+1....b_{n-1}+1\)都>1。使用插板法计算方案为\(C_{l+n-3}^{n-2}\)
当\(l=0\)方案数为\(k+2\),\(l>0\)方案数为\((k+1-2l)C_{l+n-3}^{n-2}\)
我们要计算\(k+2+\sum_{l=1}^{\lfloor \frac{k+1}{2}\rfloor}(k+1-2l)C_{l+n-3}^{n-2}\),时间复杂度\(O(k)\)
考虑优化计算\(\sum_{l=1}^{\lfloor \frac{k+1}{2}\rfloor}(k+1-2l)C_{l+n-3}^{n-2}\),等于计算\((k+1)\sum_{l=1}^{\lfloor \frac{k+1}{2}\rfloor}C_{l+n-3}^{n-2}\)与\(\sum_{l=1}^{\lfloor \frac{k+1}{2}\rfloor}(-2l)C_{l+n-3}^{n-2}\)的和
第一部分事实上等于要求\(\sum_{i=0}^nC_{k+i}^{k}\),这是个经典问题,累加可以得到\(C_{k+n+1}^{k+1}\)。令\(F(k,n)=\sum_{i=0}^nC_{k+i}^{k}=C_{k+n+1}^{k+1}\)
第二部分等于要求\(\sum_{i=0}^nC_{k+i}^{k}(i+1)\),等于计算\((n+2)\sum_{i=0}^nC_{k+i}^k-\sum_{i=0}^nC_{k+i}^k(n+1-i)\),等于计算\((n+2)F(k,n)-F(k,0)-...-F(k,n)=(n+2)F(k,n)-(C_{k+1}^{k+1}+C_{k+2}^{k+1}+....+C_{k+n+1}^{k+1})=(l+2)F(k,n)-F(k+1,n)\),预处理阶乘后可以\(O(1)\)计算。
lg9035题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- TensorFlow中的Session
这一次我们会讲到 Tensorflow 中的 Session, Session 是 Tensorflow 为了控制,和输出文件的执行的语句. 运行 session.run() 可以获得你要得知的运算结 ...
- python代码编译总结-用于代码加密
基于一个自废武功式的决定,服务需要做成标准件在客户服务器上运行,因此调研了python代码加密的相关内容.py的代码混淆没有被采用,而是采用cython编译成二进制文件进而掩盖源码的方式对代码加密. ...
- pycharm安装appium,通过国内的镜像源安装python包,注意每次都要添加信任选项 --trusted-host mirrors.aliyun.com
1.更改阿里源 或者清华源 1.file - - settings - - project - - project interpreter - - 右侧+ - - manage rep ...
- 一篇教会你写90%的shell脚本
原文链接 : https://zhuanlan.zhihu.com/p/264346586 shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux ...
- [人脸识别]06-JPG人脸检测
1-程序 #导入CV模块 import cv2 as cv def face_detect_fun(): gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) print(c ...
- 记录一次mybatis中parameterType中使用String和string的区别
今天修改一个问题. xml中使用的是#{xxxx jdbcType=String} 但是这个sql 查询需要用到 in 如果这样查询 会变成 in ( "1,2,3,4,5" ...
- Codeforces Global Round 17
Codeforces Global Round 17 A. Anti Light's Cell Guessing 坑点:\(n=1,m=1\) 时答案为 \(0\) . 其他情况:当 \(n=1\) ...
- 第二性 合卷本 横本.EPUB
书本详情 第二性台版 作者: 西蒙.德.波娃(Simone de Beauvoir)出版社: 貓頭鷹原作名: Le Deuxième Sexe译者: 邱瑞鑾出版年: 2013-10页数: 1136装帧 ...
- linux 中后台运行python脚本
nohup python yourscript.py &可以让你的程序在后台运行,控制台输出导向nohup.out文件 使用nobup命令 结尾处加一个& 符号
- 2.4 OpenEuler中C语言中的函数调用测试
2.4 OpenEuler中C语言中的函数调用测试 任务详情 在X86_64架构下实践2.4中的内容 通过GDB查看寄存器的内容,把教材中的图填入具体的值 把2.4的C代码在OpenEuler中重新实 ...