大白书上的393页。
一直在原数组上乱搞。其实要用另外一个数组记录块。
原数组是不能变的。
注意好原数组和块数组的关系,细心一点处理边界。还是不难的。
#include
#include
#include
#include
#define maxn 300005
#define SIZE 600
using namespace std;
int a[maxn];
...
分类:
其他好文 时间:
2014-07-08 21:28:22
阅读次数:
202
题目链接:uva 10555 - Dead Fraction
题目大意:给出一个小数,从...开始可以是任何数字,但是保证是无限循环小数,将该小数用分式的形式表示,并且要求分母尽量大。
解题思路:这题主要是怎么将无限循环小数转换成分式,这样的:
有小数0.abcdEEE,未循环部分长4,循环节为E,E的长度为i(假设)abcd+E999…(i位9)10i
#include
#...
分类:
其他好文 时间:
2014-07-08 21:00:18
阅读次数:
146
题意:简单说就是将第i个簇号放回i,求最少的步数
思路:只处理链形,和环形的情况,其他的可以不管,对于链形来说,只要倒置就行了,环形的找一个空闲的放一个,然后就是链形的情况了
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 10005;
int culsters[M...
分类:
其他好文 时间:
2014-07-08 20:47:19
阅读次数:
228
题意:首先给你空闲的位置,可以跳过几个来吃掉几个,求最短的吃完所有的,且最后一个回到开始指定的位置
思路:BFS+HASH判重,对于每个位置有六个方向,当然有的是不能走的,加上map的判重就可以了
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN =...
分类:
其他好文 时间:
2014-07-08 19:29:38
阅读次数:
246
题意:给你正视和侧视图,求最多多少个,最少多少个
思路:贪心的思想,求最少的时候:因为可以想象着移动,所以我们统计每个视图不同高度的个数,然后计算,至于的话,就是每次拿正视图的高度去匹配侧视求最大
#include
#include
#include
#include
using namespace std;
const int MAXN = 1000;
int k;
int vie...
分类:
其他好文 时间:
2014-07-08 17:30:56
阅读次数:
149
本题要求输出全部拓扑排序的序列。
还好本题的数据量不是很大,限制在26个大写英文字母,故此可以使用递归法输出。
这个递归输出全部解在Leetcode很多这样的题目的,不小心的话,还是很难调试的。
总体考了递归和拓扑排序,还有判断是否可以拓扑排序-就是是否图有环。
考了三大知识点,难度还是有的。因为数据量不大,故此判断环可以使用一般递归方法,递归只需要注意细节就好了。
#incl...
分类:
其他好文 时间:
2014-07-08 15:35:30
阅读次数:
141
UVA 10627 - Infinite Race
题目链接
题意:一段跑道,A,B分别在两端,速度为u,v,两个人跑到另一端马上回头,回头时间不计,问经过单位时间t,两人相遇几次
思路:追及相遇问题,这样计算:
1、迎面相遇次数:第N次迎面相遇,路程和 = 全程*(2N-1)
ans+=((u+v)t+l)/(2l)
2、追及相遇次数:第N次追上相遇,路程差 = 全程*(...
分类:
其他好文 时间:
2014-07-08 14:43:28
阅读次数:
158
题目链接:uva 10831 - Gerg's
Cake
题目大意:给定a和p,p为素数,问说是否存在x,使得x2≡a%p
解题思路:勒让德记号,判断ap?12≡1%p
#include
#include
#include
using namespace std;
typedef long long ll;
ll pow_mod (ll a, ll n, ll mod)...
分类:
其他好文 时间:
2014-07-08 13:48:57
阅读次数:
146
题目:有一场婚礼,有n对夫妇参加,他们之间有些人之间有奸情(可能同性),在场的人中有一个公主,
她清楚其他人的人际关系,问能否安排座位使得两边都是n个人,且公主看不见有奸情的人同时在的对面。
分析:2-SAT。直接按照看的流程敲的程序。
1.建图,矛盾的点建立对应的边(与一直关系相反);
2.利用Tarjan算法计算...
分类:
其他好文 时间:
2014-07-08 12:52:46
阅读次数:
420
Topological Sort题解。本题是简单的入门题目。
Topological Sort的思想很简单,就是按没有入度的点,先输出,然后删除这个点的出度。然后输出下一组没有入度的点。
如何实现也是很简单的:
这里使用邻接表,建图的时候反过来建图,建立一个入度邻接表。
然后使用一个vis数组,记录访问过的节点,也可以根据这个信息知道哪些是已经输出的点,这个时候这些点的入度可以不算为当前入...
分类:
其他好文 时间:
2014-07-08 12:46:41
阅读次数:
282