- 博客(14)
- 收藏
- 关注
原创 BZOJ2159 Crash 的文明世界 题解
题目大意:给一棵N个节点的树及正整数K,对每一个节点i求Σdist(i,j)^K。N。O(NK^2),O(NKlogK)的做法都可以在贾志鹏2011年的集训队作业里看到。下面介绍一种O((N+K)K)的做法。首先讲讲第二类斯特林数。S(N,K)表示将N个元素划分成K个非空子集的方案数。S(N,K)可以表示成递推形式:S(N,K)=S(N-1,K-1)+K*S(N-1,K)。N的斯特林数大概
2014-06-06 17:14:31
3109
原创 COCI2013 HIPERPROSTOR
题目大意:给定一张有向图,n,其中有一些特殊边,长度相同是一个正整数但是未知,设为X。给出Q个询问S,T,输出当x取遍所有正整数的时候,S到T的最短路的所有可能值的个数以及总和。分析:每一条S到T的路径,设路径上x的条数有k个,其余的和为b,那么路径总长就是kx+b。对于相同的k我们只关心最小的b。于是我们可以设状态f[i][j],表示从S走到j,经过i条x的边的最小b值。最短路的边数最多
2013-06-09 15:21:53
1428
2
原创 [Sdoi2013]城市规划
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3204解法:题目有个条件,就是m稍加思考发现线段树是可行的。维护行与行之间的关系也很简单,只要通过并查集来实现,如果不会可以去做做[wc2005]双面棋盘这道题。这题的一个细节是,如果只有道路的连通块是不能算进答案的,所以实现时加一个布尔数组判断这个连通块内是否有‘O’。
2013-05-30 14:58:58
2151
原创 [Sdoi2013]保护出题人
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3203解法:本题读完题目,我们可以很快知道,对于第i轮,yi的最小值就是max(sum[i]-sum[j-1])/(xi+(i-j)*d),1这样我们可以得到一个n^2的算法。观察式子,我们可以发现,它的集合意义就是P(sum[i],x[i]+i*d)到所有Q(sum[j-1
2013-05-30 14:46:58
1885
原创 [Sdoi2013]项链
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3202解法:读完题目,很明显我们有两个任务:(1)计算符合提交的颜色数目;(2)计算有m种颜色,长度为n相邻两个颜色不相同的本质不同项链数目(旋转相同被认为是本质相同。)Part 1:我们设c2,c3分别为gcd=1的有序整数对以及有序三元组的数目。那么我们可以得出答案即为m
2013-05-30 14:25:00
1815
原创 [Sdoi2013]escape
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3199题解:这题的关键在于怎么求出每个家长的监视范围呢?。其实很简单。对于第i个家长,向每个家长j连线作中垂线,每条线对应一个朝向i的半平面,这些半平面的交就是第i个家长的监视范围。然后半平面交出来的多边形每条变对应的家长j,与i连边,最后bfs一下求出起始多边形到界外的最短路就好了。时
2013-05-28 19:00:35
1373
原创 [Sdoi2013]spring
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3198题意不赘述了,很好懂吧。。这题应该算是送分题了。解法大概就是容斥+哈希。具体来说,就是2^6枚举至少对应位相同的方案,假如枚举了101100,表示至少第1,2,4相同的方案,设其中1的个数为m。那么对答案的贡献就是(-1)^(k-m)*方案数*C(k,m),这其实就是容斥。
2013-05-28 18:51:40
1192
原创 [Sdoi2013]assassin
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3197题解:本题是给定两棵树,每个节点给定初始黑白染色,问在某颗树上最少改变染色次数,使得两数同构(黑白要对应)。解法:其实如果做过树同构,很容易想到,枚举T2中的节点i为根,与T1的1对应,使两树同构的最小代价。于是我们可以设状态f[a][b]表示T1中以a为根的子树与T2中以
2013-05-28 18:37:22
1292
原创 组合数求模总结
本文对C(N,M) mod P介绍三种针对不同数据范围的算法。例一:FZU2020数据范围n, m, p (1 C(N,M)=N*(N-1)*(N-2)*...*(N-M+1)/M!注意到m非常小,分子分母都有m项于是可以O(m)暴力求出分子分母mod p的值。又因为m时间复杂度O(m+log2p),空间复杂度O(1)。code:#include #inclu
2013-01-05 15:40:26
1421
原创 旋转卡壳小结
这几天做了两道旋转卡壳题,做个小结。第一题POJ2187本题求n个点的最远点对。首先n^2枚举肯定TLE。考虑其他方法。应当注意到最远点对必然在凸包上,所以首先做凸包。接着枚举每条边,可以利用高单峰的性质,维护一个指针。然后就可以求离每条边最远的点对了。虽然很简单,但是未能1A。2个错误:凸包第二个for要从n-1到1.不能到2.取最大值手滑。/*
2012-12-30 09:47:37
520
原创 直线求交点两种方法
方法一:代数法。对于l1,l2求出方程ax+by+c=0解方程求交点。方法二:几何法。利用面积比值推出线段比值再用相似三角形,进行向量放缩就可以了。#include #include using namespace std;const double eps=1e-8;struct Tpoint{ double x,y;
2012-12-29 21:05:58
2405
原创 [HNOI2009]有趣的数列
题目传送:衡阳八中http://61.187.179.132:8080/JudgeOnline/showproblem?problem_id=1485[HNOI2009]有趣的数列Time Limit:10000MS Memory Limit:65536KTotal Submit:56 Accepted:31 Case Time Limit:1000MS Description我们称一个长度为2n的数列是有趣的。当且仅当该数列潲足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (
2011-03-02 21:57:00
1882
1
原创 班级聚会(reunion)
本题连接 http://59.61.75.5:8888/JudgeOnline/showproblem?problem_id=1589班级聚会 2010-10-31普及模拟赛(reunion)Time Limit:1000MS Memory Limit:65536KTotal Submit:77 Accepted:22 Description毕业25年以后,我们的主人公开始准备同学聚会。打了无数电话后他终于搞到了所有同学的地址。 他们有些人仍在本城市,但大多数人分散在其他的城市。 不过,他发现一个巧合,所
2011-02-28 22:54:00
2265
原创 usaco-2007-Dec-Gold: 队列变换 (bclgold)
贪心,弱,不解释#include #include using namespace std;int n;char a[30001];void init(){ scanf("%d/n",&n); for (int i=1; i
2011-02-28 22:48:00
1243
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人