摘要:枚举题。最多只有10个vacant,所以把(1 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 13 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) ) 14 #define repAE(p,q,i) for(int (...
阅读全文
摘要:第37届ACM/ICPC杭州现场赛C题DP经典。思路: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 8 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 9 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )10 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i) )12 #define range 100001013...
阅读全文
摘要:大水题,好欢乐,需要注意的就是字符的读入,不要出错。 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include10 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) )11 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )12 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i...
阅读全文
摘要:几乎是裸的最小生成树,只是Nick 和 Apple 要直接相连。上代码: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 8 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 9 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )10 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i) )12 #define range ...
阅读全文
摘要:题意是求,在一个联通图中,求所以点对之间的最短路,并求出这些最短路中最长的是多少。用Floyd-Warshall是O(n^3),会超时的。用于稀疏图的Johnson算法我不会,所以不知到行不行。所以只有用N次BFS求最短路。图用邻接表储存,BFS的时候注意标记,以便能跳出循环。这样的时间复杂度就会远远低于n^3了。下面是代码: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #define repA(p,q,i) ...
阅读全文
摘要:第一次用hash,第一次用二维树状数组,这道题所涉及到的知识点对我来说几乎是全新的。于是乎这道题花去了我一晚上加一上午搞。一开始直接开10001*10001的数组,维护N棵树状数组,结果显然爆内存了。不过现场赛的时候据说这样就能过,泥玛坑啊!~后来搜题解,才知道。好吧,用过一维树状数组的童鞋学二维应该马上就能上手的,这里贴一个二维树状数组的资料。二维树状数组资料:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804至于hash这里用到的都是简单映射,看完hash的百度词条就能做这题了。其实这道题的关键是在于坐标转
阅读全文