- 博客(81)
- 收藏
- 关注
原创 7-22 周报
忙碌了一周,现在总结算是亡羊补牢吧.1,日期装换: String date = new SimpleDateFormat("yyyy/MM/dd HH:mm") .format(new Date(file4.lastModified())); 2,每隔一段时间刷新页面: 原理:利用timeTask 设定任务内容,使用tim
2013-07-22 09:27:26
453
原创 等待消失的任务
protected void waitForHideOsd() { final Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 0x4c: showNoOsdView(); break; }
2013-07-16 17:19:14
428
原创 hdu1175 连连看
题意:找到两个相同的数字 拐弯个数不能超过2 还有一些限制条件在这里就不在赘述了思路: 开始我用DFS 结果超时 下次想问题时一定要确定用什么方法去解决问题 总体方针没有正确后面再好也会错 用BFS找 过程中要注意用visited[][]标记每个点的拐弯数 如果遍历到它时 本身拐弯数小于等于该点的 则可以遍历该 点;其他方法都比较基本不在赘述
2010-08-29 15:40:00
2060
原创 pku1166
<br />高斯消去法的典型应用<br />题意:<br />输入提供9个钟表的位置(钟表的位置只能是0点、3点、6点、9点,分别用0、1、2、3)表示。而题目又提供了9的步骤表示可以用来调正钟的位置,例如1 ABDE表示此步可以在第一、二、四、五个钟调正,如原来是0点,那么调正后为3点。问经过那些步骤可以导致9个钟的位置都在0点。<br />算法:<br />如果数学敏感度不强的话,那么此题很容易陷入bfs算法来做,时间复杂度就很大了。其实我们可以仔细观察题意的要求:<br />Move Affect
2010-08-26 16:48:00
411
原创 pku2676sudoku
题意: 行列 小格子必须1--9齐全 思路: 用三个状态 H[10][10]; L[10][10]; cell[10][10]记录每个元素的使用情况 用下标标记法 然后用dfs 遍历每一行 一列对于每个元素1--9都试一遍 如果不行 或者没有说明上一个元素位子不对 return ; 回溯 如果j>=9 进入下一行0列 dfs(i+1,0)
2010-08-26 11:39:00
328
原创 fzu1408位图
遍历每一个1 以1为中心遍历所有0 得到最小距离存的dis[][] 但是上面代码bfs 里边死循环这个题目非常郁闷 开始我就想到了 从1为起点 全部入队列 1只遍历一遍后赋值-1 全部都取到最小值后就没得数字入队列了
2010-08-25 17:08:00
422
原创 hdu1728 逃离迷宫
<br />#include<iostream>#include<queue>using namespace std;char map[110][110];int visited[110][110];typedef struct s_e{ int x,y,dir,num;};int m,n,k;s_e start,end,now;queue<s_e>q;int d[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int BFS()
2010-08-25 10:08:00
679
原创 hdu1728逃离迷宫
<br />#include<iostream>#include<queue>using namespace std;char map[110][110];int visited[110][110];typedef struct s_e{ int x,y,dir,num;};int m,n,k;s_e start,end,now;queue<s_e>q;int d[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int BFS()
2010-08-24 18:07:00
332
原创 hdu2955robberies一维数组
题目大意:有一个小偷要偷银行的钱,可是他偷没家银行总是有一定的概率被抓,现在给了你一个概率P,只要他被抓的概率乘积不大与P,他就是安全的。问你在他安全的情况下,他最多可以偷多少钱。 解题思路:容量为银行钱的总和,价值就是偷到的钱,花费就是被抓的概率。 dp[j] = Max(dp[j],dp[j-w[i]]*(1-p[i])) dp[j]表示偷到j钱时,他不被抓的概率是多少
2010-08-22 11:15:00
358
原创 hdu1864最大报销 dfs
void DFS(double sum,int k){ if(ans==Q) return ;// if(sum==Q) return ; if(sumans) ans=sum; for(int i=k;i
2010-08-21 17:21:00
378
原创 poj1661非常变态的题目 i 写成了k
#include #include #define N 1000#define INFINITE 1000000using namespace std;struct DATA{ int lx, rx, h;}data[N+10];int anltime[N+10], anrtime[N+10];int n, MAX;bool cmp(DATA a, DATA b){ if (a.h > b.h) return 1;
2010-08-21 11:44:00
514
1
原创 hdu1231 最大子序列
思路: 如果是负数只会越加越小 出现一个正数马上begin end都指向它以上是我初次看到这个题目忧虑的地方 现在恍然大悟了
2010-08-19 23:51:00
325
原创 hdu2571命运
<br />#include<iostream>#include<algorithm>using namespace std;int a[25][1010];int max(int x,int y){ return x>y? x:y;}int main(){ int c,i,j,k,n,m,temp; cin>>c; while(c--) { cin>>n>>m; memset(a,
2010-08-19 17:23:00
1302
原创 Hdu1176免费馅饼,是一道典型的“数塔问题”。
<br />(一)问题要求:<br />(1)从位置5开始走。<br /> (2)第0和第10个位置只有两个方向可以走,除此之外,第x个位置每次只有三个方向可以走。<br /> (3) 问题要找到一条路径使得馅饼总数目最大。<br />(二)问题描述:<br />根据(一)(2)中的描述,可以联系“数塔问题”的求解方法。“从底到上”求出所有子问题的解,并改变原来数组。<br />数据类型的选择:f[t][x]--表示第t(0<t<100000)秒在第x(0<=x<=10)个位置掉下的馅饼数目。//f[0
2010-08-19 17:10:00
437
原创 pku1006
<br />#include<iostream>using namespace std;int main(){ int p,e,i,d,k=1; while(cin>>p>>e>>i>>d&&p!=-1) { int ans=(p*5544 +e*14421 +i*1288 )%(21252)-d; if(ans<=0) ans+=21252; printf("Case %d: the next triple peak oc
2010-08-15 12:00:00
407
原创 pku1061青蛙的约会
题意: 两只青蛙在圆上往相同的方向跳 跳到同一点上才见面求此时青蛙最少跳的次数 题目给出了 青蛙在圆形数轴上的位子 x y 和 它们各自一跳的距离 m n 和L 圆周长。思路: 假设青蛙跳t次相遇 则满足等式 (x+mt)%L=(y+mt)%L 变形得到 (n-m)t%L=(x-y)%L --->at%L=b%L--->at=b(mod L) 然后根据公式计算就行了。
2010-08-14 11:22:00
308
原创 pku1850 code
题意: a--z代表1--26 ab--az代表27--51降序排列 输入一个字符串 输出它的次序思路: 用组合的观点解决例如 bf 先求出一位数有多少个(C(26,1)) 在求它在同类位数中的次序 详细见草稿
2010-08-13 17:44:00
296
原创 pku3270 cowsorting
题意: 将所有高矮不齐的牛按升序排列思路:没头牛都与其因该放的位子上的牛存在一个群关系 拿群中最小的去和群中的牛换是很节省代价的选择 (min在该群中) 如果min不在该群中就要把min与群中最小的掉换 换好后在与以前群中最小的换回来
2010-08-12 18:04:00
334
原创 pku1664放苹果
题意: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
2010-08-09 17:11:00
320
原创 pku1942
题意:一个n*m的网格从左下角到右上角右多少种走法解法:用排列组合解题 一共要走n*m步才能到终点 其中横要走n步 故ans=C(n+m,n
2010-08-09 11:09:00
232
原创 pku2002
题意: 在一些点中 找出有多少个正方形。知识点: 二分查找 SORT排序 结构体内部排序 遍历正方形四个点的技巧。思路: 将所有点按照 x 从小到大 后 y 从小到大 排序 通过其中两个点计算另外两个点确实是否存在该正方形。
2010-08-08 11:50:00
242
原创 pku2318 自己想的 超时
题意: 给你一些用线隔开的长方形箱子 然后一些点 判断每个箱子里有多少个点(toy)思路:把点与最左下角的点连起来 遍历所有线 最后跟它相交的 就是该点的所在箱子
2010-08-05 23:45:00
299
原创 pku2079wa
<br />题意:在一些点中找出面积最大的三角形<br />思路:求出凸包 在凸包中遍历所有三角形找不最大的#include<iostream>#include<stdio.h>#include<cmath>#include<algorithm>#define MAX 50010usingnamespace std;typedefstructpoint{double x,y;};point p[MAX],pnt[MAX],res[MAX];boolmulti(point p1,point p2,poin
2010-08-05 23:42:00
250
原创 三角函数
同角三角函数的基本关系式倒数关系:商的关系:平方关系:tanα ·cotα=1<br />sinα ·cscα=1<br />cosα ·secα=1sinα/cosα=tanα=secα/cscα<br />cosα/sinα=cotα=cscα/secαsin2α+cos2α=1<br />1+tan2α=sec2α<br />1+cot2α=csc2α 诱导公式sin(-α)=-sinα<br />cos(-α)=cosαtan(-α)=-tanα<br />cot(-α)=-cotα <br />
2010-08-05 15:51:00
307
原创 pku1675分樱桃(有bug)
<br />这个题目能AC的做法很简单就是 给你一个蛋糕要分成相等的3快 每块要求有一个樱桃<br />思路: 求出两两之间的夹角 对夹角处理(很有必要) 如果有樱桃在蛋糕中央就直接NO 没的话 如果最大的那个夹角大于120度就YES了<br />#include<iostream>#include<stdio.h>#include<cmath>#define q 2*3.141592653589793/3using namespace std;/*double angle(double
2010-08-04 22:44:00
331
原创 pku1899几何综合题
<br />题意:求出刚好装N个可以相互覆盖的圆形的长方形 然后用给定的够大的长方形减去它 得到 ans 整个题目用到了几何方面的知识 belong()函数就是很好的例子 而DFS()需要非常好的递归思想<br />#include<iostream>#define MAX 105using namespace std;typedef struct point{ int x1,y1,x2,y2;};point p[MAX];int used[MAX];int n;
2010-08-04 21:51:00
214
原创 pku1927没ac
<br />题目的大意是给你一段绳子,然后将其拉伸,问你它所能包围三角形的最大面积,这样就有三种情况,1绳子形成的圆在三角形中,那么最大为内切圆,2绳子形成的圆包围三角形,那么最大为三角形,3最麻烦,圆与三角形相交,听师兄讲,在这种情况下当其最优时,被绳子分割出来的三个小三角形又可以组成一个新三角形,且绳子形成的那三段圆弧刚好为小三角形的内切圆。<br />#include<cstring><br />#include<cmath><br />#include<iostream><br />#include
2010-08-03 16:25:00
308
原创 pku1118水pku3512
<br />#include<iostream>#include<algorithm>#define MAX 710using namespace std;typedef struct point{ int x,y;};point L[MAX];double xie[MAX];int main(){ int n,i,j,k; while(cin>>n&&n) { int max=0; for(i=0;i<n;
2010-08-02 17:24:00
297
原创 pku3512直线斜率排序
<br /> #include<iostream>#include<algorithm>#include<stdio.h>#include<string>#define MAX 1010using namespace std;typedef struct point{ int x,y;}point;point L[MAX];double k[MAX];char str[MAX];int main(){ int key=0,e=0,i,
2010-08-02 17:02:00
388
原创 pku1066线段相交
multi(s2,e1,s1)*multi(e1,e2,s1)>=0&& multi(s1,e2,s2)*multi(e2,e1,s2)>=0;//加了等号就包括 端点相交
2010-07-30 18:09:00
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人