自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

I&U

记录自己的脚印,回看自己走过的弯路

  • 博客(28)
  • 资源 (13)
  • 收藏
  • 关注

原创 Bridging signals 如果f(i)只和i-1有关系 可以使用两个一维数组 交替循环

<br />#include<stdio.h>#include<string.h>int a[2][40002];int n;int b[40002];int DP(){ int x=1; int i; for(i=0;i<=n;i++) a[0][i]=0; while(x<=n){ int k,kk; k=x%2;kk=(x+1)%2; for(i=1;i<b[x];i++) a[k][i]=a[kk][i]; f

2010-08-30 17:10:00 484

原创 Common Subsequence 动态规划 不难 但是犯了个错误刚开始 没用标记数组 直接使用a判断 是否为零 结果是测试数据有很多key为零 超时

<br />#include<stdio.h>#include<string.h>int a[512][512];bool sign[512][512];char b[512],c[512];int DP(int x,int y){ if(x<0||y<0)return 0; if(sign[x][y])return a[x][y]; int max;int temp; max=DP(x-1,y); temp=DP(x,y-1); if(temp>m

2010-08-30 15:44:00 489

原创 Arithmetically Challenged 排列树 子集树 24点问题 回溯 关联容器

#include#include#includeusing namespace std;set s;int a[20];int kkk;void backtrack1(int k);void backtrack2(int k);void swap(int &x,int &y);bool ff(int i,int k,int j); void swap(int &x,int &y){ int temp; temp=x; x=y; y=temp;

2010-08-25 11:31:00 613

原创 错排公式

