
UVA
文章平均质量分 63
努力过
喜欢coding
展开
-
N - Network UVALive - 3902 【链式前向星应用】
之前写过这道题目的博客,用c++实现的前向星博客地址~~感觉自己不是很理解vector的存储方式,所以用结构体去存图(没有学过c++,所以不敢轻易用自己不熟悉的东西),结果WA,后来在和大佬的沟通中才知道原来这是用vector去实现的前向星(以存储边的方式存储图),百度找了下链式前向星,自己理解之后,终于把这道题用自己喜欢的方式写过了~~撒花~~#include<stdio.h>#i...原创 2018-05-07 09:57:06 · 177 阅读 · 0 评论 -
uva 3177 A - Beijing Guards 【贪心+二分】
题意:给定n个数,表示每个人想要的礼物种类,相邻的人礼物种类不能有重复的礼物种类,1和n相邻问,最少需要多少种类的礼物才能满足所有人的要求思路:二分构造。自己只想到了偶数的情况下,最少需要的礼物数是相邻值最大的和奇数情况下,分配策略是,编号为偶数的人,尽量取种类编号靠前的数,编号为奇数的人,尽量取种类编号靠后的数。奇数情况我始终想不出来,而lrj的训练指南说:"不难发现,最优的分配策略是...",...原创 2018-05-03 13:11:35 · 165 阅读 · 0 评论 -
uva 11384 C - Help is needed for Dexter【规律】
题意:输入n,表示有1~n个数,任意选定一个数number,则可以将所有大于等于该数的所有数减去number,问最小需要多少步能将所有数减为0.思路:找规律。比如n=5.1,2,3,4,5 都减去3以后为{1,2,0,1,2},这时候就相当于求n=2时的最小步数。即f(5) = f(2) + 1.#include<stdio.h>int dfs(int n){ if(n == ...原创 2018-05-02 20:42:24 · 491 阅读 · 0 评论 -
uva 11464 B - Even Parity 【二进制枚举】
题意:给定一个n*n的矩阵,由0 1组成,每次操作可以将0变成1,问,最少需要多少次操作可以使每个数周围数之和为偶数。思路:枚举第一行可能有的所有情况,再根据每种情况计算出剩下行的排列存入临时数组,每次操作之和就是临时数组和原数组不同的值总和,取所有情况之和中的最小值输出即可。#include<stdio.h>#include<string.h>#include<...原创 2018-05-02 17:41:28 · 215 阅读 · 0 评论 -
uva 11300 B - Spreading the Wealth 【数学思维】
题意:输入n,给定n个人的金币数,问平均分金币移动的最少金币数。思路:设平均金币数为sum,则可以列出以下等式sum = a[1] - x1 + x2sum = a[2]- x2 + x3..........sum = a[n]-xn + x1xi是第i个人的得失金币数,正数表示得到的金币数,负数表示失去的金币数根据上述式子可推得:x2 = x1 - (a[1]-sum)x3 = x1 - {(a...原创 2018-04-25 20:48:34 · 200 阅读 · 0 评论 -
uva 11729 A - Commando War 【基础】
题意:给你n个士兵,每行两个整数,交代任务的时间和完成任务的时间,任务可以同时进行完成,输出最小完成全部任务的时间。思路:按完成任务时间从大到小进行排序,每次总的准备时间+当前交代任务的时间和第一个交代任务时间+完成任务时间比较,取较大值。比赛碰到这种水题,少说得半个小时才能想出来。。。#include<stdio.h>#include<algorithm>#inclu...原创 2018-04-24 15:55:00 · 188 阅读 · 0 评论 -
【算法入门经典】5.2.4映射:map【uva156】
具体注意事项明天早上起来加上,好困啊。。。。#include<iostream>#include<string>#include<cctype>#include<vector>#include<map>#include<algorithm>using namespace std;map<string,int...原创 2018-02-20 23:24:19 · 198 阅读 · 0 评论 -
【算法入门经典】5.2.3集合:set【uva10815】
iterator迭代器是一种检查容器内元素并遍历元素的数据类型sstream包含了三个类:ostringstream,istringstream,stringstream。其中stringstream是字符串流,它将流与存储在内存的string对象绑定下来#include<iostream>#include<string>#include<set> #in...原创 2018-02-20 12:16:50 · 167 阅读 · 0 评论 -
【算法入门经典】5.1.2不定长数组:vector【uva101 模拟】
vector是能够 存放任意数据类型的动态数组,如下:vector<int>pile[maxn]是建立一个vector,int为数组元素数据类型,pile为动态数组名,第一维大小固定,(不超过maxn),但是第二维大小不固定。vector头文件中的vector是不定长数组,可以用clear()清空,risize()改变大小,用push_back()和pop_back()在尾部增加或者删...原创 2018-02-17 22:58:20 · 263 阅读 · 0 评论 -
【算法入门经典】5.2.1排序与检索【uva10474 sort和lower_bound简单应用】
lower_bound的作用是查找“大于或者等于x的第一个位置”,如果所有元素都小于x,则返回last位置,并且last位置是越界的algorithm头文件中的sort可以对任何对象进行排序,不一定是内置类型#include<cstdio>#include<algorithm>using namespace std;const int maxn = 10000;i...原创 2018-02-17 18:09:01 · 206 阅读 · 0 评论 -
A - Prime Ring Problem uva524素数环【dfs】
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=465题意:输入整数n,把1...n的组成环,使得相邻两个整数之和均为素数。输出排列的方案环。思路:先生成一个素数数组,便于之后进行判断。我用的回溯法,有人说用dp哎原创 2017-09-11 22:57:39 · 233 阅读 · 0 评论