-?(void)connect?{ ????if?(self.xmppStream?==?nil)?{ ????????self.xmppStream?=?[[XMPPStream?alloc]?init]; ????????[self.xmppStream?addDelegate:self?delegateQueue:dis...
分类:
其他好文 时间:
2015-03-30 13:32:29
阅读次数:
109
题意:一个送外卖的人,要将外卖全部送去所有地点再回到店离,求最短路。(可以重复经过边)
思路:由于可重复走某些边,所以先求各个点的最短路,再TSP
dp[i][s] 表示目前在i点还需要遍历s集合后回到0点的最短路径
边界条件就是dp[i][0]=dis[i][0]
//196 KB 0 ms C++ 1190 B
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-03-29 22:17:56
阅读次数:
245
凸包的算法比较形象好理解 代码写起来也比较短 所以考前看一遍应该就没什么问题了。。>_0)or((cross(a[1],a[i],midx)=0)and(dis[i]midy))) do dec(j); if ij; if i=0 do dec(len); //...
分类:
编程语言 时间:
2015-03-28 10:05:54
阅读次数:
207
题意:有n台电脑损坏了,现在要将它们修复通讯,给出了这n台电脑的坐标位置,两台电脑i和j能够通讯的条件是:i和j都已经被修好的并且i,j之间的距离dis[i][j]<=d。有两种操作:1. O x 表示修好电脑x;2. S x y 表示检查电脑x和y是否联通,若联通输出SUCCESS,否则FALL。
思路:先把n台电脑之间的距离求出来,然后进行并查集操作,当修复电脑x时,检查其他电脑是否有已经修好的并且距离小于d的,有的话就将x和这台连起来。询问时之间看两个的father是否一样。...
分类:
Web程序 时间:
2015-03-21 17:10:28
阅读次数:
178
题目链接:点击打开链接
题意:
给定n个点的树,任意拆掉一条边,得到2个子树,再用刚拆掉的边把这两个子树连起来。
得到新的树,这个树的权值为任意两个点间的距离和。
使得新的树权值最小。输出这个权值。
枚举拆掉的边(u,v)
得到2个以u为根的子树和以v为根的子树
计算每条边对答案的贡献,拆掉的边贡献就是siz[u]*siz[v]*edge[u,v].dis
剩下的就是计算如何连接2...
分类:
其他好文 时间:
2015-03-21 11:19:51
阅读次数:
209
思路:把所有最短路找出来,然后跑一次就好了。把所有最短路找出来大概就是,把边反向,然后从e跑最短路。然后正向从s跑最短路。然后从s开始,每次跟着最短路(字典序最小)走。判断一条边是不是最短路,也就是dis[u]+d[v]+hehe=D#include#include#include#include#...
分类:
其他好文 时间:
2015-03-21 01:00:20
阅读次数:
281
题目大意:给定一棵树,每次添加一个节点并询问当前有多少点对满足dis(i,j)
吾辈有生之年终于把这道题切了。。。QAQ
什么?你想做这题?
1095切了么?没?去把1095切掉再说!
3065切了么?没?去把3065切掉再说!
什么?都切了?那还不会做这题??
……
算了还是说说做法吧。。。
我们抛开那些乱七八糟的,考虑朴素做法
...
分类:
其他好文 时间:
2015-03-20 14:31:55
阅读次数:
1969
题目链接:点击打开链接
题意:
给定数轴上的n个点。
下面n行每行两个数 xi, wi 表示点和点权。
对于任意两个点u, v
若dis(u,v) >= u_w+v_w 则这两个点间可以建一条边。(in other words 若两点间距离大于两点的权值和则可以建边)
找一个最大团,输出这个最大团的点数。
其实对于一个权值点我们可以认为是一个区间
如: 4 5 ,可以认为是区间[-...
分类:
编程语言 时间:
2015-03-18 18:09:40
阅读次数:
158
1.通过省+城市+区县确定初始化地图 map.centerAndZoom(prv+city+dis, 15);2.通过精确地址确定初始化地图function searchOnMap(detail){ if(detail != ""){ var local =...
分类:
其他好文 时间:
2015-03-16 22:44:41
阅读次数:
119
http://acm.hdu.edu.cn/showproblem.php?pid=2586给定一棵带权有根树,对于m个查询(u,v),求得u到v之间的最短距离那么只要求得LCA(u,v),dis(u,v)=dis[u]+dis[v]-2*dis[LCA(u,v)],其中dis[i]表示节点i到根节点root的距离31MS 4104K 2186 B#include
#i...
分类:
其他好文 时间:
2015-03-14 13:56:04
阅读次数:
136