摘要: 每个点向它旁边的点连边,相同dis为0,不同为1。 n=3,m=3每个点的标号如下: 1 2 3 4 5 6 7 8 9 这样安排标号唯一,标号计算公式$(i-1)* m+j$,连边时判断一下边界,因为题目默认坐标是从(0,0)开始,所以方便做题,将读入的起点和终点坐标都加1。然后跑个最短路就可以了 阅读全文
posted @ 2019-09-14 21:02 流逝丶 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 首先不难看出这是最短路 然后一个起点,两个终点。 从起点跑一遍dij,比较到两个终点的距离,选小的那个,再以其中一个终点为起点,跑dij,ans加上到另一个终点的距离,就是最终结果。 阅读全文
posted @ 2019-09-14 20:51 流逝丶 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 思路:1.dfs一遍,求出每个点的size,fa,deep; 2.按照deep将每个点存入vector中; 3.按照deep进行dffs求解答案; dffs时切断某个点与fa的连线表示该点打上标记,表示不被感染,并减去该点size,每次进入下一层时,扫fa,如果fa被标记,则该点也被标记。 最后df 阅读全文
posted @ 2019-09-13 19:53 流逝丶 阅读(227) 评论(0) 推荐(1) 编辑
摘要: 首先看题,只有+,-,*。 考虑开long long直接搞 首先当做字符串读入 其中总共有五种类别 1.一开始只有一个数字 2.+(x)y 3.+++……+x 4.-(x)y 5. …-x 读入数字的话考虑将快读更改 开个ans记录答案,判断每种运算累积到ans中,最后输出ans。 然后60分就到手 阅读全文
posted @ 2019-09-11 19:42 流逝丶 阅读(182) 评论(0) 推荐(0) 编辑