- 博客(49)
- 收藏
- 关注
原创 PAT1104-1107解题报告及其代码
PAT1104: Sum of Number Segments 简单的找规律题目,多写几次就能找到规律。。 #include #include using namespace std; int main(){ int n; double a,sum = 0; vector res; cin>>n; for(int i = 0;i<n;++i){ cin>>a; res.pu
2015-12-14 19:59:28 1348
原创 二叉树的操作总结
最近做PAT总是涉及二叉树的操作问题,现在来总结一下。。 #include #include #include using namespace std; typedef struct tree{ struct tree *l,*r; int data; }tree; int pre[105],in[105]; tree* build(int *a,int *b,int c){
2015-11-03 23:16:50 537
原创 PAT1020 Tree Traversals
说实话,最近一段时间自己没怎么好好写PAT了,一直被这道题卡着,但是也没怎么好好去想,一直在考虑考研的事情,做了很多了解,发现浙大的研究生貌似不是我想要的那种生活,看起来清华的比较合我意。。。。但是好像有点痴人说梦似的,清华或者浙大说得好像是我想考哪所就是哪所一样的。。。还是要好好准备才行。 这道题其实很简单,题目的意思就是根据二叉树的后序和中序来写出二叉树的层次遍历,自己都不知道当年数据结构在
2015-11-01 23:41:42 520
原创 PAT1030 Travel Plan
依旧是一道简单的DFS求最短路径的联系。PAT1018也是用这种思路去写的,但是不知道为什么至今未A。。。最近在考虑什么时候去考PAT,好像该给自己一点压力,原本的计划是去考明年三月的那次,但是现在的进度貌似太慢了,在考虑要不要去试试十二月的这次。。。。 #include #include #define MAX 999 struct node{ int mDis,mCost,mPa
2015-10-21 07:38:46 443
原创 PAT 1003 Emergency (25)
写了一段时间的HDU上的搜索,现在回来写这道PAT上的,顿时觉得PAT上的难度确实是要小一些的,但是这里暴露了自己的问题,以前都不怎么用宏定义,在这里心血来潮用了一次,一直报错但是一直没找到问题,这里要提醒自己,宏定义常量的时候后面不要加; #include #include #define MAX1 999 int start,ends,n,m,visit[505],map[505]
2015-10-19 07:35:18 490
原创 Android中Fragment的简单应用
这个学期的短学期要求我们在移动平台上进行开发,虽然自己断断续续已经写了大半年的Android了,但是暑假的时候一直在刷PAT,开学了之后也在写HDUOJ,eclipse也好久没打开过了,现在趁这个机会重新捡起Android。 这是第二个小作业,要求我们使用Fragment,我还一直没接触过这个,所以借鉴着网上大牛们的介绍写了一个小DEMO。
2015-09-11 12:48:32 462
原创 HDU1584 蜘蛛牌(DFS)
简单的DFS,也没什么可以剪枝的,就直接按照模板写就行了 #include #include #include using namespace std; int visit[11],s[11],flg,x,t; void dfs(int count,int sum){ if(sum >= flg) return ; if(count == 9){ flg = sum; retur
2015-09-11 10:56:51 465
原创 HDU1728 逃离迷宫(BFS)
迷宫题,典型的BFS,至于方向的判断,是一直沿一个方向搜索,特别坑的是把xy输入反一下,检查了好久。。。 #include #include #include using namespace std; int dir[4][2] = {1,0,-1,0,0,1,0,-1}; int n,m,map[101][101],x1,x2,yy1,y2,k; char str[101][101]; s
2015-09-11 10:55:26 419
原创 HDU2717 Catch That Cow(BFS)
BFS的水题,完完全全的模板题,但是一直在思考BFS的剪枝问题,像这道题好像想不到什么能剪枝的地方了。。 #include #include #include using namespace std; int visit[1000000],n,m; struct node{ int x,s; }p,q; int bfs(int x){ queue Q; p.x = x; p.s =
2015-09-09 08:08:52 407
原创 HDU1372 Knight Moves(BFS)
做的第一道BFS,和DFS差不多,是有差不多的模板的,基本上每道题的写法都差不多,有时间的话会在博客里写一些模板的东西 #include #include #include using namespace std; int dir[8][2] = {-2,1,-1,2,1,2,2,1,2,-1,1,-2,-1,-2,-2,-1}; int map[10][10],a,b; char str1[
2015-09-07 09:33:09 425
原创 HDU1045 Fire Net(DFS)
这题让我想起了之前做的八皇后,但是这里还需要判断是否有墙。 #include #include int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; char str[5][5]; int map[5][5],count,n,t; struct node{ int x,y; }s[17]; int judge(int q){ int flag =
2015-09-05 23:33:33 472
原创 HDU1253 胜利大逃亡(DFS)
这道题貌似大家都是用BFS写的,因为最近在练习DFS,所以就用DFS写了,虽然自己觉得已经剪枝了,但是貌似效果不是很好,还是有1000+ms,以后会用BFS再写一次的 #include #include int dir[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}}; int a,b,c,flag,map[51][51][5
2015-09-05 19:56:49 974 1
原创 HDU1181 变形课(DFS)
字符串头尾的搜索。。依旧是简单的DFS,但是觉得输入的方式很特别,用0来判断输入的结束,这点是参考网上的代码的#include #include char s[100]; int i = 0,flag = 0,visit[10000]; struct node { char start,end; } str[10000]; void dfs(char ch) { if(ch =
2015-09-04 12:09:35 534
原创 HDU1175 连连看(DFS)
简单的DFS,单方向搜索,换方向时次数加一。 #include #include"string.h" using namespace std; int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; int n,m,num[1001][1001],flag[1001][1001],x1,x2,yy1,y2,solve,t; void dfs(int x,int
2015-09-04 11:25:59 441
原创 HDU1258 Sum It Up(DFS)
DFS的练习,当数字大于和时进行剪枝。这题的关键在于过滤掉之前DFS过的值,这里采用的是记录上一个阶段使用的值,并与当前的值进行比较,不相等才能进行DFS #include using namespace std; int num[20],s[20],n,m,flag; void dfs(int x,int cnt,int z){ int d; if(z > n) return
2015-09-03 08:35:23 428
原创 HDU2553 N皇后问题(回溯)
具体怎么做的,还不是很清楚,大致就是遇到不符合的返回到上一个符合条件的时候,还有,要进行预处理,不然会TLE #include using namespace std; int n,num[11],flag[11],d,sum; void dfs(int x){ if(x == n) sum++; else{ for(int i = 0;i<n;i++){ d = 1;
2015-09-02 10:26:08 439
原创 HDU2952 Counting Sheep (DFS)
又是一道简单的DFS。。。没有剪枝#include using namespace std; int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; int t,n,m,sum; char str[105][105]; void dfs(int x,int y){ int dx,dy; str[x][y] = '.'; for(int k = 0;k<4;k
2015-09-02 09:48:15 421
原创 HDU1312 Red and Black(DFS)
本来是一道简单的DFS的练习题,但是因为少加一个getchar()导致自己调试了半天。 #include using namespace std; int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; int n,m,px,py,sum; char str[30][30]; void dfs(int x,int y){ int dx,dy;
2015-09-02 09:11:28 434
原创 HDU1518 Square (DFS)
依旧是DFS的联系,剪枝的情况在于长度和不为4的倍数或者最长的长度大于所需的长度,其他好像也没什么要注意的了。 #include #include int n,m,num[25],sum; bool visit[25],flag; void dfs(int a,int b,int c){ if(flag) return ; if(a == 3){
2015-09-02 08:24:16 403
原创 HDU1241 Oil Deposits(DFS)
这一题是简单的DFS就行了,当做练习DFS的题目,进行八个方向的搜索。好像也没什么可以剪枝的了。 #include int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1}}; char str[101][101]; int m,n; void dfs(int a,int b){ int sa,sb;
2015-09-02 08:20:28 348
原创 HDU1239 Calling Extraterrestrial Intelligence Again (打表+暴力)
这题首先可以进行素数的打表,一开始一直错,发现是自己的素数表大的有问题,打完表接下来就很简单的进行暴力就行了。 #include #include bool sushu[100005]; void prime(){ memset(sushu,true,sizeof(sushu)); sushu[0]=sushu[1]=false; for(int i = 2;i*i <
2015-09-02 08:17:08 486
原创 HDU1238 Substrings (暴力)
这道题在搜索里面可以采取暴力枚举的方法进行一个个的搜索,至于逆序可以直接使用STL里面的reverse反转函数,虽然我在这里并没有使用。剪枝的话,我基本只进行了,如果剩下的长度不大于原本最大的长度,则不再进行搜索。 #include #include #include #include using namespace std; int main(){ int n,m; cha
2015-09-02 08:06:35 483
原创 HDU1010 Tempter of the Bone (DFS)
写的第二道DFS,这题在上ACM课的时候要求过,但是没好好去写,现在才第一次试着写,虽然还是要借鉴网上AC的代码,但是觉得自己对于如何写搜索有了一定的感受,这题的关键在于剪枝,奇偶性剪枝。 #include #include using namespace std; int d[4][2]={1,0,-1,0,0,1,0,-1},visit[10][10],flag; int sx,sy,dx
2015-08-30 00:47:17 444
原创 HDU 1016 Prime Ring Problem(DFS)
准备考研的期间做到了PAT上的搜索题,发现以前自己在写HDUOJ的时候貌似都把搜索题选择性的跳过了,所以这一题基本可以说是我写的第一道有关图论的题,在做PAT的时候发现了自己在数据结构操作的不足,接下来的日子里应该会加强对于链表树图的操作,又要开始写HDUOJ的日子了。这一题大致参考了网上别人AC的代码。 #include #include using namespace std; int n
2015-08-28 22:27:54 403
原创 PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)
1004. 成绩排名 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式:每个测试输入包
2015-08-15 18:48:28 399
原创 PAT (Basic Level) Practise (中文)1003. 我要通过!(20)
1003. 我要通过!(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串
2015-08-15 18:45:46 472
原创 PAT (Basic Level) Practise (中文)1002. 写出这个数 (20)
1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个
2015-08-15 18:43:15 560
原创 PAT (Basic Level) Practise (中文)1001. 害死人不偿命的(3n+1)猜想
1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一
2015-08-15 18:39:01 527
原创 Android中异步任务的操作
最近在总结Handler,所以引申了一下,这几天把老罗的有关异步的视频看了一遍,觉得介绍的挺好的,虽然还不是很清楚,但是先把自己能写的都先放上来。 首先,什么是异步,比如我们在进行网络操作的时候,Android是不允许我们在主线程中直接进行的,需要我们去开辟一个子线程进行一个耗时任务,而这个子线程对于主线程来说就是异步的,最后再将子线程上的操作更新到主线程上。 AsyncTask类中,主要用到
2015-08-03 23:26:53 469
原创 Android中Handler的简单应用(二)
对于Handler的简单应用现在上升到了Handler发送Message上 MainActivity.java package com.whisker.handlertest2; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message
2015-07-30 21:53:09 371
原创 Android中Handler的简单应用(一)
Handler在android里负责发送和处理消息。它的主要用途: 1.按计划发送消息或执行某个Runnanble(使用POST方法),类似定时器; 2.从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程); Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然
2015-07-30 18:59:03 474
转载 Android中Service与Thread的区别
1.Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。 2.Service: Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main
2015-07-29 23:38:30 442
原创 Android中Activity中与ListActivity中使用listview区别
Activity中使用Listview步骤: 1.xml布局中,ListView标签id可以任意取值 2.程序中通过findViewById获取该Listview对象 3.实例化Adapter 4.然后通过listView.setAdapter(adapter); 设置adapter绑定数据 ListActivity中使用Listview步骤: 1.xml布局中,
2015-07-29 22:21:14 559
原创 Android中的仿微信界面(二)
昨天进行的一个仿微信界面的项目最后留下了一个问题,本来想通过另外一种方法来实现,但是今天尝试了之后,却发现了更多的问题。。今天就把它记下来 MainActivity.java package com.whisker.custompopupwindow2; import java.util.ArrayList; import java.util.List; import android.ap
2015-07-28 22:58:49 450
原创 Android中popupWindow的各种方法简介
在popupWindow中,我们能实现的方法有许多,今天我就来简单的总结一下 1. 显示方法 showAsDropDown(anchor); //以触发弹出窗的view为基准,出现在view的正下方,弹出的pop_view左上角正对view的左下角 偏移量默认为0,0 showAsDropDown(anchor, xoff, yoff); //有参数的话,就是v
2015-07-28 22:43:00 505
原创 Android中的仿微信界面
微信在日常的生活中运用得越来越广泛,今天我尝试着做出这样的界面,代码如下: MainActivity.java package com.whisker.custompopupwindow; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.V
2015-07-27 23:21:53 687
原创 Android中gravity的各种效果图
在网上不经意间看到了一个非常有用的android:gravity的各种效果图,觉得非常有利于记忆,送上。 补上一个需要记忆的点,android:layout_gravity面向的是整个控件对于父控件的位置,而android:gravity面向的是控件中内容对于这个控件的位置。
2015-07-27 21:20:54 744
原创 Android中的各种layout属性
android:layout_above="@id/xxx" --将控件置于给定ID控件之上 android:layout_below="@id/xxx" --将控件置于给定ID控件之下 android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐 android:layout_toRightOf="@id/xxx" --将控件的左
2015-07-27 21:04:59 429
原创 Android中AlertDialog的简单使用
在现实中,我们常常会遇到按下退出键然后弹出一个窗口,询问我们是否确认退出,要做到这样的效果的方法有许多种,而今天我给大家来介绍的是一种较为简单的实现方法,下面上代码。 MainActivity.java package com.whisker.backcheck; import android.app.Activity; import android.app.AlertDialo
2015-07-26 09:38:23 660
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人