递推的方法推导错排公式  当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.   第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;   第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有M(n-2)种方法;2,不把它放到位置n,这时,对于这n-1个元素,有M(n-1)种方法;   综上得到   M(n)=(n-1)[M(n

2010-08-23 16:24:00 468

原创 string对象与数值转换 串流操作 stringstream学习

#include#include#include#includeusing namespace std;string tostring(double x)//int输出地挺好的但是还you使用double可能输出科学型{ ostringstream o; if(o>x)return x;}int main(){ char b[10]={NULL}; string a; int c=58; double d=c;

2010-08-23 16:04:00 1269

原创 hku2585 hotel

<br />#include<stdio.h>#include<string>bool pipei(bool c[52][52],char a[52],char b[52],int m,int n){ if(c[m][n]==true)return false; if(m==0) { if(a[m]=='*')return true; else if(a[m]=='?'&&n==0)return true; else if(n==0&&a[m]==b[n])r

2010-08-22 17:22:00 431

原创 好的blog

<br />强连通分量:http://www.byvoid.com/blog/scc-tarjan/zh-hans/

2010-08-21 10:36:00 367

原创 强连通分量

1. Kosaraju算法(双DFS)2.Tarjan算法 3.Gabow一.Kosaraju算法算法的核心实现是,首先DFS一遍,得到一个DFS森林,在此过程中得到所有点的拓扑序列(按结束时间由高到低),之后我们建一个反向图,按反拓扑序(结束时间由高到低)进行第二次DFS,则此时得到的每一棵树都是一个强连通分量,这个画个图演示一下比较好理解,严格证明还是参考算法导论340页较好,感性的认识是,假定我们有C1,C2两个强连通分量,而在反拓扑序中C1是在C2前面的,此时说明G中第一遍DFS

2010-08-21 10:30:00 479

原创 序列容器

vector1.以类似于普通数组的方式存储类型为 T 的对象,只是它的容量可以根据需要存储的对象个数进行调整。2.使用下标运算符[]可以像数组那样访问vector容器中的元素。3.vector容器的大小是其中元素的个数--调用size()来获得容器的大小; vector容器的容量是当前它可以包含的最大元素个数--调用capacity()来获得容器的大小。 (在创建特定容量的vector对象时,其大小和容量是相同的) 如:std::vector a(10) (如果给

2010-08-20 18:56:00 925

原创 平衡二叉树

平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

2010-08-20 15:40:00 894

原创 Message Flood 字典树 小心memset的使用

#include#include#include#includeusing namespace std;int tr[200000][27];int num;int tri(char temp[11]){ int i=0;int loc=0; while (i

2010-08-20 13:33:00 417

原创 Virtual Friends 字典树 并查集

<br />#include<stdio.h>#include<string.h>int fnum[200001];//父节点里面存放本集合内的元素个数int bing[200001];//并查集使用int tri[10000][53];//字典树int tnum=0;int find(int k){ if(bing[k]!=k) bing[k]=find(bing[k]); return bing[k];}void cinn(char temp[21])

2010-08-19 07:09:00 430

原创 logo 注意使用三角函数

#include//假设起点为00原点#include#includeusing namespace std;double startx,starty;//当前开始坐标double fx,fy;//方向double distance;//距离double pi=acos(-1);void move(double &startx,double &starty,double fx,double fy,int d)//求前进后的坐标{ startx+=d*fx

2010-08-18 16:59:00 701

原创 poj1423 tmd公式

<br />#include<stdio.h>#include<math.h> int stirling(int n);int main(){ int k; int n; scanf("%d",&k); while(k--) { scanf("%d",&n); printf("%d/n",stirling(n)); } return 0;}int stirling(int n){ doub

2010-08-17 17:49:00 394

原创 poj 1129 Channel Allocation

<br />#include<stdio.h>#include<string.h>int a[27];//存放i的取值1-26bool b[27];//i是否是新数值,还是从i前面找到的bool arce[27][27];//初始化为真临近为false不临近trueint n;int num=0;int min=26;void init();int DFS(int k);int main(){ while(scanf("%d",&n)==1)

2010-08-16 08:47:00 404

原创 poj 2676 Sudoku 破水题废了我一天时间 其实一点含量都没有 郁闷。。。想多了。。。

<br />#include<stdio.h>#include<string.h>int a[10][10];bool sign[10][10];//标jibool ssign;//标记是否已经得到结果 bool isign[10][10];//第i行中1-9是否已经填入bool jsign[10][10];//第j列中1-9是否已经填入bool ijsign[4][4][10];//小方块中1-9是否已经填入int N=9;void init();int iDFS(

2010-08-14 16:24:00 552

原创 poj 3278 Catch That Cow 广度优先搜索 + 回溯 队列 剪枝

#include#include#includeusing namespace std; int num;int sign=100000;//当kk>k的时候剪枝int n,k;bool c[100001];//记录是否已经使用过vector test[2];//队列交替vector::iterator t;int DFS();int main(){ scanf("%d%d",&n,&k); if(n>=k){printf("%d",n-k);retu

2010-08-13 15:21:00 669

原创 poj1321棋盘问题

<br />#include<stdio.h>bool arce[9][9];bool isign[9];bool jsign[9];int num;int n,k,kk;void init();bool DFS(int h);int A(int k);int main(){ while(scanf("%d%d",&n,&k)) { if(n==-1&&k==-1)break; int c=0;int i; init(); for(i=

2010-08-13 11:07:00 523

原创 poj3099 Go Go Gorelians 建图 DFS 回溯

<br />#include<stdio.h>#include "math.h"int e[2001][2];//边[0],to.[1]next;int a[1001][5];//点[0],ID,[1]next;2x3y4zint c[1001];int cnum;int max;int m;bool sign[1001];int n;//点的数目int en;//边的数目void initt();void init();int DFS(int s);in

2010-08-12 20:01:00 1023

原创 poj2488 回溯 注意字典 边缘的处理思想

#includebool a[30][30];//标志char way[678][2];//路径int k;int p,q;bool f(int x,int y);void init();int main(){ int n; scanf("%d",&n); int i=1; while(i

2010-08-12 13:21:00 539

原创 poj1050To the Max 枚举的程序 严重超时 wa 浪费了大量时间,但分配数组的时候学到了点东东

<br />#include <stdio.h>char a[5050][5050];bool c[5050][5050]={false};int b[100][100];int n;int to(int x1,int x2);int sum(int x1,int x2,int y1,int y2);int init();int f(int x1,int x2,int y1,int y2);int main(){ init(); printf("%d/n",f

2010-08-11 16:14:00 1200

原创 poj1050To the Max 动态规划 +分治 +矩阵压缩 经典

#includeint a[100][100];int n;int max1(int c[100]);int sumij(int i,int j);int init();int max2();int main(){ init(); printf("%d/n",max2()); return 0;}int max2(){ int i; int j; int summax=0; for(i=n-1;i>=0;i--) for(j=i;

2010-08-11 16:10:00 501

原创 poj2503Babelfish字典树

<br />#include<stdio.h>int str[200000][27];//数组大小?char strr[100000][11];//存放字符串char temp[11];char t[11];int init();int p(char * a);int main(){ init(); while(1) { p(temp); if(scanf("%s",temp)!=1)break; } return 0;

2010-08-11 13:03:00 511

原创 poj1088滑雪

<br />动态规划+最小堆排序  最小堆空间的分配  判断句的嵌套 和&&注意了 <br />#include<stdio.h>int a[101][101];int b[101][101];int dui[10001][3]; int x,y;int r,c;int sizenum=0;int dele();void adjust(int i);void insert(int a1,int a2,int a3);int f(int n);int main()

2010-08-10 18:52:00 821

原创 poj3356AGTC

<br />多case 动态规划 备忘录 scanf返回值<br />#include<stdio.h>char a[1001];char b[1001];int c[1001][1001];int f(int x,int y);int main(){ int A,B; int i,j; while(scanf("%d",&A)!=EOF){ for(i=0;i<=A;i++)scanf("%c",&a[i]); scanf("%d",&B); for(i=0

2010-08-10 15:31:00 377

原创 poj 2533Longest Ordered Subsequence

<br />#include<stdio.h>int f(int i);int A[1000+1];int B[1000+1]; int main(){ int k; k=1; int temp=k; while(k--) { int n; int max=0; scanf("%d",&n); int i; for(i=1;i<=n;i++)scanf("%d",&A[i]),B[i]=0; f(n);

2010-08-10 10:59:00 390

原创 poj1511 Invitation Cards Dijkstra+最小堆(heap)

<br /> Dijkstra+最小堆(heap) #include<stdio.h>#define MAX 1000000#define MAXX 1000000000struct edge{int to;long long val;int next;}e[MAX+1],re[MAX+1];int vex[MAX+1];int rvex[MAX+1];int final[MAX+1];long long D[MAX+1];long long dui

2010-08-07 11:16:00 600

原创 ACM POJ 3463 Sightseeing

题目大意:求源点S到终点T的最短路的数量和比最短路长1的数量。解题思路:我们可以利用dijstra算法的思想,只需在其中进行一些改进即可。可以先定义一个二维的数组dist[N][2]。dist[i][0]代表源点S到点i的最短路,dist[i][1]代表源点S到点i的次短路。初始化dist[S][0]=0,其余的都初始化为无穷大。然后定义一个二维数组waynum[N][2]记录路径方法数,waynum[S][0]=1,其余初始为0。再定义一个标记数组vis[N][2],初始vis[S][0]被标记已访问,其

2010-08-05 16:15:00 2096 3

Shader Forge 1.3.8 最新版

Shader Forge 1.38 最新版 Unity 1.3.8 亲测可用,感谢大家支持

2018-01-22

Programming Game AI by Example-游戏人工智能编程案例精粹

Programming Game AI by Example-游戏人工智能编程案例精粹

2013-04-28

OPENGL编程指南 OpenGLProgrammingGuide7thEdition

OpenGLProgrammingGuide7thEdition

2013-02-25

UnityGameDevelopmentEssentials

Unity UnityGameDevelopmentEssentials

2012-03-13

MFC 侯捷 侯俊杰《深入浅出MFC》简体版第二版(PDF

侯俊杰《深入浅出MFC》简体版第二版(PDF

2011-10-20

碰撞检测 碰撞处理 游戏中的物理学

物理引擎 游戏开发 碰撞检测 需要学习碰撞检测的可以看看这一个ppt 讲的很好 很强大 与之共享

2010-11-30

C++编程思想 经典教材

C++ 编程思想 经典教材 讲的非常的详细 学习C++童鞋们必看之书 拿出来给大家共享

2010-11-30

Windows网络编程第二版

网络编程 的经典教材 第二版 最新版 有需要的请使用!

2010-11-24

WIN32多线程程序设计侯捷

多线程的经典教材 经典书籍 侯捷版的!很好 很强大

2010-11-24

C# 完全参考 手册 PDF

C# 完全参考 手册 PDF 很全 很强大

2010-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除