- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 POJ 3278 BFS,队列(好吧,我承认我不会写BFS。。)
题意: 从N点走到K点。3种走法: x->x+1; x->x-1; x->x*2.问最少需要多少步。#include #include#include#includeusing namespace std;int n,k;int dis[200005];int arrange(int i,int x){ if(i==0) return x<<1; i
2013-07-26 10:58:41 619
原创 BFS 交大OJ1256
这次来个简单题吧,给你一个小小大迷宫,包括两种状态,0表示可以通行,1表示不能通行。再给你一个起点和终点,判断能否到达终点呢Input若干组测试数据,第一行包括两个数字1左上角坐标为(1,1),右下角坐标为(m,n)#include#include#includeusing namespace std;int ok,a,b,c,d;int map[10
2013-07-25 17:47:45 856
原创 strstr和strchr函数的用法
strchr函数原型:char * strchr(char * str, int ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是 null)。strstr 函数原型: char * strstr(char * str1,char * str2);功能就是找出在字符串str1中第一次出项
2013-07-23 23:51:55 2327
原创 HDU 4602
Problem C. Partition Problem DescriptionDefine f(n) as the number of ways to perform n in format of the sum of some positive integers. For instance, when n=4, we have 4=1+1+1+1 4=1+1+2
2013-07-23 22:18:03 816
原创 POJ 2157 或交大 1249 BFS
BFS#include#include#includeusing namespace std;int n,m;int stepx[]={1,-1,0,0};int stepy[]={0,0,1,-1};char map[25][25];bool vis[25][25];int reSearch,ok;int key[10],fkey[10];struct Point
2013-07-22 22:26:43 829
原创 交大OJ 1240
DescriptionGiven a fraction m/n, where m and n are both positive integer. As you know, we can disassemble it into Finite Simple CF, that is ,where n is limited.Your job is to express m/n.
2013-07-21 03:28:24 923
原创 STL 之 map用法
#include#include#include#include#includeusing namespace std;int main(){ map m; m["ACM"]=2011; m["SWUST"]=2001; printf("%s %d\n","ACM",m["ACM"]); printf("%s %d\n","power",m["power"]); m.
2013-07-19 23:10:45 514
原创 交大OJ 1235: 或运算
题意:给你一个整数序列S:A1,A2,A3,...,An,定义F(S)为S的所有连续子序列的所有元素取或操作后得到的不同数个数。代码:#include#includebool vis[10000005];int f[100005];int main(){ int i,j,n,a,count; while(~scanf("%d",&n)) {
2013-07-19 22:22:59 722
原创 交大OJ1231: 谁能上天堂
题意: 从起点到终点,让这条路径上的每一条边都尽量短(不是求总路径最短)。做法: 运用kruscal的做法,每次构造最短边,知道起点和终点在一个集合中,那么当前的最短边就是 所求结果!代码:#include#include#includeusing namespace std;int fa[100005],son[100005];struct Point{
2013-07-19 20:38:48 736
转载 多重背包(包含0-1,完全和多重背包的函数模板)POJ1014-Dividing-多重背包
POJ1014-Dividing-多重背包#include #define INF 100000000 using namespace std; int f[240005]; //f[j]相当于f[i][j]: 考虑1...i个物品,恰好放到容量为j,所能达到的最大价值 int v; //背包容量 //处理一个完全背包 (该种物品不限量)vo
2013-07-19 02:13:03 524
转载 Kruskal算法
克鲁斯卡尔(Kruskal)算法(只与边相关)算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge)。算法过程:1.将图各边按照权值进行排序2.将图遍历一次,找出权值最小的边,(条件:此次找出的边不能和已加入最小生成树集合的边构成环),若符合条件,则加入最小生成树的集合中。不符合条
2013-07-18 13:36:36 562
转载 平面最近点对问题详解
算法: 0:把所有的点按照横坐标排序 1:用一条竖直的线L将所有的点分成两等份 2:递归算出左半部分的最近两点距离d1,右半部分的最近两点距离d2,取d=min(d1,d2) 3:算出“一个在左半部分,另一个在右半部分”这样的点对的最短距离d3。 4:结果=min(d1,d2,d3) 关键就是这第3步。貌似这需要n^2的时间,把左边每个点和右边每个
2013-07-18 00:30:46 8275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人