10 2017 档案

摘要:827C - DNA Evolution 思路: 写4*10*10个树状数组,一个维度是4(ATCG),另一个维度是长度len,另一个维度是pos%len,因为两个pos,如果len和pos%len相同,那么它们就在一个树状数组里。 代码: 阅读全文
posted @ 2017-10-31 21:35 Wisdom+.+ 阅读(370) 评论(0) 推荐(0)
摘要:差分数组是什么呢? 差分数组是前缀和的逆运算。 一般定义的差分数组是原数组相邻两个元素之间的差的数组,后面也有非一般的定义。 如一维原数组是a[i],则一阶差分数组是d[i] = a[i]-a[i-1],对一阶差分数组d[]求一遍前缀和就能得到原数组a[]; 一阶差分数组的一阶差分数组是二阶差分数组 阅读全文
posted @ 2017-10-29 18:13 Wisdom+.+ 阅读(950) 评论(0) 推荐(0)
摘要:区间和模板: const int N=1e5+5; int c[N]; int n; int lowbit(int x) { return x&(-x); } int sum(int x) { int ret=0; while(x) { ret+=c[x]; x-=lowbit(x); } retu 阅读全文
posted @ 2017-10-29 13:54 Wisdom+.+ 阅读(439) 评论(0) 推荐(0)
摘要:877E - Danil and a Part-time Job 思路:dfs序+线段树 dfs序:http://blog.csdn.net/qq_24489717/article/details/50569644 代码: 阅读全文
posted @ 2017-10-27 21:49 Wisdom+.+ 阅读(265) 评论(0) 推荐(0)
摘要:HDU 4054 Number String 思路: 状态:dp[i][j]表示以j结尾i的排列 状态转移: 如果s[i - 1]是' I ',那么dp[i][j] = dp[i-1][j-1] + dp[i-1][j-2] + .. + dp[i-1][1] 如果s[i - 1]是‘D’,那么dp 阅读全文
posted @ 2017-10-26 17:18 Wisdom+.+ 阅读(299) 评论(0) 推荐(0)
摘要:HDU 4489 The King's Ups and Downs 思路: 状态:dp[i]表示i个数的方案数。 转移方程:dp[n]=∑dp[j-1]/2*dp[n-j]/2*C(n-1,j-1)。 代码: 阅读全文
posted @ 2017-10-25 20:01 Wisdom+.+ 阅读(234) 评论(0) 推荐(0)
摘要:429B - Working out 思路:从四个角递推,然后暴力每个点,有两种情况: 代码: 阅读全文
posted @ 2017-10-25 15:47 Wisdom+.+ 阅读(178) 评论(0) 推荐(0)
摘要:BZOJ 2818 Gcd 思路:枚举每个质数pi,求出∑phi[n/pi],对phi函数前缀和处理一下。 代码: 线性筛速度大约是普通筛法的5倍 阅读全文
posted @ 2017-10-22 15:29 Wisdom+.+ 阅读(201) 评论(0) 推荐(0)
摘要:这个B站上的视频讲的不错:http://www.bilibili.com/video/av14325327/ 线性筛求莫比乌斯反演函数代码: 例题1:HDU 1695 GCD 代码: #include<bits/stdc++.h> using namespace std; #define ll lo 阅读全文
posted @ 2017-10-20 19:08 Wisdom+.+ 阅读(545) 评论(0) 推荐(0)
摘要:复习一下扩展欧几里得。 写的不错的博客:http://www.cnblogs.com/zyf0163/p/4792953.html 用于解决ax+by=gcd(a, b)类问题的算法(求乘法逆元是一种特殊情况:ax≡1%m得ax-my=1)。 可以用扩展欧几里得算法求出一组解x1,y1。 通解为: 阅读全文
posted @ 2017-10-20 14:29 Wisdom+.+ 阅读(198) 评论(0) 推荐(0)
摘要:中国剩余定理(CRT)的表述如下 设正整数两两互素,则同余方程组 有整数解。并且在模下的解是唯一的,解为 其中,而为模的逆元。 模板: 例题1:ZSTUOJ 1265: Biorhythms 代码: #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2017-10-19 23:27 Wisdom+.+ 阅读(400) 评论(0) 推荐(0)
摘要:一图胜千言。 自适应辛普森模板: namespace SimpsonIntegral { inline double simpson(double l, double r, function<double(double)> f) { return (f(l)+4.0*f((l+r)/2.0)+f(r 阅读全文
posted @ 2017-10-19 20:25 Wisdom+.+ 阅读(9816) 评论(0) 推荐(0)
摘要:只分析(1)和(2): (1)的证明见:http://blog.csdn.net/wzq_QwQ/article/details/48009549; (2)可用隔板法(插空法)证明:m个元素加上n-1个隔板后总共有n+m-1个元素,然后从中选取n-1个隔板,方案数是C(n+m-1,n-1); 未完待 阅读全文
posted @ 2017-10-19 16:06 Wisdom+.+ 阅读(1415) 评论(1) 推荐(0)
摘要:Lucas定理是用来(当n和m和p很大时)求 C(n,m) mod p,p为素数的值。 表达式:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p。(可以递归) 递归方程:(C(n%p, m%p)*Lucas(n/p, m/p))%p。(递归出口为m==0,return 1) 模板: 阅读全文
posted @ 2017-10-19 15:55 Wisdom+.+ 阅读(357) 评论(0) 推荐(0)
摘要:101487E - Enter The Dragon 思路:做的时候两个地方理解错了,第一个事我以为龙吸了水,水就干了,其实龙是在下雨之前吸的,下雨时湖水又满了,所以湖水永远不会干;第二个是以为只要找前面一段没下雨的天吸水就可以了,其实是上一次满了之后没下雨的天吸水都可以。 代码: 阅读全文
posted @ 2017-10-14 19:47 Wisdom+.+ 阅读(257) 评论(0) 推荐(0)
摘要:强连通分量的应用,详见《挑战程序设计》P324 模板(2019.7): namespace two_sat { int dfn[M*2], low[M*2], cnt, stk[M*2], top, cmp[M*2], tot, n; bool vis[M*2]; vector<int> g[M*2 阅读全文
posted @ 2017-10-13 14:41 Wisdom+.+ 阅读(311) 评论(2) 推荐(0)
摘要:链式前向星 这个博客写的不错:http://blog.csdn.net/acdreamers/article/details/16902023 模板: ①add_edge ②遍历以u节点为起点的所有边 阅读全文
posted @ 2017-10-08 14:34 Wisdom+.+ 阅读(145) 评论(0) 推荐(0)
摘要:Kosaraju算法 详见《挑战程序设计竞赛》p320 模板: Tarjan算法模板: 例题1:POJ 2186 Popular Cows 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #i 阅读全文
posted @ 2017-10-08 14:01 Wisdom+.+ 阅读(858) 评论(1) 推荐(0)
摘要:Uva 11995 I Can Guess the Data Structure! 思路:队列,栈和优先队列的模拟。用STL更方便。 代码: 阅读全文
posted @ 2017-10-04 19:12 Wisdom+.+ 阅读(184) 评论(0) 推荐(0)
摘要:由于伪素数的存在,费马素数测试有了极大的缺陷,于是有了米勒-拉宾素性测试。 写的不错的博客: http://blog.csdn.net/u013948191/article/details/47270979 http://www.cnblogs.com/kuangbin/archive/2012/0 阅读全文
posted @ 2017-10-02 21:33 Wisdom+.+ 阅读(1018) 评论(0) 推荐(0)
摘要:HDU 5183 Negative and Positive (NP) 思路:维护一下前缀和,从后往前向set里面插入前缀和,然后查找sum[i-1]+(-1)i+1*k在不在set里面。 代码(快读+set): 1466ms险过,用hash表应该快一点。 阅读全文
posted @ 2017-10-02 20:30 Wisdom+.+ 阅读(179) 评论(0) 推荐(0)
摘要:带多组的读入优化 阅读全文
posted @ 2017-10-02 19:53 Wisdom+.+ 阅读(709) 评论(0) 推荐(0)
摘要:POJ 3258 River Hopscotch 思路:二分最小距离。 代码: 阅读全文
posted @ 2017-10-02 14:29 Wisdom+.+ 阅读(180) 评论(0) 推荐(0)