摘要: SPOJ上的每个题目都做得我泪牛满面。这个题目也是的。题目意思是给你两个分数a/b和c/d,要你求出一个分数p/q,使得a/b1,也就是说c>d,那么就说明p/q=1;否则我们可以把这个不等式式同时取倒数变为 d/c 2 using namespace std; 3 typedef long long ll; 4 5 ll dfs(ll a,ll b,ll c,ll d) 6 { 7 ll k=a/b; 8 a-=b*k,c-=d*k; 9 if (c>d) return 1;10 return dfs( d,c,b,a)*d/c+1;11 }12 13 in... 阅读全文
posted @ 2013-10-03 19:01 092000 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 今天比赛的时候做的一个坑题。深坑啊。题目意思是给你一个有n个数的数字序列。要你判断对于这个序列是都满足任意一个子序列都至少含有一个只出现一次的数字。看完题目后没什么思路,一直以为要用线段树,每次删除一个点,然后更新,后来发现wa了,算法有问题。后来殷犇讲了一种水过去的方法,听完后瞬间就水过了。其实我们可以这样去做,对于数组中的每个数,我们建立一个指针指向这个数字下一次在数组中出现的位置。然后核心的水的地方来了,如果我们已知一个区间中存在某一个数字只出现一次,假设区间为[l,r],这个只出现一次的数字的位置为x,那么我们只要去验证[l,x-1]和[x+1,r]是否分别满足即可。同时为了水得更加有 阅读全文
posted @ 2013-10-03 17:07 092000 阅读(326) 评论(0) 推荐(0) 编辑