2016年1月30日

摘要: 我们考虑在1...n-1中选取三个数不重复的有多少种?答案是(n-1)*(n-2)*(n-3)种。 每三个数组成六种序列,只有一种单增。 #include<iostream>#include<cstdio>using namespace std;int n;int main(){ scanf("%d 阅读全文

posted @ 2016-01-30 14:31 ziliuziliu 阅读(120) 评论(0) 推荐(0)

摘要: 看到这道题我们首先考虑线性筛。然而???2*10^9直接跪掉。 考虑每个因子i对答案的贡献,为[n/i]*i。那么?分块处理即可。 #include<iostream>#include<cstdio>using namespace std;long long x,y;long long ans=0; 阅读全文

posted @ 2016-01-30 08:40 ziliuziliu 阅读(145) 评论(0) 推荐(0)

2016年1月29日

摘要: 容斥+莫比乌斯反演+分块大法。 #include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;long long miu[50005];long long a,b,c,d,k,t;long 阅读全文

posted @ 2016-01-29 21:19 ziliuziliu 阅读(197) 评论(0) 推荐(0)

摘要: 莫比乌斯反演?不知道有没有用到。 原式=∑(x=1...n)μ(x)∑(i=1..[n/x])d(i)∑(j=1..[m/x])d(j)。 对miu,d分别前缀和,再对d*d进行分块。 #include<iostream>#include<cstdio>#include<cmath>#include 阅读全文

posted @ 2016-01-29 21:18 ziliuziliu 阅读(117) 评论(0) 推荐(0)

2016年1月28日

摘要: 首先为了满足买卖点全都在1到n的路径上,我们进行两次bfs(spfa),在第一次的时候顺便求出1到该点的路径上权值最小的点。 然后o(n)for出该点权值减去1到这一点路径上权值最小的点的权值。更新答案。 #include<iostream>#include<cstdio>#include<cstr 阅读全文

posted @ 2016-01-28 22:22 ziliuziliu 阅读(254) 评论(0) 推荐(0)

2016年1月24日

摘要: 一个求最大值和次大值的问题。在更新的时候将两个子区间的最大次大值都算进去,排个序再装进去即可。#include#include#include#define maxn 800005using namespace std;struct tree{int left,right;int value1,va... 阅读全文

posted @ 2016-01-24 21:46 ziliuziliu 阅读(145) 评论(0) 推荐(0)

摘要: 这题仿佛暴力都能过。。。我还是写的tarjan。纯粹是裸的找环,每个点所属的强连通分量只要大于一个点,依据定义就肯定有环。#include#include#include#include#include#define maxv 1005#define maxe 100005using namespa... 阅读全文

posted @ 2016-01-24 11:43 ziliuziliu 阅读(220) 评论(0) 推荐(0)

2016年1月23日

摘要: 状压。!!!!这题神TM我调了不知道多久。。没带智商。考虑好状态之间的关系。数组开够。#include#include#include#includeusing namespace std;int dis[20][20],f[20][1dis[i][k]+dis[k][j]) && (i!=k) &... 阅读全文

posted @ 2016-01-23 18:42 ziliuziliu 阅读(123) 评论(0) 推荐(0)

2016年1月22日

摘要: 线段树,数据水。。。成段更新区间,然后每次dfs整棵线段树。#include#include#define maxn 1000005using namespace std;struct tree{ int left,right; int value;}node[maxn];int father[ma... 阅读全文

posted @ 2016-01-22 22:23 ziliuziliu 阅读(199) 评论(0) 推荐(0)

摘要: 满血复活。。。这题大赞出题人。数据出的真是好。两个要点:首先二维记录每个点每个标记的dis,然后发现有自环,果断放弃vis,然后还要判断:当距离相等但是另外一条线的挑战更多,那么还是要更新。#include#include#include#include#include#define maxv 13... 阅读全文

posted @ 2016-01-22 22:11 ziliuziliu 阅读(173) 评论(0) 推荐(0)