2019年2月27日

UVA - 725 Division

摘要: #include using namespace std; int main() { int n; bool first = true; while(cin >> n && n){ if(first){ first = false; }else printf("\n"); b... 阅读全文

posted @ 2019-02-27 20:59 nbsanshi 阅读(108) 评论(0) 推荐(0) 编辑

UVA - 10976 Fractions Again?!

摘要: #include using namespace std; typedef pairPair; int main() { int k; while(cin >> k){ int cnt = 0; vectorans; for(int y = k + 1; y <= 2*k; y++){ if(y*k % ... 阅读全文

posted @ 2019-02-27 20:58 nbsanshi 阅读(73) 评论(0) 推荐(0) 编辑

UVA - 524 Prime Ring Problem

摘要: #include using namespace std; typedef pairPair; int n; bool is_prime(int x) { for(int i = 2; i > n){ if(first){ first = false; }else cout << endl; ... 阅读全文

posted @ 2019-02-27 20:57 nbsanshi 阅读(78) 评论(0) 推荐(0) 编辑

uva1599 Ideal path(已AC)

摘要: 本题昨晚和一个大佬讨论了一下,有了一个初步的解决方案,但是今天下午实现的时候发现仍有bug。 完整的思路为: 1. d数组为反向dfs获得的新图的结构。即在新图中,u的下一个结点为v需满足,d[v] == d[u] - 1。 2. 新图为有向无环图。 3. 问题转化为:有一个DAG,边有权,给定起点 阅读全文

posted @ 2019-02-27 19:33 nbsanshi 阅读(106) 评论(0) 推荐(0) 编辑

2019年2月26日

uva1599 Ideal path(未AC)

摘要: #include using namespace std; typedef pairPair; const int maxn = 100000 + 3; int n, m; vectorG[maxn]; int d[maxn]; bool vis[maxn]; void bfs1() { memset(vis, 0, sizeof(vis)); queueq; ... 阅读全文

posted @ 2019-02-26 21:32 nbsanshi 阅读(83) 评论(0) 推荐(0) 编辑

2019年2月25日

UVA10305_OrderingTask(简单的拓扑排序)

摘要: 一个坑:题目说的是以0 0结尾,但是while(cin >> n >> m && n && m) 无法AC,只能是while(cin >> n >> m && n) 阅读全文

posted @ 2019-02-25 20:42 nbsanshi 阅读(130) 评论(0) 推荐(0) 编辑

uva_816 Abbott's Revenge(BFS求解最短路、结点状态由坐标和方向表示)

摘要: 有点难以置信,写得最久的一道题竟然一遍AC。 分析: 1. 这是给定起点、终点的图的最短路问题。并且并无特殊之处,首选BFS。 2. 唯一的特殊之处在于图中结点并非简单地由坐标构成,还有方向。因此,结点(或者说状态)为三元组:(r, c, direction); 3. 图主要有两种存储方式:邻接表和 阅读全文

posted @ 2019-02-25 18:26 nbsanshi 阅读(138) 评论(0) 推荐(0) 编辑

2019年2月21日

uva1103_Ancient Messages(找一幅图中有多少洞)

摘要: 输入:01矩阵,带有多个黑连通块。 输出:分别输出各个黑连通块内的白洞个数。 分析:突破点在于区分开洞内0和洞外0。 方案: 1.填充外围的0,全标记为数字2。 2.对每个黑连通块dfs,在dfs的过程中,如果碰到了0,则以其为出发点用dfs填充一次,全标记为2。遇到0的次数即为此黑连通块内的白洞个 阅读全文

posted @ 2019-02-21 17:44 nbsanshi 阅读(131) 评论(0) 推荐(0) 编辑

UVA - 572_Oil Deposits(FloodFill)

摘要: 要求:计算二维中连通块个数。 收获: 递归框架可以有两种类型: 1. 显式写明递归边界,即递归中的返回条件。 2. 限定进入递归的条件,而省掉返回条件。 阅读全文

posted @ 2019-02-21 11:46 nbsanshi 阅读(100) 评论(0) 推荐(0) 编辑

2019年2月20日

uav_Quadtrees(递归与分治)

摘要: 题目不难,但有一个很大的意外的收获。 问题:当maxn定义为1024 + 10时,会run error,此时把s定义为全局变量时,AC。 结论: 这里1024 + 10本身定义小了,而由于其被定义为全局变量,恰巧对了。编译器下,即便越出了数组本身的界限,但没有非法访问,不会报错,没有任何问题。全局变 阅读全文

posted @ 2019-02-20 17:47 nbsanshi 阅读(99) 评论(0) 推荐(0) 编辑

导航