UVa
文章平均质量分 61
小白vc
入门级菜鸟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVa 10020 - Minimal coverage
题意是:输入几个样例,每个样例第一行输入从0开始需要覆盖的长度M,即[0,M]。之后输入覆盖的线段,求需要的线段条数最小值。思路:贪心算法,具体见代码及注释。#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;#def原创 2016-04-05 22:53:41 · 264 阅读 · 0 评论 -
UVa 10452 - Marcus
1 #include 2 #define EOF (-1) 3 4 using namespace std; 5 6 char Path[12][100]; 7 int Step[7]={0};//记录走过的足迹 8 char example[8] = {'@','I','E','H','O','V','A','#'}; 9 10 void Dfs(int原创 2016-04-05 18:58:42 · 418 阅读 · 0 评论 -
UVa144 Student Grants
问题描述:每年学校通过自动发款机为每个学生发放40元的补助。补助的发放过程由两个部分构成:一个是自动发款机的工作过程,二是学生取款的过程。 自动发款机的工作过程是:发款机分为后台部分和前台部分。后台部分存有大量的1元的硬币。工作开始时后台先向前台传送1枚硬币,当硬币被分发给学生后,后台再向前台同时传送2枚硬币,硬币同时被分发后,后台再向前台同时传送3枚.....这样直到后台向前台传送的金额数原创 2016-04-05 18:58:47 · 370 阅读 · 0 评论 -
Uva 439 Knight Moves
1 #include 2 #include 3 #include 4 using namespace std; 5 6 int IsVis[9][9];//记录位置是否被访问 7 int StaX,StaY,EndX,EndY; 8 char Start[3],End[3]; //起始及结束位置 9 typedef struct node10 {11原创 2016-04-05 18:58:38 · 299 阅读 · 0 评论 -
UVa 352 The Seasonal War
bfs的题目。#include <iostream>#include <cstring>#include <queue>using namespace std;int IsVis[26][26];//记录位置是否被访问char Eagles[26][26];typedef struct node{ int x,y;}War;int Move[8][2]={-1,0, 0,1,原创 2016-04-14 10:23:22 · 610 阅读 · 0 评论 -
UVa 10902 Pick-up Sticks
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <vector>using namespace std;#define MAXN 100002struct point { double x,y; point (double x = 0 ,double y =原创 2016-04-05 23:01:44 · 656 阅读 · 0 评论 -
UVa 10440 - Ferry Loading II
问题:一个渡口,有一艘渡船,运汽车到对面,一次能运n辆车,到达对面要t分钟,返回要t分钟,一共来m辆车。给出m个数据,是到达渡口的时间。求最短把全部汽车运到对面的最短时间是多少,次数是多少(时间从0算)。思路:贪心。考虑三种情况(也可以说是两种)一:n>m.最短时间为最后一辆车到达渡口的时间+t,次数为1;二:n三:n详细思路代码:#include #i原创 2016-04-05 19:00:20 · 678 阅读 · 0 评论 -
UVA 10954 - Add All
http://uva.onlinejudge.org/external/109/10954.html题意:输入一串数据,拿出两个相加,把和放回去,再拿出两个相加,把和放回去……依次循环,最后找出最小的和。思路:使用优先队列+贪心,队列按从小到大排列,每次选出队首最小的2个数据,计算之后把和再放回队列。也就是哈夫曼编码算法。Using a Priority Queue, you原创 2016-04-05 19:00:22 · 304 阅读 · 0 评论 -
UVa 10020 - Minimal coverage
题意是:输入几个样例,每个样例第一行输入从0开始需要覆盖的长度M,即[0,M]。之后输入覆盖的线段,求需要的线段条数最小值。 思路:贪心算法,具体见代码及注释。#include #include #include #include #include using namespace std;#define MAXN 100001/*将输入数据进行处原创 2016-04-05 19:00:25 · 346 阅读 · 0 评论 -
UVA 10602 - Editor Nottoobad
题意: 有一个产品,可以执行press,repeat,deleltsymbol,给出一串字符,求生成这串字符所用的press功能的最小次数。思路: 贪心。 所求数目字符串不同字符的总数,所求输出字符是输入字符按字典序排序输出代码:#include #include #include #include #include string>#include原创 2016-04-05 19:00:27 · 367 阅读 · 0 评论 -
UVa 10026 - Shoemaker's Problem
题目链接:http://uva.onlinejudge.org/external/100/10026.html题意:一个鞋匠,必须要完成一系列工作N ,不完成每天需要罚款 。求全部完成,最少的罚款。 思路:贪心。分析:先拿出来两个工作i,j进行比较,先做第i个,和先做第j的顺序,并不影响i,j之后的工作花费的时间和得到的罚款,所以问题分解为每两个工作比较。那么既然比较,就原创 2016-04-05 19:00:30 · 367 阅读 · 0 评论 -
UVa 120 - Stacks of Flapjacks
题意:给一摞随意摞的煎饼,要按直径从上到下递增的顺序排列,求翻的顺序。思路:贪心。1,读取煎饼数据,新建一个数组,复制数据,排序,作为参考。2,从最大直径(maxNum)的煎饼开始,看其是否在底层,是的话就寻找上一层最大的。3,假如不在底层,看其在不在顶层,在顶层就把全部煎饼翻过来,使当前需要操作的最大的直径煎饼放在最下。4,假如不在底层也不在顶层,就找到它,先翻到顶层,然后步原创 2016-04-05 19:00:32 · 409 阅读 · 0 评论 -
UVa 11369 - Shopaholic
题意:又到了剁手的季节,购物狂们开始行动,超市也开始行动,规定是:每买三件,可以省去1件最便宜的价格。给出买的商品数,和每个商品的价值,求出购物狂一共赚了多少钱,呵呵。 思路:把数据从大到小排序,把3的倍数的商品价值相加,就是答案。实现:重写C++STL里的sort()函数的比较函数 bool compare();代码: 1 #include 2 #inc原创 2016-04-05 19:00:35 · 471 阅读 · 0 评论 -
UVa 10714 - Ants
1 #include 2 #include 3 #include 4 using namespace std; 5 6 /*题意:求所有蚂蚁走下长杆的最长时间和最短时间*/ 7 8 /*最短时间:先求出每个蚂蚁走下杆的最短时间。然后求出最短时间的最大值 9 最长时间:先求每个蚂蚁走下杆的最长时间。然后求出最长时间的最大值*/10 11 int ma原创 2016-04-05 19:00:39 · 283 阅读 · 0 评论 -
UVa 10148 - Advertisement
题意: 在一个街道上有很多广告位,现在一家公司需要投放广告,要针对具体情况投放。给定一个K值,假如慢跑者经历K以上个路段,至少要看到K个广告位,经历少于等于K个,则需要让慢跑者看到全部广告位,求投放的最少的广告位。思路:贪心+排序 对于慢跑者经历的路段区间,按区间右端点升序排序,从区间最右端向左遍历每一个慢跑者的区间,对需要设置的广告位进行标记,最后输出标记的点。 注意:输入原创 2016-04-05 19:00:44 · 370 阅读 · 0 评论 -
UVa 191
1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 struct point{ 7 int x,y; 8 point(int x = 0,int y = 0){ 9 this->x = x; 10 this原创 2016-04-05 19:02:02 · 420 阅读 · 0 评论 -
UVa 11343
#include #include #include #include #include using namespace std;struct point { int x,y; point (int x = 0 ,int y = 0){ this->x = x; this->y = y; }};str原创 2016-04-05 19:02:05 · 487 阅读 · 0 评论 -
UVa 378 - Intersecting Lines
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;struct point{ int x,y; point(int x = 0,int y = 0){ this->x = x; this->y = y;原创 2016-04-05 23:00:14 · 401 阅读 · 0 评论 -
UVa 562 - Dividing coins
题意:若干硬币,分成两份,使其绝对值之差尽量小。思路:算出硬币总和,然后把硬币总和的一半设为背包容量,背包能拿到的最大价值即是2个人中其中一个所得到。然后用01背包的思路。#include #include #include using namespace std;int Max(int a,int b){ if(a > b)return a;原创 2016-04-05 19:00:11 · 287 阅读 · 0 评论
分享