摘要: 这个题用矩阵相乘法:f[n-2] 0 1 ----> f[n-1]f[n-1] 1 1 f[n];我们只要对矩阵进行相乘就可以了;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<cstring>#include<vector>#include<string> 阅读全文
posted @ 2012-07-24 22:31 wutaoKeen 阅读(127) 评论(0) 推荐(0)
摘要: 这个题一道区间覆盖题:这里要用到线性规划:max(x , xi),max(y,yi)寻找顶点坐标;min(c , ci) 寻找最下的区域;因此:r = c - x - y;View Code View Code #include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#define LL long longusing namespace std;LL sum;int X[15],Y[15],R[15],C[15],n;void Solve( int x , int y 阅读全文
posted @ 2012-07-24 21:08 wutaoKeen 阅读(179) 评论(0) 推荐(0)
摘要: 题意:模拟约瑟夫环。有N(1<=N<=500000)个孩子,从第K(1<=K<=N)个开始。接下来N行中,每行有这个孩子的名字和数字pos(绝对值小于10^8,表示接下来第N个孩子出局),第P个出局的孩子会得到F(P)的糖果的数目。F(P)定义为:P的因子的数目。这题我们用线段树来模拟约瑟夫循环:这题的关键是两个公式,如果从当前的k位置和pos推出下一个孩子的k(其中k表示在当前状态下第几个,pos表示在数组中的下标。)如果num>0。k=(k-1+node[pos].num)%n+1。。但是之前这个位置的那个人已经被删除,现在的k-1表示是的原来的那个孩子的下一 阅读全文
posted @ 2012-07-24 11:51 wutaoKeen 阅读(149) 评论(0) 推荐(0)