生成函数

【生成函数/打表】LOJ#6142

岁酱吖の 提交于 2019-12-04 08:19:25
先STO 巨强无比至高无上的王 \(\color{blcak}{L}\color{red}{ZY}\) 首先 \(n\) 为奇数方案数显然为 \(\frac{\binom{2n}{n}}{2}\) 网上题解 \(n\) 是偶数的情况全是打表啊,于是我们的巨强无比至高无上的王 \(\color{blcak}{L}\color{red}{ZY}\) 就推了一波: 要求的是这个 \(\sum\limits_{2|i,i\leq n} \binom{n}{i}\binom{n}{n-i}\) 然后你有 \(f(x)=\sum\limits_{i=0}^n \binom{n}{i}x^i=(1+x)^n\) 常规操作提偶数次幂:记 \(G(x)=\frac{f(x)+f(-x)}{2}\) 然后你发现 \(G(x)^2\) 的 \(x^n\) 的系数就是答案,即要求 \(\frac{(1+x)^{2n}+(1-x)^{2n}+2*(1-x^2)^n}{4}\) 的 \(x^n\) 的系数 于是答案就是 \(\frac{\binom{2n}{n}+(-1)^{\frac{n}{2}}*\binom{\frac{n}{2}}{2}}{2}\) 来源: https://www.cnblogs.com/PsychicBoom/p/11848038.html

gcc详解以及静态,动态库的生成 2

拟墨画扇 提交于 2019-12-03 22:28:40
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两 种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态 库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运 行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以 及使用它们。 在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。 第1步 :编辑得到举例的程序--hello.h、hello.c和main.c; hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出" Hello XXX!"。hello.h(见程序1)为该函数库的头文件。main.c(见程序3)为测试库文件的 主程序,在主程序中调用了公用函数hello。 程序1: hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_H 程序2: hello.c #include <stdio.h> void hello(const char *name) { printf("Hello %s!\n", name); } 程序3: main.c #include "hello.h" int

转:花了三个月终于把所有的Python库全部整理了!

三世轮回 提交于 2019-12-03 21:04:30
链接:https://www.jianshu.com/p/2642f9d28f34 库名称简介 Chardet字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable主要用于在终端或浏览器端构建格式化的输出。 difflib,[Python]标准库,计算文本差异 Levenshtein,快速计算字符串相似度。 fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式的加速器。 shortuuid,一组简洁URL/UUID函数库。 ftfy,Unicode文本工具7 unidecode,ascii和Unicode文本转换函数。 xpinyin,将汉字转换为拼音的函数库 pangu.py,调整对中日韩文字当中的字母、数字间距。 pyfiglet,Python写的figlet程序,使用字符组成ASCII艺术图片 uniout,提取字符串中可读写的字符 awesome slugify,一个Python slugify库,用于处理Unicode。 python-slugify,转换Unicode为ASCII内码的slugify函数库。 unicode-slugify,生成unicode内码,Django的依赖包。 ply,Python版的lex和yacc的解析工具 phonenumbers

点读系列《jmeter官方用户手册》

北城以北 提交于 2019-12-03 12:01:15
官网: http://jmeter.apache.org/usermanual/ 说明:十八元件、十九属性、二十函数,涉及清单内容暂未仔细阅读,个人觉得一是仅供使用参考,二是适合单独写文章来解读 一、让我们开始吧 千万不要在GUI模式下来做负载测试,要用CLI模式 jmeter不带jdbc驱动程序,如果使用jdbc,就需要去网上下载,然后添加到classpath jmeter是100%的java应用程序 在jmeter的classpath中添加加密包,更新system.properties来注册ssl支持 jmeter http默认协议级别为TLS,可以编辑修改:jmeter.properties或user.properties的https.default.protocol jmeter安装目录(XY是版本号) apache-jmeter-X.Y # 可以修改根目录,不能修改子目录 apache-jmeter-X.Y/bin apache-jmeter-X.Y/docs apache-jmeter-X.Y/extras apache-jmeter-X.Y/lib/ apache-jmeter-X.Y/lib/ext apache-jmeter-X.Y/lib/junit apache-jmeter-X.Y/licenses apache-jmeter-X.Y/printable

