上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 24 下一页
摘要: 893E - Counting Arrays 思路:质因子分解。 对于每个质因子,假设它有k个,那么求把它分配到y个数上的方案数。 相当于把k个小球分配到y个盒子里的方案数。 这个问题可以用隔板法(插空法)解决,要把一段分成y段,需要y-1个隔板,那么有y-1+k个位置,选y-1个位置为隔板,剩下的 阅读全文
posted @ 2017-11-24 21:33 Wisdom+.+ 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 盗自仓鼠大神博客:http://www.cnblogs.com/linyujun/p/5194170.html 用于解决(a^b)%p类问题,当b很大时 好像运用到费马小定理,不会证明 φ(p)表示小于p与p互质的个数 如果a与p互质 当p为质数时 如果a与p不互质 【2019.3更正】 广义欧拉定 阅读全文
posted @ 2017-11-24 14:02 Wisdom+.+ 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 894B - Ralph And His Magic Field 思路: 当k为1时,如果n和m奇偶性不同,那么没有答案。 可以证明,在其他情况下有答案,且答案为2^(n-1)*(m-1),因为前n-1行和m-1列确定后,最后一列和最后一行可以确定,且确定的最后一格不矛盾。 可以采用在全为1的格子中 阅读全文
posted @ 2017-11-21 14:17 Wisdom+.+ 阅读(441) 评论(4) 推荐(0) 编辑
摘要: 888E - Maximum Subsequence 思路:折半枚举。 代码: 阅读全文
posted @ 2017-11-10 15:03 Wisdom+.+ 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 对于一个大于1正整数n可以分解质因数: 则n的正约数的个数是: 则n的正约数之和是: f(n)=(1+p1^1+p1^2+…p1^a1)(1+p2^1+p2^2+…p2^a2)…(1+pk^1+pk^2+…pk^ak) 这两个都是积性函数,可以用线性筛求。 则n的正约数之和是: f(n)=(1+p1 阅读全文
posted @ 2017-11-01 14:27 Wisdom+.+ 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 筛[l,r]之间的合数 l<=r<=1e12 r-l<=1e6 筛小于等于r的合数所需的质因子大小最多不会超过根号r(<=1e6) 模板: 例题1:POJ 2689 Prime Distance 代码: #include<iostream> #include<cstdio> #include<cst 阅读全文
posted @ 2017-11-01 14:16 Wisdom+.+ 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Atcoder Yet Another Palindrome Partitioning 思路: 一个字符串满足条件的情况是奇数字母个数小于等于1,也就是异或起来是1<<j(0<=j<=25)或者是0 记mark是异或起来的值 状态转移: dp[mark]=dp[mark]+1; dp[mark]=m 阅读全文
posted @ 2017-11-01 10:47 Wisdom+.+ 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 827C - DNA Evolution 思路: 写4*10*10个树状数组,一个维度是4(ATCG),另一个维度是长度len,另一个维度是pos%len,因为两个pos,如果len和pos%len相同,那么它们就在一个树状数组里。 代码: 阅读全文
posted @ 2017-10-31 21:35 Wisdom+.+ 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 差分数组是什么呢? 差分数组是前缀和的逆运算。 一般定义的差分数组是原数组相邻两个元素之间的差的数组,后面也有非一般的定义。 如一维原数组是a[i],则一阶差分数组是d[i] = a[i]-a[i-1],对一阶差分数组d[]求一遍前缀和就能得到原数组a[]; 一阶差分数组的一阶差分数组是二阶差分数组 阅读全文
posted @ 2017-10-29 18:13 Wisdom+.+ 阅读(886) 评论(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+.+ 阅读(424) 评论(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+.+ 阅读(254) 评论(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+.+ 阅读(290) 评论(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+.+ 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 429B - Working out 思路:从四个角递推,然后暴力每个点,有两种情况: 代码: 阅读全文
posted @ 2017-10-25 15:47 Wisdom+.+ 阅读(163) 评论(0) 推荐(0) 编辑
摘要: BZOJ 2818 Gcd 思路:枚举每个质数pi,求出∑phi[n/pi],对phi函数前缀和处理一下。 代码: 线性筛速度大约是普通筛法的5倍 阅读全文
posted @ 2017-10-22 15:29 Wisdom+.+ 阅读(188) 评论(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+.+ 阅读(526) 评论(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+.+ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 中国剩余定理(CRT)的表述如下 设正整数两两互素,则同余方程组 有整数解。并且在模下的解是唯一的,解为 其中,而为模的逆元。 模板: 例题1:ZSTUOJ 1265: Biorhythms 代码: #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2017-10-19 23:27 Wisdom+.+ 阅读(338) 评论(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+.+ 阅读(9627) 评论(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+.+ 阅读(1380) 评论(1) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 24 下一页