
+紫书-基础题
「已注销」
zhangzhang
展开
-
UVA 540 Team Queue(团体队列)
题目链接题意t个团队的人正在排队。 每次新来一个人,如果他有队友在排队,那么这个人会插入到最后一个队友的后面; 如果没有队友在排队,那么他会插入到长队的队尾解决团体队列问题用一个队列all来表示t个队伍组成的队列,元素是队伍编号建立t个队伍内部的队列team[maxn],用来表示团队内部的队列注意当这个人入队时如果他的队伍不在all队列中,要把这个队伍入队(all队列中)注意当一个人离原创 2017-09-09 09:40:42 · 591 阅读 · 0 评论 -
UVA 1595 Symmetry (set)
题目链接题意给出平面上n个点,问是否存在这样的一条竖线,使得所有点左右对称解决根据所有点的横坐标之和求出平均值,即为竖线的水平位置输入的时候把点存在自定义结构体的set中遍历每一个点,看是否能在set中查找到关于竖线对称的点,找不到的话就不存在struct point{ int x,y; point(){} point(int xx,int yy) {原创 2017-09-09 09:05:32 · 312 阅读 · 0 评论 -
UVA 201 Squares(枚举)
题目链接题意给出一个平面,询问可以构成多少个正方形解决注意V的i,j是反的题意要求长度从小到大输出,我们就枚举长度枚举长度之后枚举左上角判断正方形是否存在注意输出格式#include<bits/stdc++.h>using namespace std;int H[10][10],V[10][10];bool judge(int i, int j, int len) //判断以i,原创 2017-09-08 17:03:47 · 303 阅读 · 0 评论 -
UVA 1149 Bin Packing(贪心)
题目链接题意给出n个长度l1 l2 … ln,一个m。 每一个容器长度为m,可以放一个或者两个元素(两者长度之和<=m),询问为了装下这n个元素需要多少个容器(最少)解决思路是排序后从小到大开始选,那一个大的之后看能不能再拿一个最小的,如果能拿最小的就等价于这两个能放在同一个容器中,如果不能拿就说明最大的这个只能单独占据一个容器。 1. 从小到大排序 2. 从大的开始选,每次让ans+1,能选原创 2017-09-08 16:30:58 · 344 阅读 · 0 评论 -
UVA 1339 Ancient Cipher(映射 | 想法)
UVA 1339 Ancient Cipher题意给出两个字符串,可以重新排列可以自由映射,把其中的一个字符映射到另一个字符。询问是否存在一种一一映射方式,使得原来的字符串可以映射到目标字符串解决由于可以重新排列,所以字符的位置不重要(这点以后会游泳,记住) 由于本题中的映射只能一对一,所以要求如果我们记录下26个字符每个字符出现的次数,并对字符出现的次数进行排序,str1(原串)里一个字符出现原创 2017-09-05 17:09:18 · 239 阅读 · 0 评论 -
UVA 514 Rails(模拟|栈)
题目链接题意n个火车进站,给出一个给定的n个火车的出站顺序,问是否可行解决栈模拟,主要分三种情况 1. 一进栈就直接出栈 2. 目标编号和栈顶元素相同,栈顶元素出栈#include<bits/stdc++.h>using namespace std;int main(){ int num[1005]; while(1) { int n;原创 2017-08-30 11:22:38 · 301 阅读 · 0 评论