• 「BZOJ3531」[SDOI2014] 旅行

    「BZOJ3531」[SDOI2014] 旅行

    Description S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的旅行评级,...

    32014年6月13日6,946线段树,树链剖分
  • 「BZOJ1005」[HNOI2008] 明明的烦恼

    「BZOJ1005」[HNOI2008] 明明的烦恼

    Description自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树?Input第一行为N(0<N<=1000),接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1Output一个整数,表示不同的满足要求的树的个数,无解输出0SampleInput31-1-1SampleOutput2HINT 两棵树分别为1-2-3;1-3-2 题解该题运用到了...

    62014年5月30日10,702高精度,prufer编码,排列组合
  • 「BZOJ1211」[HNOI2004] 树的计数

    「BZOJ1211」[HNOI2004] 树的计数

    Description一个有n个结点的树,设它的结点分别为v1,v2,…,vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵。给定n,d1,d2,…,dn,编程需要输出满足d(vi)=di的树的个数。Input第一行是一个正整数n,表示树有n个结点。第二行有n个数,第i个数表示di,即树的第i个结点的度数。其中1<=n<=150,输入数据保证满足条件的树不超过10^17个。Output输出满足条件的树有多少棵。SampleInput42121SampleOutpu...

    02014年5月30日5,050prufer编码,排列组合
  • 「BZOJ1626」[Usaco2007 Dec] Building Roads 修建道路

    「BZOJ1626」[Usaco2007 Dec] Building Roads 修建道路

    DescriptionFarmerJohn最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农场)。有些农场之间原本就有道路相连。所有N(1<=N<=1,000)个农场(用1..N顺次编号)在地图上都表示为坐标为(X_i,Y_i)的点(0<=X_i<=1,000,000;0<=Y_i<=1,000,000),两个农场间道路的长度自然就是代表它们的点之间...

    02014年5月23日3,947kruskal
  • 「BZOJ2429」[HAOI2006] 聪明的猴子

    「BZOJ2429」[HAOI2006] 聪明的猴子

    Description在一个热带雨林中生存着一群猴子,它们以树上的果子为生。昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上。猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的不同树冠上来回穿梭,以找到喜欢吃的果实。现在,在这个地区露出水面的有N棵树,假设每棵树本身的直径都很小,可以忽略不计。我们在这块区域上建立直角坐标系,则每一棵树的位置由其所对应的坐标表示...

    02014年5月18日5,030kruskal
  • 「BZOJ1016」[JSOI2008] 最小生成树计数

    「BZOJ1016」[JSOI2008] 最小生成树计数

    Description现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对31011的模就可以了。Input第一行包含两个数,n和m,其中1<=n<=100;1<=m<=1000;表示该无向图的节点数和边数。每个节点用1~n的整数编号。接下来的m行,每...

    52014年5月13日19,002kruskal,深度搜索
  • 「BZOJ1787」[Ahoi2008] Meet 紧急集合

    「BZOJ1787」[Ahoi2008] Meet 紧急集合

    DescriptionInputOutputSampleInput641223244556456631244666SampleOutput52254160HINT题解忘记换行搞半天我擦咧求三个结点到一个结点距离之和最小的结点以及距离和求出两两lca,其中有两个相同,答案则为另一个,画画图就可以理解[crayon-662fa9079f9c4175332665/]或者将三个lca分别计算取最优[crayon-662fa9079f9d7329301308/] ...

    22014年5月7日5,428最近公共祖先
  • 「BZOJ1984」月下“毛景树”

    「BZOJ1984」月下“毛景树”

    Description毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园。毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里。爬啊爬~爬啊爬~~毛毛虫爬到了一颗小小的“毛景树”下面,发现树上长着他最爱吃的毛毛果~~~“毛景树”上有N个节点和N-1条树枝,但节点上是没有毛毛果的,毛毛果都是长在树枝上的。但是这棵“毛景树”有着神奇的魔力,他能改变树枝上毛毛果的个数:Changekw:将第k条树枝上毛毛果的...

    02014年4月29日5,966线段树,树链剖分
  • 「BZOJ1977」[BJ2010组队] 次小生成树 Tree

    「BZOJ1977」[BJ2010组队] 次小生成树 Tree

    Description小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等等。正当小C洋洋得意之时,小P又来泼小C冷水了。小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM,严格次小生成树选择的边集是ES,那么需要满足:(value(e)表示边e的权值)  这下小C蒙了,他找到了你,希望你帮他解决这个问题。Input第一行包含两个整数N和...

    12014年4月28日6,760kruskal,树上倍增
  • 「BZOJ3390」[Usaco2004 Dec] Bad Cowtractors牛的报复

    「BZOJ3390」[Usaco2004 Dec] Bad Cowtractors牛的报复

    Description    奶牛贝茜被雇去建设N(2≤N≤1000)个牛棚间的互联网.她已经勘探出M(1≤M≤20000)条可建的线路,每条线路连接两个牛棚,而且会苞费C(1≤C≤100000).农夫约翰吝啬得很,他希望建设费用最少甚至他都不想给贝茜工钱. 贝茜得知工钱要告吹,决定报复.她打算选择建一些线路,把所有牛棚连接在一起,让约翰花费最大.但是她不能造出环来,这样约翰就会发现.Input  第1行:N,M.  第2到M+1行:三个整...

    02014年4月15日3,396kruskal
  • NOIP2013货车运输

    NOIP2013货车运输

    题目描述DescriptionA国有n座城市,编号从1到n,城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入描述InputDescription第一行有两个用一个空格隔开的整数n,m,表示A国有n座城市和m条道路。接下来m行每行3个整数x、y、z,每两个整数之间用一个空格隔开,表示从x号城市到y号城市有一条限重为z的道路。注意:x...

    142014年4月9日28,395kruskal,spfa,树上倍增
  • 「BZOJ2243」[SDOI2011] 染色

    「BZOJ2243」[SDOI2011] 染色

    Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。 Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节点的初始颜色下面 行每行包含两个整数x和y,表示x和y之间有一条无向...

    12014年4月8日8,929线段树,树链剖分