dreamxr
精诚所至,金石为开!

导航

 

2012年10月11日

摘要: 题意 求1到之间所有与n互质的数的四次幂之和。 分析 分解n^5-(n-1)^5..可以求出1^4+2^4+...+n^4的公式S(n)=1/30*(n^5+15*n^2*(n+1)^2-10*n*(n+1)*(2*n+1)+15*n*(n+1)-6*n) 先求出S(n),利用容斥原理去掉是n的质因子的倍数的数的四次幂之和。。。 1 #include 2 #include ... 阅读全文
posted @ 2012-10-11 23:15 dreamxr 阅读(99) 评论(0) 推荐(0) 编辑
 
摘要: 题意 求1到之间所有与n互质的数的四次幂之和。分析 分解n^5-(n-1)^5..可以求出1^4+2^4+...+n^4的公式S(n)=1/30*(n^5+15*n^2*(n+1)^2-10*n*(n+1)*(2*n+1)+15*n*(n+1)-6*n) 先求出S(n),利用容斥原理去掉是n的质因子的倍数的数的四次幂之和。。。 1 #include<iostream> 2 #include<algorithm> 3 #include<cstring> 4 #include<vector> 5 #define N 100100 6 #include 阅读全文
posted @ 2012-10-11 23:15 dreamxr 阅读(167) 评论(0) 推荐(0) 编辑
 

2012年10月9日

摘要: 分析 模拟一个伸展树的操作,最后中序遍历一下就可以。。 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #define N 1000010 6 #pragma comment(linker, "/STACK:102400000,102400000") 7 using namespace std; 8 int ch[N][2],pre[N],s[N],sz[N],num[N]; 9 bool rev[N]; 1 阅读全文
posted @ 2012-10-09 11:00 dreamxr 阅读(177) 评论(0) 推荐(0) 编辑
 
摘要: 分析 模拟一个伸展树的操作,最后中序遍历一下就可以。。 1 #include 2 #include 3 #include 4 #include 5 #define N 1000010 6 #pragma comment(linker, "/STACK:102400000,102400000") 7 using namespace std; 8 int ch[N... 阅读全文
posted @ 2012-10-09 11:00 dreamxr 阅读(100) 评论(0) 推荐(0) 编辑
 

2012年10月8日

摘要: 题目描述 给定一个序列,询问某段区间内小于等于k的数的个数。 分析 划分树+二分,二分的同时统计满足题意的数的个数。。 1 #include 2 #include 3 #include 4 #define N 100100 5 #define lson l,m,n>1,lsame=m-l+1; 12 for(int i=l;isorted[m]) 23 ... 阅读全文
posted @ 2012-10-08 19:42 dreamxr 阅读(154) 评论(0) 推荐(0) 编辑
 
摘要: 题目描述 给定一个序列,询问某段区间内小于等于k的数的个数。分析 划分树+二分,二分的同时统计满足题意的数的个数。。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define N 100100 5 #define lson l,m,n<<1 6 #define rson m+1,r,n<<1|1 7 using namespace std; 8 int sorted[N],ans[N][20],num[N][20]; 9 void build(int 阅读全文
posted @ 2012-10-08 19:42 dreamxr 阅读(110) 评论(0) 推荐(0) 编辑
 

2012年9月15日

摘要: 分析 LCA,只不过多了图不连通的情形,用Tarjan离线处理,用visited[i]的值来表示i属于哪个集合.. 1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include<algorithm> 5 #include<iostream> 6 #define N 10010 7 using namespace std; 8 int root[N],dis[N],n,m,k,ans[N*100]; 9 int visited[N],cnt;10 struct 阅读全文
posted @ 2012-09-15 00:06 dreamxr 阅读(111) 评论(0) 推荐(0) 编辑
 
摘要: 分析 LCA,只不过多了图不连通的情形,用Tarjan离线处理,用visited[i]的值来表示i属于哪个集合.. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define N 10010 7 using namespace std; 8 int root[N],dis[N],n,m,k,ans[N*10... 阅读全文
posted @ 2012-09-15 00:06 dreamxr 阅读(80) 评论(0) 推荐(0) 编辑
 
摘要: 分析 二维RMQ,maxn[i][j][a][b]表示以(i,j)为左上顶点,以(i+2^a-1,j+2^b-1)为右下顶点的矩形内的最大值,minn数组同理... 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #define N 260 5 #define M 9 6 using namespace std; 7 int maxn[N][N][M][M],minn[N][N][M][M]; 8 int n,b,k; 9 void init(){10 for(int a=0;( 阅读全文
posted @ 2012-09-15 00:01 dreamxr 阅读(162) 评论(0) 推荐(0) 编辑
 
摘要: 分析 二维RMQ,maxn[i][j][a][b]表示以(i,j)为左上顶点,以(i+2^a-1,j+2^b-1)为右下顶点的矩形内的最大值,minn数组同理... 1 #include 2 #include 3 #include 4 #define N 260 5 #define M 9 6 using namespace std; 7 int maxn[N][N][M][M... 阅读全文
posted @ 2012-09-15 00:01 dreamxr 阅读(81) 评论(0) 推荐(0) 编辑