ACM技术
边城水手
爱艺术,爱技术,爱医术,更爱生活。
展开
-
pku1061青蛙的约会 解题报告
两只青蛙跳了t 步A的坐标 x+mtB的坐标 y+nt相遇的充要条件: x+mt-y-nt= pL ( p是整数) 即 (n-m)*t+Lp=x-y (L>0)问题转化为:求满足 (m-n)*t+Lp=(y-x) 的最小 t (t>0)即求 一次同余方程 (m-n)*t = (y-x) (mod L) 的最小正整数解 #includelong long mod原创 2010-03-31 08:36:00 · 875 阅读 · 0 评论 -
漂亮的快速排序
void qsort(int *b,int l,int r){ if(l>=r)return; swap(b[l],b[(l+r)/2]); int m=l; for(int i=l+1;i if(b[i] swap(b[l],b[m]); qsort(b,l,m-1); qsort(b,m+1,r);}原创 2010-04-10 20:49:00 · 387 阅读 · 0 评论 -
poj1184 聪明的打字员
注:本解题报告里的有些思路不是由本人想出,是通过百度搜出来的。所以在此膜拜一下做出来的大牛们。(个人认为)这是BFS的进阶题,以前做过的BFS都是按照操作一步步来,最终找出目标状态。这题巧妙的地方在于可以无视一些操作和把操作分类。比如说:光标左移是可以无视的。因为光标移动是连续的,而且开始光标在最左边。也就是说,如果光标在第3个数的话,那么它一定经过0,1,2这几个位置原创 2010-05-23 11:21:00 · 1317 阅读 · 0 评论