
UVa
zfldongcidaci
这个作者很懒,什么都没留下…
展开
-
UVA 12504 - Updating a Dictionary
题目:In this problem, a dictionary is collection of key-value pairs, where keys are lower-case letters, and values are non-negative integers. Given an old dictionary and a new dictionary, find out what转载 2017-03-27 21:59:05 · 236 阅读 · 0 评论 -
Uva 439 - Knight Moves
本题是用bfs实现,模拟马的行走,事实证明深搜的题目是可以用宽搜来做的,而深搜和宽搜的最主要区别就是深搜用栈来实现,而宽搜用队列来实现,然后想象一下栈和队列的调用过程,很简单就可以知道深搜和宽搜的区别。题目链接#include <iostream>#include<queue>#include<algorithm>#include<cstdio>#include<cstdlib>#incl原创 2017-03-30 10:17:46 · 353 阅读 · 0 评论 -
uva712- S-Trees
点击查看题目 简单的二叉树,注意处理输入 代码如下:#include <iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>using namespace std;const int maxn=130;int s[maxn],a[maxn];int main(){ int原创 2017-04-04 19:42:50 · 228 阅读 · 0 评论 -
UVA - 10881-Piotr's Ants (模拟)
Piotr likes playing with ants. He has n of them on a horizontal pole L cm long. Each ant is facing either left or right and walks at a constant speed of 1 cm/s. When two ants bump into each other, t原创 2017-05-06 16:59:40 · 267 阅读 · 0 评论 -
uva116-Unidirectional TSP (动态规划,多段图)
题目:给你一个n*m的数字表格,找到一条从左到右的路径,使得上面的数字和最小(每次可以从(i,j),走到(i,j+1),(i+1,j),(i-1,j)可以越界。)–紫书p270; 分析: 每一列就是一个阶段,每个阶段三种决策:直行、右上、右下。 代码如下:#include <iostream>#include<algorithm>#include<cstring>using namesp原创 2017-06-04 15:26:38 · 459 阅读 · 0 评论 -
uva10305- Ordering Tasks(拓扑排序)
题目大意: 给出n(代表有n个任务),m组二元组u和v,表示u小于v。求一个从大到小排列的数组。 题目链接:(https://vjudge.net/problem/UVA-10305) 分析: 用拓扑排序,拓扑排序的思路简述如下:(一)状态标记:共三种,-1表示访问中,0表示未访问,1表示已访问,由数组vis保存 (二)dfs终止的判别条件:如果存在环,则不存在,退出;反之把当前结点加入拓原创 2017-06-15 08:59:18 · 434 阅读 · 0 评论 -
UVA - 140(Bandwidth )(全排列+暴力)
题意: 给出一个n(n<=8)个节点的图G和一个节点的排列,定义节点i的带宽为相邻接点在排列中的最远距离。 分析:用全排列暴力做,先找出给出的序列中的所有字母,我用的set存贮(可以去掉重复的字母),这就是需要进行全排列的字符串,在每一个排列里找到带宽,然后输出其中的最小值即可。做的时候总感觉没思路,其实就是自己傻,有时候不愿意深入地去想一个题,总是看完这个题感觉不会就去看另一个题,到头来那个题原创 2017-07-25 19:33:41 · 425 阅读 · 0 评论 -
UVA - 1220 ( Party at Hali-Bula)(树形dp—树的最大独立集+判断唯一性)
题意: 公司里有n(n<=200)个人形成一个树状结构, 要求尽量选多的人,但不能同时选择一个人和他的直属上司,文最多能选多少人,以及是否方案唯一。 分析: dp[i]表示以i为根节点的最大独立集大小。 节点i有两种决策:选和不选,如果选i,则不能选i的所有儿子,如果不选i,则问题转化为求出i的所有儿子的dp值之和。 即: dp[i][0]=sum{max(dp[v][0],dp[v][原创 2017-08-17 10:45:27 · 407 阅读 · 0 评论