- 博客(5)
- 收藏
- 关注
原创 BZOJ2982Lucas定理
学了这么久Lucas定理,终于见到有用的时候啦Lucas定理是处理计算组合数取模的一种算法只有当模的数很小的时候才适用!!此外要求模的数是质数(这么看看好像只有10007了)具体就是一个公式: C( n , m ) % p = C ( n % p , m % p ) * C ( n / p , m / p )按照上面的公式递归就好啦注意当n#include #inc
2016-07-24 21:33:10 378
原创 BZOJ2733线段树合并
第一次写线段树合并一开始完全自己yy板子写得特别丑后来看到了别人的板子发现又简洁又好写//Never Say Never until the very end. #include #include #define N 100050using namespace std;int tr[20*N],ls[20*N],rs[20*N],fa[N],root[N],ys[N],h
2016-07-24 20:56:56 378
原创 BZOJ1040环加外向树森林上的动态规划
所有的边是无向的!想一想也知道,只要有一个人讨厌另外一个人,这两个人最后是不会在一起的。n个人n条边(图不保证联通),这就是一个环加外向树森林不能同时取一条边上的两个人,用DP来实现 DFS找环,拆环x,y,分别讨论x不取和y不取#include #include #include #include #define N 2000050 using
2016-07-20 16:25:27 465
原创 BZOJ1044二分答案(第一问)+动态规划(第二问)
第一问:满足二分性质,直接二分答案算答案l第二问:F[ i ][ j ]表示经过 i 此操作将前 j 个木棍分解的方案数(并且在第j个位置分解) F[ i ][ j ] = Sigma F[ i-1 ][ p ] (满足sum[ j ] - sum[ p ] 发现空间爆了,第一维滚动数组回收垃圾 ans = Sigma F[ i ][ n ]ti
2016-07-19 14:04:18 412
原创 BZOJ1037动态规划
数据范围很小,可以用4维存储下前i个男孩j个女孩,从这一位往前的所有点中男-女的差最大为x,女-男为y的方案数主动递推:F[ i+1 ][ j ][ x+1 ][ max( y-1 , 0 )] += F[ i ][ j ][ x ][ y ];F[ i ][ j+1 ][ max( x-1 , 0) ][ y+1 ] += F[ i ][ j ][ x ][ y ];最后答案为
2016-07-19 10:46:07 330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人