随笔分类 -  Graph Theory

摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1854 没想到怎么做真是不应该,看到每个武器都有两个属性,应该要想到连边构图的!太不应该了! 构图之后,显然,一个有n个点的联通块要么有n - 1条边,要么有>=n条边(因为可能有重边)。由于一 阅读全文
posted @ 2017-02-08 19:52 ciao_sora 阅读(194) 评论(0) 推荐(0)
摘要:传送门:http://poj.org/problem?id=1741 写的第一道树分治题,撒花纪念~ 对于每一对点对(i, j),它有三种情况: ① 其中一个是根节点。这种情况比较简单,直接加上就好了。 ② 横跨根节点。这种情况是重点。 ③ 不是以上两种情况。这时递归下去求解就好了。 那么对于第二种 阅读全文
posted @ 2016-11-21 20:09 ciao_sora 阅读(122) 评论(0) 推荐(0)
摘要:一看懵了,求一条路的长度whose二进制位中1的个数最小?什么鬼。 其实这种n这么小的图论题,应该往Floyd上想了。令f(p, i, j)为从i走长度为2^p长度的路能否到j,若能,则在一张新的图上连一条i到j的边。最后bfs就猴了。 阅读全文
posted @ 2016-11-15 21:10 ciao_sora 阅读(234) 评论(0) 推荐(0)
摘要:先将输入的边从小到大排序,对于一条边,它一定连接着两个联通块u与v,那么这条变对于答案的贡献是siz[u] * siz[v] * (边权 + 1) - 1,别问为什么这太显然了,一想就懂。。。 阅读全文
posted @ 2016-11-15 20:29 ciao_sora 阅读(322) 评论(0) 推荐(0)
摘要:4. 种树 (trees.pas/c/cpp) 【问题描述】 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号为1..n。每个块的大小为一个单位尺寸并最多可种一棵树。每个居民想在门前种些树并指定了三个号码b,e,t。这三个数表示该居民想在b和e之间最少种t棵树 阅读全文
posted @ 2016-11-15 20:01 ciao_sora 阅读(315) 评论(0) 推荐(0)
摘要:兔子跳跃 (jumping.pas/c/cpp) 【问题描述】 兔子常常感到孤独,所以当他们决定出去走走,去见见他们的朋友,他们跳的很快。 Iris正走在一条无限长的直线道路上。这条道路上点的编号...,-3,-2,-1,0,1,2,3,...从西到东。Iris的家是在0点上,而她想要见的朋友在点1 阅读全文
posted @ 2016-10-27 10:04 ciao_sora 阅读(393) 评论(0) 推荐(0)
摘要:传送门:https://vijos.org/p/1983 (其实noip的题各个oj都会有的,就不贴其它传送门了) 这道题真的是,怎么说,我都不知道怎么评价了= =。果然数据量小的题怎么暴力都可以过。。。当然我没说这一题要用最最暴力的bfs。 首先这一题的特点是给定一个图,之后有q(q <= 500 阅读全文
posted @ 2016-10-20 14:16 ciao_sora 阅读(159) 评论(0) 推荐(0)
摘要:传送门:http://www.usaco.org/index.php?page=viewproblem2&cpid=106 这道题还真是完全没思路,真的不知道怎么做,但是看了题解后恍然大悟。 貌似这种与坐标有关的图论题经常拆点耶,把每个点拆成5个点,分别是它本身以及其四联通块。显然,最短路就要过这几 阅读全文
posted @ 2016-10-13 20:24 ciao_sora 阅读(402) 评论(0) 推荐(0)