随笔分类 -  UVA

摘要:大体思路是从终点反向做一次BFS得到一个层次图,然后从起点开始依次向更小的层跑,跑的时候选则字典序最小的,由于可能有多个满足条件的点,所以要把这层满足条件的点保存起来,在跑下一层。跑完一层就会得到这层最小的color号。反省:这道题由于有自环和重边的存在,因此满足条件的一个点可能多次被加到队列,这样... 阅读全文
posted @ 2015-06-24 16:54 瑞宇 阅读(1574) 评论(0) 推荐(0)
摘要:判断无向图是否存在欧拉回路,就是看度数为奇数的点有多少个,如果有两个,那么以那分别两个点为起点和终点,可以构造出一条欧拉回路,如果没有,就任意来,否则,欧拉回路不存在。首先用并查集判断连通,然后统计度数。#include#include#include//#include//#define loca... 阅读全文
posted @ 2015-06-24 14:38 瑞宇 阅读(327) 评论(0) 推荐(0)
摘要:第一个A*,纪念下。A*要保证最短路一定要估价函数小于等于实际值,越接近越好估价函数取Manhattan距离除以二。//Rey#include#include#include#includeusing namespace std;const int N = 8;bool C[N][N];struct... 阅读全文
posted @ 2015-06-24 11:35 瑞宇 阅读(280) 评论(0) 推荐(0)
摘要:借鉴了线段数区间操作的思想,只是把一个结点的孩子扩展到了4个,结点k,四个孩子编号分别为4*k+1,4*k+2,4*k+3,4*K+4,从零开始。根据层数,确定权值。#include#includeconst int maxn = 1365 + 5;//4^5 + 4^4 + ... + 1char... 阅读全文
posted @ 2015-06-24 09:58 瑞宇 阅读(291) 评论(0) 推荐(0)
摘要:非常有趣的一道题目,大意是给你六种符号的16进制文本,让你转化成二进制并识别出来代码实现上参考了//http://blog.csdn.net/u012139398/article/details/39533409#include#include #include #include #include ... 阅读全文
posted @ 2015-06-24 09:49 瑞宇 阅读(357) 评论(0) 推荐(0)
摘要:这题思路就普通的BFS加上一个维度朝向,主要是要注意输入,输出,以及细节的处理#include#include#include#includeusing namespace std;const int MAX = 9+1;const int DIR = 4;const int TURN = 3;bo... 阅读全文
posted @ 2015-06-24 09:40 瑞宇 阅读(564) 评论(0) 推荐(0)