C博客作业03--函数

╄→尐↘猪︶ㄣ 提交于 2019-12-03 10:02:54
第三次C博客作业 Q0.展示PTA总分 Q1.本章学习总结 1.1 学习内容总结 函数的组成与使用 定义好了一个函数还需要函数声明才能使用它(函数定义写在主函数后面时) 下面举例的函数中,int a、int b为形参,5、3为实参,a被赋予了5的值,b被赋予了3的值 函数计算完毕后的result的值返回给了main()函数中的c 函数执行到c=fun(5,3)这一句时,会暂停main()函数,转入进行fun()函数 int fun(int a, int b); //函数声明,这里有分号 int main() { int c; c = fun(5, 3); //走到这里调用定义的fun()函数 printf("%d", c); return 0; } int fun(int a, int b) //函数首部,注意这里没有分号!需要有函数类型和函数名,并不一定需要形参 { int result = 1; //函数体 for (int i = 1; i <= b; i++) result = result * a; return result; //相当于fun(a,b)=result,在main()函数中即为c=result=fun(a,b) } 关于函数调用的注意事项 1.形参与实参一一对应, 两者数量相同 ,类型尽量保持一致,程序运行到函数调用时,实参的值会 依次传给形参 2

Python数据类型详解02

痞子三分冷 提交于 2019-12-03 09:10:42
原文博客地址: Python数据类型详解02 上文 Python数据类型详解01 中主要介绍了 Python 中的一些常用的数据类型 这篇文章主要介绍一些 Python 中的一些常用的模块 一. Number(数字) Python 中数学运算常用的函数基本都在 math 模块、 cmath 模块中。 math 模块提供了许多对浮点数的数学运算函数。 cmath 模块包含了一些用于复数运算的函数。 cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数, math 模块运算的是数学运算。 要使用 math 或 cmath 函数必须先导入: import math # 或者 import cmath 1. Python数学常量 在 math 模块中定义了三个数学常量 # 自然常数 e e = 2.718281828459045 # 圆周率,一般以π来表示 pi = 3.141592653589793 # 2π tau = 6.283185307179586 2. Python三角函数 要直接访问的,需要导入 math 模块, 然后通过 math 静态对象调用方法 函数 描述 acos(x) 返回x的反余弦弧度值。 asin(x) 返回x的反正弦弧度值。 atan(x) 返回x的反正切弧度值。 atan2(y, x) 返回给定的 X 及 Y

关于windows dll的生成

丶灬走出姿态 提交于 2019-12-03 05:30:55
关于windows dll的生成 今天上午看到VC板上有人提到dll调用约定的问题,发现自己一直以来只是网上说的文章去做的,具体的实验还真的没有做过。中午闲来无聊,写了几个小例子,测试一下windows dll的生成规律。 windows下面的dll生成取决于以下几条因素 1. 根据DEF文件生成还是__declspec(dllexport)关键字指定 2. C编译还是C++编译 3. 调用约定是_ cdecl 还是_stdcall 测试环境 vc6.0绿色版 新建工程 testdll(win32 dynamic lib)用来生成dll 新建工程 testmydll(win32 console app),显示调用dll 生成dll文件testdll.cpp 测试dll文件testmydll.cpp 采用depends观察dll的输出函数名 1 使用_declspec(dllexport)关键字,C编译,_ cdecl 导出函数名 fnTestdll _ cdecl 调用 成功 , __stdcall调用 失败 2 使用_declspec(dllexport)关键字,C编译,_stdcall 导出函数名 _fnTestdll@4 _ cdecl 调用 失败 , __stdcall调用 失败 3 使用_declspec(dllexport)关键字,C++编译,_ cdecl 导出函数名

