紫薯上刘汝佳写的啥玩意啊,看不懂看不懂google之发现这么一个公式:C(n,k)=C(n,k?1)?(n?k+1)/k有了这个公式,那么我们就可以对其进行递推了C(p,q)=(p-q+1)/q*C(p,q-1)即:for (i=1;i#include#include#include#include...
分类:
其他好文 时间:
2015-05-27 00:42:07
阅读次数:
182
一、线段树(点修改)Update(x,v): 把Ax修改为vQuery(L,R): 计算区间[qL,qR] 最小值。代码:[cpp]view plaincopy//DynamicRMQ//RujiaLiu//输入格式://nm数组范围是a[1]~a[n],初始化为0。操作有m个//1pv表示设a[p...
分类:
其他好文 时间:
2015-05-09 13:11:07
阅读次数:
165
这是从刘汝佳的算法竞赛入门经典中看到的题,书中是这么描述的
给出正整数n和m,输出在[m, n]中的无平方因子数。PS(无平方因子数的概念请自行百度)
#include
#include
#include
bool visited[10000005];
int prime[500000];
int main(){
int n, m;
scanf("%d", &n, &m);
int i,...
分类:
其他好文 时间:
2015-05-04 20:16:39
阅读次数:
98
看了刘汝佳大牛的黑书果然很有体会,虽然很难,但是真的题题经典,一定要坚持坐下去,下面我们来说说贪心法贪心算法即是每次选择局部最优策略进行实施,而不去考虑对今后的影响。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态...
分类:
编程语言 时间:
2015-05-03 15:49:55
阅读次数:
236
网络流
网络流问题的详细介绍可以看刘汝佳>和>相关部分。注意:下面的网络流模板里面考虑的都是有向图,如果要处理无向图,那么对于无向图的每条边,你需要再图上添加两个方向的边各一条且流量费用相同。
熟练模板并不是问题,问题是如何把实际的问题转化为网络流的问题来解决。
直接给出最大流的模板:
//最大流模板,可处理重边
//且节点编号从1到n,边编号从0到m...
分类:
其他好文 时间:
2015-04-13 23:00:46
阅读次数:
210
最近看了刘汝佳写的算法入门经典 感觉自己的基础实在太烂了 所以总结了一些我们比较容易犯的错误给大家看看(大牛就不要看了O(∩_∩)O)1.浮点数:两个整数计算的是浮点数的时候一定要把整数先化为浮点数 5-0.1计算机先把5变5.0之后再进行计算的2.异或运算:这个是个很神秘的东西如果要在一个数组中找...
分类:
编程语言 时间:
2015-04-06 20:14:05
阅读次数:
146
问题来源:刘汝佳《算法竞赛入门经典--训练指南》 P81:问题描述:你的任务是在n*n(1a[i].r) return false;35 ans[i].l = j; //用ans[i].l保存答案36 ans[i].id = a[i].id;37 ma...
分类:
其他好文 时间:
2015-04-05 13:15:03
阅读次数:
153
最小生成树
一个有 n 个结点的连通图的最小生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的权值总和最小的边。
刘汝佳>P343详细介绍了最小生成树相关的知识。
下面直接给出Kruskal算法的模板:
#include
#include
#include
#include
#include
using namespace std...
分类:
其他好文 时间:
2015-04-05 06:44:04
阅读次数:
140
当初学KMP的时候也做过这道题,现在看来还是刘汝佳的代码要精简一些,毕竟代码越短越好记,越不容易出错。而且KMP的递推失配函数的代码风格和后面的Aho-Corasick自动机求失配函数的代码风格也是一致的。 1 #include 2 3 const int maxn = 1000000 + 10.....
分类:
其他好文 时间:
2015-04-03 18:43:49
阅读次数:
106
问题来源:刘汝佳《算法竞赛入门经典--训练指南》 P67 例题28:问题描述:有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取,每次可以从左端或者右端取一个或多个数,但不能两端都取,所有数都被取完时游戏结束,然后统计每个人取走的所有数字之和作为得分,两人的策略都是使自己的得分尽可能高,并且...
分类:
其他好文 时间:
2015-04-02 20:31:16
阅读次数:
229