- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 HDU 2243 考研路茫茫——单词情结(AC自动机)
输出用%I64d会WA。。。。。矩阵套矩阵实现矩阵等比数列求和#include<cstdio>#include<queue>#include<algorithm>#include<cstring>#define maxn 50#define Maxc 26#define LL long longusing namespace std...
2018-12-31 21:19:20 235
原创 HDU 4763 Theme Section(KMP)
题意:给定一个字符串,找出能构成"EAEBE"形式的字符串的E的最长长度。首先找出开头和结尾相同的所有字符串的长度集合S,然后在中间匹配,与前后交错的也看做失配,然后再每次找S中的最大的小于等于当前匹配长度的,取最大值。AC Code:#include<bits/stdc++.h>#define maxn 1000006using namespace std;int f[...
2018-12-31 14:57:54 124
原创 Luogu P4841 城市规划
求n个点的无向连通图数量f(n)f(n)f(n)。可以发现,n个点的无向图数量g(n)g(n)g(n)和f(n)f(n)f(n)这两个函数有着如下关系:g(n)n!=∑i=1nfii!=ef\frac {g(n)}{n!} = \sum_{i=1}^n \frac {f^{i}}{i!} = e^{f} n!g(n)=i=1∑ni!fi=ef然后对ggg求lnlnln就行了。AC C...
2018-12-30 14:22:10 288
原创 光速幂
这个。。。。。。这个算法好强啊。给定P,给出T个q,对这T个询问求出Pq(modM)P^q \pmod MPq(modM) , T&lt;=5∗107,q&lt;=1010T&lt;=5*10^7,q&lt;=10^{10}T<=5∗107,q<=1010首先你得要一个freadfreadfread的读入优化。然后发现快速幂会T。别急,这里有个...
2018-12-30 12:04:10 2568
原创 多项式模板
1.NTT多项式求逆#include&amp;amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;amp;gt;#define maxn 2100005#define LL long long#define mod 998244353using namespace std;int lg[maxn],r[maxn],w[maxn]={1},wlen;int Pow(int base,int k){
2018-12-30 09:52:40 250
原创 多项式的各种算法
1.核心:FFT:正常版本:#include&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#define maxn 400005using namespace std;const double PI = acos(-1)
2018-12-28 09:50:30 1026
原创 字符串的各种算法
之前想写多项式的各种算法,然后被FFT多项式求逆打自闭了。临表涕零,不知所言。就按我学的顺序来吧。manacharmanacharmanachar可求出对于每个点iii,以iii为中心的最长回文串的右端点到i的总字符数lc[i]lc[i]lc[i](即i+lc[i]−1i+lc[i]-1i+lc[i]−1为最长回文串的右端点)。如果在字符串每两个字符间插入一个∗*∗字符,那么也可...
2018-12-26 11:00:38 552
原创 bzoj4922 [Lydsy1706月赛]Karp-de-Chant Number 贪心+dp
中文题自己看。可以想到背包,然后用:先放会使累计的左括号增加的,最后放会使累计的左括号减少的,先放的是按最大括号深度从小到大,后放的是按不计算被该块右括号消去的增加的左括号从大到小,按这个顺序排个序,就可以做消去限制的背包了。AC Code:#define maxn 305using namespace std;int n,a[maxn],b[maxn],c[maxn],ct[maxn...
2018-12-25 12:53:09 178
原创 Codeforces 1093 G. Multidimensional Queries
求动态k维曼哈顿最大距离。这个很板。线段树这个东西和FFT,FWT之类的一样,找位置反倒是最耗时间的,所以要把32维压起来一起下放上传。。。。跑的飞快AC Code:#include&lt;algorithm&gt;#include&lt;cctype&gt;#include&lt;cstring&gt;#define maxn 800005#define inf 0x3f3f3f3.
2018-12-24 21:14:10 232
原创 万径人踪灭 HYSBZ - 3160
求不连续回文子序列数量。首先FFT求回文子序列数量,再用manachar算出连续回文子串数量。完了。。。。。。#define maxn 300005#define LL long long#define mod 1000000007using namespace std;const double Pi = 3.1415926535897932384626433832795;int...
2018-12-24 11:16:38 142
原创 Aizu 2560 Point Distance FFT
一般的FFT重点是找不变量,这里发现如果AB两点,我们把他们标号为 2nx+y2nx+y2nx+y那么通过两个标号相减的值可以反推出横坐标差和纵坐标差,那么直接把所有点按标号放入多项式卷起来即可。AC Code:#include<bits/stdc++.h>#define maxn (1<<23)#define LL long longusing namespac...
2018-12-24 09:48:51 246
原创 网络流的各种加边优化
1.最显然的前缀优化。2.线段树优化【CF 793G】Oleg and Chessdalao博客3.倍增优化 CF786E ALT 最小割+倍增lca这个dalao讲的好
2018-12-23 11:20:01 554
原创 CF 739E
重复连不同价值的边帮助分类讨论实数网络流需要eps#include<bits/stdc++.h>#define maxn 2005#define inf 0x3f3f3f3fusing namespace std;const double eps = 1e-7;int n,a,b;double p[maxn],u[maxn];int info[maxn<<...
2018-12-23 10:10:57 566
原创 Binary Table(Codeforces 663E)
You are given a table consisting of n rows and m columns. Each cell of the table contains either 0 or 1. In one move, you are allowed to pick any row or any column and invert all values, that is, rep...
2018-12-22 17:43:46 262
原创 FWT(Fast Walsh-Hadamard Transform)
去年听GZMdalao讲FWT,第一句就是:构造这玩意的人是神(经病)_{(经病)}(经病)吧。其实还好。。。。。。FFT向我们提供了一个思路来解决卷积问题,那就是对于多项式(数组)构造一个(可逆)变换FFT(A),使得:FFT(A)[i]∗FFT(B)[i]=FFT(A∘B)[i]FFT(A)[i] * FFT(B)[i] = FFT(A \circ B)[i]FFT(A)[i]∗F...
2018-12-20 22:37:46 1781
原创 Codeforce 623 E. Transforming Sequence(FFT + 快速幂)
这个dp比较显然吧.拆系数FFT的精度堪忧啊…是时候改一下FFT的版了1.所有的单位根都用欧拉公式求.2.取整用round和llround,都是cmath中的.3.拆系数可以增大精度.多项式快速幂:因为要mod如果是NTT模数那最好,如果不是,那就拆系数FFT吧,反正也没有人想打CRTNTT注意清零…和modAC Code:#include<cstdio>#in...
2018-12-19 17:37:08 196
原创 ZOJ The Sum of Unitary Totient
ZOJ 3808%%%唐老师杜教筛博客课后练习题不过网上好像没题解啊,好像唐老师也是分段打表的…但是可以Min_25筛显然这个ϕ∗\phi^*ϕ∗是积性函数,ϕ∗(p)=p−1\phi^*(p) = p-1ϕ∗(p)=p−1ϕ∗(pk)=pk−1\phi^*(p^k) = p^k-1ϕ∗(pk)=pk−1然后好像就完了,稳稳的Min_25筛套路,不要用什么map记忆化,Min_25筛...
2018-12-19 15:17:15 281
原创 快速傅里叶变换
一类用于以O(nlogn)O(n\log n)O(nlogn)的时间复杂度将多项式的系数表示法变为点值表示法或反之的方法。系数表示法:f(x)=∑i=0naixif(x) = \sum_{i=0}^na_ix^if(x)=∑i=0naixi点值表示法:多项式函数f(x)f(x)f(x)过nnn个不同的点(xi,yi)(x_i,y_i)(xi,yi),可以证明次数最小的f(x)f(x)...
2018-12-12 17:40:39 374 1
原创 狄利克雷卷积与杜教筛
狄利克雷卷积。就和多项式的卷积一样。多项式是g(x)×h(x)=∑a+b=x&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;and&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;a,b∈Ng(a)∗h(b)g(x) \times h(x)= \sum_{a+b = x\ and \ a,b\in \N} g(a) * h(b)g(x
2018-12-08 18:18:47 403
原创 COCI 2018/2019 Round1 Teoretičar
Little Alan was bored so he asked Goran to give him an interesting problem. Since he’s busy withpreparing for exams, Goran could only recall one huge bipartite graph from his old days as aprogrammi...
2018-12-02 22:20:40 564
原创 COCI 2018/2019 Strah(极大子矩形思想)
Everyone is afraid of something. Someone is afraid of darkness, someone is afraid of heights,someone is afraid of Vinnie Jones (all of us are afraid of Vinnie Jones), someone is afraid of singingbe...
2018-12-02 22:00:18 1039
原创 热爱数学,从学习LaTex开始
我只是来学习打数学符号的。0.markdown中使用LaTeX需要在$$中打数学符号1.如何插入公式的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。行中公式可以用如下方法表示:$ 数学公式 $独立公式可以用如下方法表示:$$ 数学公式 $$数学公式 数学公式 数学公式1.上下标^代表上标,_代表下标如果上标或下标内容多于一个字符,则使...
2018-12-01 12:17:44 886
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人