- 博客(14)
- 收藏
- 关注
原创 CDOJ--卿学姐与基本法(线段树+离散化+区间查询)
原题链接:http://www.acm.uestc.edu.cn/#/contest/show/95思路:看了题目自然想到使用线段树进行区间查询,但是无奈N过大(1e8),普通写法必然爆内存,所以就要进行离散化处理。在读入操作区间时,将所有点进行存储,排序去重后用map做一个映射,这样就可以转化为一个较小范围的区间了(例如N = 1e8,存在两个操作:1 10 20, 2 15 20; 经
2016-04-23 21:34:03 899 1
原创 两亲性分子(Amphiphilic Carbon Molecules,Uva 1606)
原题链接分析:假设隔板一定经过两点,则可以根据两点的枚举进行统计。首先可以枚举一个基准点,再根据枚举的另一个点进行隔板的枚举对点数进行统计。在进行枚举之前算出其余点基于基准点的极角进行升序排列,之后再进行枚举统计。#include#include#include#include#include#include#include#include#include#include
2016-01-06 20:18:22 650
原创 煎饼(Stacks of Flapjacks,UVa 120)
原题链接原文链接分析:思路很简单,设目前查找位置为k,设(k+1--n)已满足题意,那么在1--k中寻找最大的元素并记录其位置为i,则有三种情况:1):若i==k,继续判断位置k-1。2):若i==1,翻转1--k,继续判断位置k-1;3):翻转1--i,使位置1为最大元素,执行 2)。自己写了程序,但一直WA,参考了网上的代码,(⊙v⊙)嗯。。。。。还是太菜了~~~~(>
2015-11-26 20:46:34 526
原创 倒水问题(Fill,UVa 10603)
原题链接分析:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;#define MAX 205//struct Node { int v[
2015-11-19 17:04:48 689
原创 给任务排序(Ordering Tasks,UVa 10305)
原题链接分析:拓扑排序#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;#define MAX 105int G[MAX][MAX];int vis[MA
2015-11-18 21:13:11 615
原创 天平难题(Mobile Computing,UVa 1354)
原题链接分析:思路十分巧妙,将挂坠和木棍都作为结点,则一个天平对应一个二叉树;之后通过之前学过的二进制法枚举子集的形式对子树集进行枚举,最后选取最优解即可!#include#include#include#include#include#include#include#include#include#include#includeusing namespace std
2015-11-18 18:32:34 500
原创 带宽(Bandwidth,UVa 140)
原题链接分析:简单DFS,根据关系图搜索满足题意的解,当遇到带宽大于已知最优解时进行回溯。PS:开始做题时想当然地把关系数组c声明为c[27][27],WA了两次,真是教训啊。。。。#include#include#include#include#include#include#include#include#include#include#includeusin
2015-11-16 23:45:09 488
原创 困难的串(Krypton Factor,UVa 129)
原题链接分析:经典回溯,每当插入第i个字符(前i-1个符合要求)时对此串进行条件判断,若满足继续深搜,反之回溯,直至满足条件解。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAX
2015-11-16 17:09:30 533
原创 分数拆分(Fractions Again?1,UVa 10976)
题意:输入正整数k,找到所有的正整数x >= y,使得 1/k = 1/x + 1/y。分析:由已知关系x >= y -> 1/x 即y #include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAX
2015-11-08 17:04:49 355
原创 最大乘积(Maximum Product,UVA 11059)
题意:输入n个元素组成的序列S,你需要找出一个成绩最大的连续子序列。如果这个最大的乘积不是正数,应输出0(表示无解)。1 分析:由于n的取值很小,直接枚举子序列起始位置和终止位置,取最大值即可。PS: ans设置为long long ,然后printf里的转义字符是%d,WA了两次。。。。。。教训啊!!!!!!!#include#include#include#inclu
2015-11-08 16:28:26 371
原创 除法(Division,UVa 725)
题意:输入正整数n,按从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a-j敲好位数字0-9的全排列(可以有前导0),2 思路:枚举abcde,由n算出fghij,进而判断是否满足题意即可。#include#include#include#include#include#include#include#include#include#incl
2015-11-08 15:41:19 363
原创 HDU 1175(连连看)
Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将
2015-11-07 19:49:54 371
原创 理想路径(Ideal Path,UVa 1599)
题意:给一个n个点m条边(2 分析:两次BFS,第一次从结点n逆向BFS,得到每个节点i到结点n的最短距离step[i],之后再从结点1正向BFS,每次到达一个新节点时保证step的值恰好减少1,如果有多种走法,则选择颜色字典序最小的走;若存在多条相同边,则一同压入队列进行判断,直至到结点n。PS: 邻接表真的是个好东西啊参考代码#include#include#i
2015-11-03 22:46:32 798
原创 自组合(Self-Assembly,UVa 1572)
题意:存在n种边上带标号的正方形,每条边的标号要么为一个大写字母和一个加号或减号(相同字母符号相反可以匹配),要么为00(无法匹配),每种正方形不限制数量,而且可以旋转或者翻转,求这些正方形能否无限地组合下去。分析:由于正方形数目不限,可以将正方形边上的符号看为点,正方形看做边,则可以根据正方形的边符号与符号的匹配规则构成一个有向图。则当且仅当途中存在有向环时有解。只需做一次拓扑排序即
2015-11-01 18:15:45 893
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人