上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 50 下一页
摘要: 题意:给定n个连续的房间,勇士在第一个房间,后面每个房间要么是龙,要么是公主,最后一个房间一定是公主,杀一条龙掉金币(选择杀与不杀),每个公主有规定的杀龙数(如果进了一个公主的房间而且满足了公主的杀龙数,就一定要娶这个公主),但是勇士想娶最后一个公主,输出勇士能娶到最后一个公主且金币最多的方案.解题思路:STL 优先队列解题报告:http://blog.csdn.net/diannaok/article/details/8154693 阅读全文
posted @ 2013-07-18 11:29 dark_dream 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:求出给定串的全排列 解题思路:对于给定的字符串,对它sort以后进行求下一个排列即可 是UVA146的加强版, 解题代码: 1 // File Name: 10098.c 2 // Author: darkdream 3 // Created Time: 2013年07月11日 星期四 13时34分28秒 4 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 int cmp(const void *a, const void *b)12 {13 return *(char *)a - *... 阅读全文
posted @ 2013-07-16 10:17 dark_dream 阅读(5045) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个字符串,求它的下一个排列解题思路:从后面开始找,找第一个能和后面字符交换的数(字典序比前面的大)。然后交换,再对后面的位排一次序就行了(其实直接可以用c++的next函数)解题代码:// File Name: uva146.c// Author: darkdream// Created Time: 2013年07月11日 星期四 10时48分42秒#include#include#include#include#include#includeint cmp(const void *a , const void *b){ return *(char *)a -*(char *... 阅读全文
posted @ 2013-07-11 13:32 dark_dream 阅读(194) 评论(0) 推荐(0) 编辑
摘要: // 可设2013.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include struct node{ char t; int value; struct node *right,*left;};struct node *A[100];int len,heapsize;struct node *newnode(){ struct node *p = (node*)malloc(sizeof(node)); p->value = 0 ; p->left = p-> 阅读全文
posted @ 2013-06-26 09:47 dark_dream 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 汗颜啊,一个数据结构基础都能刷这么久1.顺序表。1.队列2.栈(符号匹配,树的建立)3,链表(约瑟夫环)1.树,(1)树的建立, 栈建立和 递归建立(2)树的删除,递归删除.2,图1.dfs2,bfs(visit代表的都是某一种状态,而非位置)3,水漫法 !(UVA 706)4.欧拉图,欧拉回路的性质 阅读全文
posted @ 2013-06-22 11:49 dark_dream 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 白书数据结构一章中最后一根刺拔掉了! 这题网上大部分都说都是SPFA ,,但是卡了我一个星期dfs 终于给我过掉了题意:一个有向图,每个节点都有一个值(可能小于0),给定你起始点和初始能量和终点,问你最终在 能量值大于0的情况下能否到达终点解题思路:dfs,bfs都试过了,最终还是用两个dfs过了,第一个dfs是判断下一个节点是否能走(依赖于第二个dfs)如果能走,如果这个节点在这条路径中走过,如果走过那么判断环的正负,如果是负环就进行第二个dfs判断能否到终点(在途中标记所有的点,如果能走到 则答案为win 如果不能,途中所有的点都不能了)!!如果这个节点没有走过,那么看到这个节点的之是否大 阅读全文
posted @ 2013-06-22 09:53 dark_dream 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个轮子,轮子只能朝着一个反向运动。。轮子上有五种不同的颜色,给定一个迷宫,轮子在一个格子转动90度耗费的时间为1,向前的时间也为1 ,求起点和终点轮子覆盖的颜色相同的最短时间:解题思路:开始以为visit只能代表迷宫的一个格子,原来它表示的是一种状态,,,用bfs ,,,str【】【】没初始化wrong了几次(注意啊)解题代码:#include #include #include struct node{ int dir,x,y,time,color;}list[10000000];int visit[30][30][10][10];//状态int nextxdir[4] =... 阅读全文
posted @ 2013-06-21 21:51 dark_dream 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 参阅《数据结构与算法分析》二叉查找树性质:对于一个节点,它的左子树的所有节点的值都小于它的值,它的右子树的所有节点的值都大于它的值1.声明:#ifdef _Tree_Hstruct TreeNode;typedef struct TreeNode *Position;typedef struct TreeNode *SearchTree;SearchTree MakeEmpty(SearchTree T);Position Find(int X, SearchTree T);Position FindMin(SearchTree T);Position FindMax(SearchTree T 阅读全文
posted @ 2013-06-21 15:03 dark_dream 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 堆的性质:堆是一棵完全二叉树,它有最大堆和最小堆之分,这里只分析最大堆!(最小堆与最大堆类似) 就是所有的子节点都小于根节点的完全二叉树堆的几种操作(数组实现): 其中 len 表示 数组长度,headsize表示堆的长度其中堆的左节点编号int LEFT(int i ){ return i*2;}堆的右节点编号:int RIGHT(int i ){ return i*2 +1;}堆的头结点编号int PARENT(int i ){ return i/2;}1.保持堆的性质:void MAX_HEAPIFY(int A[],int i){ int l = LEFT(i); int... 阅读全文
posted @ 2013-06-21 13:03 dark_dream 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 室友的实验报告就是这个题,感觉不亚于CF div2 的 D 题难度。。 虽然它没有时间和空间限定 首先是约瑟夫环的解法优化 :http://zh.wikipedia.org/wiki/%E7%BA%A6%E7%91%9F%E5%A4%AB%E6%96%AF%E9%97%AE%E9%A2%98 这也是算导190页的一个练习! 主要是利用动态规划来降低复杂度 具体思路如下 1.把 N 个约瑟夫环 中第一个数到 M步的人(假设编号为 K )剔除掉 2.那么接下来的问题就是:从 (N-1)个人中找第一个数到M步的人 我们把N-1人重新编号(从K+1开始编号),又组成了一个新的N-1... 阅读全文
posted @ 2013-06-20 23:35 dark_dream 阅读(732) 评论(0) 推荐(0) 编辑
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 50 下一页