摘要:
这个题有两种路径,普通线和商务线。而且告诉我们商务线就只能用一次,那很显然枚举就行。枚举每一条商务线,看能否更新最短路就行。我们从起点终点分别出发跑最短路,如果起点到商务线一个端点的最短距离加上终点到商务线另一个端点最短距离再加上商务线距离之和可以更新现有最短路,则更新最短路。枚举下去就行,复杂度为 阅读全文
摘要:
这是一道紫题,然而实际上我觉得也就蓝题难度甚至不到。 and,这道题就是一道数学题,代码模拟计算过程。 求最短路嘛,肯定要考虑建图,只需要把中间的墙上每个口的边缘处的点作为图中的点就行。至于为什么,显然如果我们取中间任何一个点连边,到下一面墙时路径之和总是比连其中一个边缘的点要大,直观感(gán觉( 阅读全文
摘要:
emmm交了第8次才过。 这道题目测一道单源最短路问题,因此dijkstra或者spfa板子先准备好。因为题中对最短路有限定: 而题中还说“题目保证终点没有出边。”,所以我们考虑反向处理,也就是说最短路径上的点一定在以终点为根的搜索树上,并且这些点的所有出边一定也在这棵树上。所以考虑dfs/bfs搜 阅读全文
摘要:
高精度,就是实现两个大整数四则运算的算法。其实本质就是模拟我们小学学过的竖式运算。原理可以说是非常简单,但是写起代码就不太好写了。 1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<string> 5 #inclu 阅读全文
摘要:
emmmm没什么想说的,随便放个图吧23333(逃~ 阅读全文
摘要:
这是一道考Floyd本质的题。 回忆一下Floyd的原理,三层循环,最外层循环枚举的是中转点,也就是用两点到中转点距离之和来更新最短路。然后来看下题目,重建时间是按照从小到大排序的,也就是说,当第i个村庄刚重建完成时,前i个村庄全部重建完成,而后面的都没有重建完成。那么在枚举中转点的时候就可以在线操 阅读全文
摘要:
原题全英文的,粘贴个翻译题面,经过一定的修改。 跟所有人一样,农夫约翰以宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生财之道。为了发财,他设置了一系列的规章制度,使得任何一只奶牛在农场中的道路行走,都要向农夫约翰上交过路费。 农场中由N(1 <= N <= 250)片草地(标号为1到N), 阅读全文
摘要:
emmmm这个题看起来非常复杂,实际上仔细一分析发现到一个点最短路的个数就是所有前驱最短路个数之和。如果在图上表示也就是以1为根的bfs搜索树,一个点的最短路个数等于每一个能够向它扩展的所有点的最短路个数之和。SPFA可以实现bfs。 先看代码吧 我们用ans数组存储每个点最短路个数。 阅读全文
摘要:
按照题意,显然可以列出同余方程,k即为所求天数,再将其化为不定方程 ,那么对这个方程用扩展欧几里德算法即可得出k,q的一组解,但是方程有解的充要条件是(m – n) 和L不同时为零并且x – y是m – n和L的因子,扩展欧几里德算出的解才是方程的解 。 阅读全文
摘要:
先说下暴力做法,如果[l1,r1]和[l2,r2]子串相等等价于两个区间内每个数对应相等。那么可以用并查集暴力维护,把对应相等的数的位置维护到同一个集合里去,最后答案其实就是把每个集合可以放的数个数乘起来就行了。注意:最高位不为0,如果有num个集合,则答案为9 * 10^(num – 1)。 暴力 阅读全文