上一页 1 2 3 4 5 6 7 8 ··· 25 下一页

【HNOI】 期望面积

摘要: 【题目描述】给定n个点,求这n个点组成凸包的期望面积。保证任意三点不共线。 【数据范围】n#define maxn 110using namespace std;int n;int x[maxn],y[maxn];double p[maxn];bool judge(int i,int j,int k) { return ((x[j]-x[i])*(y[k]-y[i])-(y[j]-y[i])*(x[k]-x[i]))<0;}int main() { freopen("qs.in","r",stdin); freopen("qs.out&q 阅读全文
posted @ 2014-04-07 13:11 BLADEVIL 阅读(1465) 评论(0) 推荐(0) 编辑

【HNOI】d 最小割

摘要: 【题目大意】给定一个n*m的土地,每块可以种a或b作物,每种作物在不同的位置有不同的收成,同时,有q个子矩阵中,全部种指定的作物(a或b)会有一定的加成收成,求最大收成。 【数据范围】 50% n,m#include #include #define maxm 2000010#define maxn 110#define inf (1000000000)using namespace std;int n,m,query;int source,sink,tot,l;int key[maxn][maxn][3],num[maxn][maxn][10][10][3];int pre[... 阅读全文
posted @ 2014-04-07 11:11 BLADEVIL 阅读(221) 评论(0) 推荐(0) 编辑

【HNOI】 c tree-dp

摘要: 【题目描述】给定一个n个节点的树,每个节点有两个属性值a[i],b[i],我们可以在树中选取一个连通块G,这个连通块的值为(Σa[x])(Σb[x]) x∈G,求所有连通块的值的和,输出答案对1000000007取余。 【数据范围】n#define d39 1000000007#define maxn 100010#define LL long longusing namespace std;int n,l;int last[maxn],other[maxn>=1; } return ans;}int main() { freopen("c.in","r&q 阅读全文
posted @ 2014-04-03 11:48 BLADEVIL 阅读(268) 评论(0) 推荐(2) 编辑

【HNOI】trust 弦图最大独立集

摘要: 【题目描述】有n个人,每个人之间都有是否信任的关系,要求找出k个人,使得k个人之间彼此信任,且k最大,保证不信任的关系由多个三元环组成,且三元环之间只可能有公共点,没有公共边,且不存在任意一个节点不属于任意一个三元环。 【数据范围】 n#include #define maxn 2010using namespace std;int n,l;int other[maxn*maxn],pre[maxn*maxn],last[maxn],flag[maxn],size[maxn],ans[maxn],que[maxn];void connect(int x,int y) { pr... 阅读全文
posted @ 2014-04-01 16:58 BLADEVIL 阅读(413) 评论(0) 推荐(0) 编辑

bzoj 1965 数学

摘要: 首先我们可以发现每张牌的对应关系,假设序号为x的牌,经过一次洗牌后的位置为: 2*x xn/2 那么我们可以将下面的式子化简,变成2*x-n-1,其实这个就是2*x%(n+1),那么经过m次变换,x的位置为2^m*x%(n+1),设最后的答案为x,那么我们可以列出式子 2^m*x%(n+1)=l,拓展欧几里得做就行了。/**************************************************************Problem: 1965User: BLADEVILLanguage: C++Result: AcceptedTime:0 msM... 阅读全文
posted @ 2014-04-01 13:30 BLADEVIL 阅读(247) 评论(0) 推荐(0) 编辑

bzoj 1188 SG函数

摘要: 首先我们可以把一个石子看成一个单独的游戏,那么我们可以发现所有位置的石子至于奇偶有关,因为某一个人操作其中的一个石子,我们可以用相同的石子做相同的操作,所以我们只需要保留下所有位置的01,那么对于每个位置的sg函数值,我们需要枚举之后所有可能放的情况就可以了。然后我们就可以判断是否先手必胜,然后对于方案,我们就枚举取哪一个向哪儿放,求出来之后的sg值,要是先手必败的话,这个方案就是先手必胜的,累加答案就好了。/**************************************************************Problem: 1188User: BLADEVILLa.. 阅读全文
posted @ 2014-04-01 13:11 BLADEVIL 阅读(408) 评论(0) 推荐(0) 编辑

bzoj 1406 数论

摘要: 首先问题的意思就是在找出n以内的所有x^2%n=1的数,那么我们可以得到(x+1)(x-1)=y*n,那么我们知道n|(x+1)(x-1),我们设n=a*b,那么我们对于任意的a,我们满足n%a==0,我们可以求出b,我们可以使x+1|a,x-1|b,然后我们可以构造所有满足被b整除的数,然后判断是否能被a整除, 然后再枚举x+1|b,x-1|a的情况,假设一组合法解不能拆开后被a,b分别整除,那么对于另外的a,b我们肯定可以再次枚举出这个解,然后对于相同的解用set去下重就可以了。 反思:手残打错了符号= =。 /***********************************... 阅读全文
posted @ 2014-04-01 12:11 BLADEVIL 阅读(286) 评论(0) 推荐(0) 编辑

bzoj 1927 网络流

摘要: 首先我们可以知道这道题中每个点只能经过一次,那么我们引入附加源汇source,sink,那么我们可以将每个点拆成两个点,分别表示对于图中这个节点我们的进和出,那么我们可以连接(source,i,1,0),(i+n,sink,1,0),然后对于可以直接到达的点我们可以连接(source,i+n,1,cost)这个代表我们可以从任意一个点到达这个点,对于星球之间的连边我们可以连接(x,y+n,1,cost),代表我们可以从这个星球到另一个星球,因为我们考虑每个点只经过一次,所以可以这样构图,我们并不关心路径的具体方案,只关心这个点会被进一次,出一次。 /********************.. 阅读全文
posted @ 2014-04-01 11:43 BLADEVIL 阅读(666) 评论(0) 推荐(0) 编辑

【HNOI】 攻城略池 tree-dp

摘要: 【题目大意】 给定一棵树,边有边权,每个节点有一些兵,现在叶子节点在0时刻被占领,并且任意节点在x被占领,那么从x+1开始,每单位时间产生一个兵,兵会顺着父亲节点一直走到根(1),其中每经过一个节点,该节点的兵储量减少1,问所有节点都被攻陷的最晚时间。 【数据范围】 n#include #define maxn 100010#define LL long longusing namespace std;LL n,l,tot,save;LL a[maxn],pre[maxnsize[right[t]]) right_rotate(t); else ... 阅读全文
posted @ 2014-04-01 11:03 BLADEVIL 阅读(340) 评论(0) 推荐(1) 编辑

【HNOI】五彩斑斓 模拟

摘要: 【题目描述】 给定一个n*m的矩阵,矩阵的某些位置有一个颜色(可以没有颜色,即为0),现在你可以将矩阵的某一行或者某一列染成同一种颜色,问最少用多少步能达到目标矩阵的染色方案,输出最少步数和方案。 【数据范围】 n,m#include #define maxn 60#define inf (~0U>>1)using namespace std;struct rec { int sum; int topo[maxnn) printf("C %d",ans.topo[i]-n); else printf("R %d",ans.topo[i]); 阅读全文
posted @ 2014-03-31 12:16 BLADEVIL 阅读(209) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 25 下一页