传送门 生成函数好题. 题意简述:一个袋子里有ccc种不同颜色的球,现要操作nnn次,每次等概率地从袋中拿出一个球放在桌上,如果桌上有两个相同的球就立刻消去,问最后桌上剩下mmm个球的概率. 第一眼反应是概率dpdpdp,怼了一波式子之后发现要TTT果断弃掉. 我们考虑推答案的式子吧. 由题可知,ccc种球有mmm个出现奇数次,c−mc-mc−m个出现偶数次. 于是我们对每一种颜色构造生成函数(指数型) 算出来f(x)=Ccm(ex−e−x2)m(ex+e−x2)c−mncf(x)=\frac{…
传送门 生成函数基础题. 题意:给出nnn个数以及它们的数量,求从所有数中选出i∣i∈[L,R]i|i\in[L,R]i∣i∈[L,R]个数来可能组成的集合的数量. 直接构造生成函数然后乘起来f(x)=∏i=1n(1+x+x2+...+xtimei)f(x)=\prod_{i=1}^n(1+x+x^2+...+x^{time_i})f(x)=∏i=1n​(1+x+x2+...+xtimei​)然后求出系数即可. 由于模数是1e61e61e6无法nttnttntt,考虑到数据很小可以直接用dpdp…
传送门 生成函数基础题. 题意简述:求由1,3,5,7,9这5个数字组成的n位数个数,要求其中3和7出现的次数都要是偶数. 考虑对于每个数字构造生成函数. 对于1,5,9:∑nxnn!=ex\sum_n\frac{x^n}{n!}=e^x∑n​n!xn​=ex 对于3,7:∑nx2n(2n)!=ex+e−x2\sum_n\frac{x^{2n}}{(2n)!}=\frac{e^x+e^{-x}}2∑n​(2n)!x2n​=2ex+e−x​ 然后乘起来展开:f(x)=e5x+2e3x+ex4f(x…
传送门 fftfftfft经典题. 题意简述:给定nnn个长度分别为aia_iai​的木棒,问随机选择3个木棒能够拼成三角形的概率. 思路:考虑对于木棒构造出生成函数然后可以fftfftfft出两个木棒能够生成的边长和的生成函数 注意去重 我们还可以在读入的时候顺便统计出cnticnt_icnti​表示长度≤i\le i≤i的木棒有多少根. 然后可以算出选出3个木棒不能拼成三角形的方案数,简单容斥一下再算出总选法数即可. 代码: #include<bits/stdc++.h> #define…
传送门 矩阵树定理模板题. 题意简述:自己看题面吧太简单懒得写了 直接构建出这4n4n4n个点然后按照题面连边之后跑矩阵树即可. 代码: #include<bits/stdc++.h> #define ri register int #define idx(x) ((x)%n) using namespace std; const int N=505,mod=2007; int n,a[N][N]; inline void add(int u,int v){++a[u][u],++a[v][v…
传送门 题意不好描述(自己看样例解释) 首先可以推出一个递推式:fn=fn−1+2fn−2+1f_n=f_{n-1}+2f_{n-2}+1fn​=fn−1​+2fn−2​+1 然后可以构造两个等式: (fn+fn−1+1)=2(fn−1+fn−2+1)(f_n+f_{n-1}+1)=2(f_{n-1}+f_{n-2}+1)(fn​+fn−1​+1)=2(fn−1​+fn−2​+1) (fn−2fn−1−12)=−(fn−1−fn−12)(f_n-2f_{n-1}-\frac12)=-(f_{n-…
传送门 解析 代码: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; #define add(a,b) ((a)+(b)>=mod?(a)+(b)-mod:(a)+(b)) #define dec(a,b) ((a)>=(b)?(a)-(b):(a)-(b)+mod) #define mul(a,b) ((ll)(a)*(b)%mod) inline…
tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱.random.shuffle() 在训练数据上推断模型:得到输出 计算损失:loss(X, Y)多种损失函数 调整模型参数:最小化损失 SGD等优化方法. 评估:70%:30% 分训练集和校验集 代码框架: 首先模型参数初始化, 然后为每个训练闭环中的运算定义一个方法:读取训练数据input,计算…
tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2是S1的子集. 张量形状: 固定长度: [],() 0阶次:[3],(2,3) 1/2阶次 不定长度:[None] 表示任意长度的向量,(None,3) 表示行数任意,3列的矩阵 获取Op:tf.shape(tensor, name="tensor_shape&qu…
时间:2019.01.09地点:北京国际饭店…