Numpy常用函数用法大全

会有一股神秘感。 提交于 2019-12-03 04:13:29
.ndim :维度 .shape :各维度的尺度 (2,5) .size :元素的个数 10 .dtype :元素的类型 dtype(‘int32’) .itemsize :每个元素的大小,以字节为单位 ,每个元素占4个字节 ndarray数组的创建 np.arange(n) ; 元素从0到n-1的ndarray类型 np.ones(shape): 生成全1 np.zeros((shape), ddtype = np.int32) : 生成int32型的全0 np.full(shape, val): 生成全为val np.eye(n) : 生成单位矩阵 np.ones_like(a) : 按数组a的形状生成全1的数组 np.zeros_like(a): 同理 np.full_like (a, val) : 同理 np.linspace(1,10,4): 根据起止数据等间距地生成数组 np.linspace(1,10,4, endpoint = False):endpoint 表示10是否作为生成的元素 np.concatenate(): -数组的维度变换 .reshape(shape) : 不改变当前数组,依shape生成 .resize(shape) : 改变当前数组,依shape生成 .swapaxes(ax1, ax2) : 将两个维度调换 .flatten() :

Python中的迭代器与生成器

时光怂恿深爱的人放手 提交于 2019-12-03 03:30:42
Python中的迭代器与生成器介绍 一、迭代器iterator 迭代器是访问可迭代对象的工具。 迭代器是指用iter(obj)函数返回的对象 迭代器是可以用next(it)函数获取可迭代对象的数据 1、迭代器函数 iter()与next() iter(iterable)从可迭代对象中返回一个迭代器,iterable必须是 能提供一个迭代器的对象 next(iterable) 从迭代器iterator中获取下一个记录,如果无法获 取下一条记录,则触发StopIterator异常 说明: ①迭代器只能往前取值,不会后退 ②用iter函数可以返回一个可迭代对象的迭代器 示例: >>> L = [1,3,5,7] >>> it = iter(L) #让L提供一个能访问自己的迭代器 >>> next(it) 1 >>> next(it) 3 2、迭代器的用途: 可以依次访问可迭代对象的数据(可代替循环遍历) 示例:>>> L = [1,23,45,6] >>> it = iter(L) >>> while True: try: x = next(it) print(x) except StopIteration: break 二、迭代工具函数: 作用是生成一个个性化的可迭代对象 函数: zip(iter1 [,iter2[....]]) 返回一个zip对象,此对象用于生成元组

Python迭代器,生成器和协程

一曲冷凌霜 提交于 2019-12-03 03:24:19
Python迭代器,生成器和协程 基础概念 在学习Python协程之前首先需要了解Python生成器的概念,而生成器又是一种特殊的迭代器,所以从迭代器开始学习。 Python迭代器(Iterator) 首先了解可迭代对象(interable), 具体来说就是遵循了可迭代协议的对象,比如查看Python list内置类的源码可以发现它实现了 iter ()函数,所以list是一个可迭代对象,当然还有dict, str, set等等。 可迭代协议:含 iter ()方法。且可迭代对象中的 iter ()方法返回的是一个对应的迭代器。(如list对应的迭代器就是list_iterator) 而迭代器与可迭代对象不同的是,迭代器对象不仅需要实现 iter ()方法,它还需要实现 next ()方法,即迭代器协议,事实上任何实现了 iter ()和 next ()方法的类对象都可以是迭代器对象。 迭代器协议: - 含 iter ()方法。且方法返回的Iterator对象本身 - 含 next ()方法,每当 next ()方法被调用,返回下一个值,直到没有值可以访问,这个时候会抛出stopinteration的异常。 此外迭代器含有两个基本的方法iter()和next(), iter()方法的作用是返回一个迭代器对象,当我们使用迭代器的next()方法显式获取元素的时候