- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 poj1753 Flip Game(beta 2)
经过优化之后的第二个版本:任然是BFS,相比较第一个程序而言,删去了繁琐的二进制和十进制的转换,取而代之的是位运算。因此效率得到了很大的提高,但是相比较与POJ上的其他AC版本还不够。Run IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time4844178zen_c
2009-03-24 19:25:00
1329
2
翻译 poj1753 Flip Game
原题:http://acm.pku.edu.cn/JudgeOnline/problem?id=1753第一个AC版本。效率极低:Run IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time4821173zen_chou1753Accepted552K
2009-03-20 22:26:00
961
原创 poj3299 Humidex
#include #include double T, D, H;double fuction(double D);void Humidex(char c1, double d1, char c2, double d2);void Humidex(char c1, double d1, char c2, double d2){ double e; if((c1==
2009-03-16 16:53:00
878
转载 CS相关经典书籍的书评
CS相关书籍的书评[转载]Revisit Computer Science via reading books【动机】就计算机这个专业来说吧,因为我是非科班出身的学生,要重新开始补相应的知识,目前定下来要学习的基础理论知识有:离散数学,数据结构与算法,组成原理,汇编,操作系统,网络等等,有的时候觉得这里每一个知识点要学的深入的话都是无底洞,不过我又是那种喜欢追根究底
2008-12-07 21:27:00
8976
原创 多重背包问题
思路一:拆分成01背包。将第i种物品分成若干件物品,其中每件物品有一个系数,这件物品的费用和价值均是原来的费用和价值乘以这个系数。使这些系数分别为1,2,4,...,2^(k-1),n[i]-2^k+1,且k是满足n[i]-2^k+1>0的最大整数。例如,如果n[i]为13,就将这种物品分成系数分别为1,2,4,6的四件物品。算法时间复杂度为O(V*Σlog n[i])。
2008-12-06 14:39:00
592
原创 完全背包问题
背包九讲中解释的非常清楚了,这里不多说。 第一种思路:把第i种物品拆成费用为c[i]*2^k、价值为w[i]*2^k的若干件物品,其中k满足c[i]*2^k。这是二进制的思想,因为不管最优策略选几件第i种物品,总可以表示成若干个2^k件物品的和。这样把每种物品拆成O(log V/c[i])件物品,是一个很大的改进。这样就可以把问题转化为01背包了,然后就可以采用01背包的各种求法了:)voi
2008-12-06 11:26:00
763
原创 01背包问题
背包九讲:http://leafduo.com/oi/dd-pack/分别运用递归,空间O(n*v)的递推和空间O(v)的递推解决01背包. bag:运用递归,状态为bag(int n, int v),即前n件物品恰放入一个容量为v的背包可以获得的最大价值。写出状态转移方程:bag(n, v)=max(bag(n-1, v-cost[n])+weight[n], bag(n-1, v))。
2008-12-05 17:22:00
1973
转载 递归计算向非递归计算转换模板
最近由于工作上的需要,研究了一下递归计算向非递归计算的转换问题。理论上而言,所有递归程序都可以用非递归程序来实现;这种理论的基础是递归程序的计算总能用一颗树型结构来表示。递归计算从求树根节点的值开始,树根节点的值依赖一个或多个子节点的值,子节点的值又依赖下一级子节点的值,如此直至树的叶子节点。叶子节点的值能直接计算出来,也就是递归程序的出口。如下图所示,是递归函数f(x) = f(x-1)
2008-12-04 22:13:00
769
原创 poj1276 Cash Machine
TLE版本:#include int cash; //0int N; //现金种类数量,0int d[10]; //现金面额,1int n[10]; //现金数量,1int memo[100000][10];int r[100000];int dp(){ int i, j, k, total=0, max=0; for (i=0; i//计算各种面额的现金总数量
2008-12-03 14:11:00
496
原创 “舞蹈家”怀特先生(Dance Dance Revolution)
DP,还是DP#include #include #define min(a,b) ((a)#define MAXSIZE 100int pis[MAXSIZE];//存放要移动的箭头序号int memory[MAXSIZE][4][4];int effort(int src, int des)//0原点, 1右,2下,3左, 4上{ //决策: //中心到目标位置
2008-12-01 16:39:00
1431
原创 poj1191
http://acm.pku.edu.cn/JudgeOnline/problem?id=1191运用动态规划,状态为int d(int k, int x1, int y1, int x2, int y2),表示左上角为(x1, y1),右下角为(x2, y2)的矩阵被切割成n块时可以达到的最小平方和。状态转移方程为d(k, x1, y1, x2, y2)=min( min( d[k-1, x1,
2008-11-30 22:13:00
2037
转载 浅谈C中的malloc和free
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!
2008-11-23 22:11:00
508
转载 qsort函数应用大全(转)
七种qsort排序方法 一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序(同int类型)
2008-11-23 22:10:00
419
转载 程序设计竞赛网站集锦
(1)信息学初学者之家:http://oibh.ioiforum.org/(2)大榕树编程世界:http://www.fjsdfz.org/~drs/program/default.asp(3)中国教育曙光网:http://www.chinaschool.org/aosai/(4)福建信息学奥林匹克:http://www.cfcs.com.cn/fjas/index.htm(5)第
2008-11-23 22:07:00
1340
转载 ACM/ICPC整体介绍
一、ACM/ICPC简介ACM国际大学生程序设计竞赛(ACM/ICPC :ACM International Collegiate Programming Contest)是由国际计算机界历史悠久、颇具权威性的组织ACM( 美国计算机协会)学会(Association for Computer Machineary)主办,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在
2008-11-23 22:06:00
6035
转载 ACM大量习题题库
ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge。除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库。USACOhttp://ace.delos.com/usacogate美国著名在线题库,专门为信息学竞赛选手准备 TJUhttp://acm.tongji.edu.cn/同济大学在线题库,唯一的中文题库,适
2008-11-23 22:03:00
5189
2
转载 北大ACM-题型分类的代码(转帖)
主流算法: 1.搜索 //回溯 2.DP(动态规划) 3.贪心 4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya定理 8.
2008-11-23 21:56:00
578
原创 POJ2593
发现malloc动态内存分配很耗内存!做这题时我用malloc耗费了4224K,而换成固定大小的数组时缩小到了988K!删除#include 之前耗时188MS,删除之后耗时219MS:)经过数次WA,终于AC了,在此简述下思想。这是一道典型的DP,先从左至右进行一次DP,把max值(即此元素之前的最大子数组和)存放在一个数组maxBef中,这样数组中的每个元素就对应一个max值,此max值代表此
2008-11-23 00:16:00
930
原创 动态规划【维基百科】
http://zh.wikipedia.org/w/index.php?title=%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92&variant=zh-cn
2008-11-21 21:27:00
546
转载 Windows操作系统发展简史
《连线》杂志日前发表分析文章称,在过去的23年中,Windows操作系统经历了一个从无到有,从低级到高级的发展过程,总体趋势是功能越来越强大了,用户使用起来越来越方便了。但其发展进程并非是一帆风顺的,中间也曾多次出现曲折。应用最广泛的Windows操作系统在不断地发展,其发展进程充满了不确定性。Windows的成功与处理器速度的提高和内存容量的增加可谓“休戚与共”。微软依靠大量第三
2008-11-20 17:07:00
905
转载 中国剩余定理
一般形式是: “已知m1、m2、m3是两两互质的正整数,求最小正整数x,使它被m1、m2、m3除所得余数分别为C1、C2、C3 .” 孙子定理的思想便是先分别找出被其中数mi除余1而被另二数整除的数Mi(i=1,2,3),则所求的数之一便是 C1M1+C2M2+C3M3; 若欲求的是最小的
2008-11-19 16:01:00
463
转载 编译错误syntax error : missing ';' before 'type'原因探寻
在VC6中运行以下代码//////////////////////////////////main.c#include int main(){char a[100];memset(&a, 0, 100);char b;return 0;}/////////////////////////////////编译器将会报一个编译错误,syntax er
2008-11-19 10:55:00
694
原创 自动售货机销售系统 C
/*前言:进入管理界面的密码为:206;销售日志记录在sale.log中,售货机中的零钞数量记录在change.log中,售货机中的商品信息(包括状态(上架或下架,上架记录为1,下架记录为0),数量,编号和价格)记录在saleinfo.log中;*/#include #include #include #include #include void xsjm(void); /*销售界面函数*/voi
2008-10-31 19:53:00
2474
原创 平衡二叉树(B-Tree) C#
using System;namespace BTree{ class Node//二叉树结点数据类型 { public int data;//数据 public Node lchild;//左子树 public Node rchild;//右子树 public Node(int i, Node l, Node r)
2008-10-04 23:53:00
2813
1
原创 线索二叉树(threaded binary search tree) C#
using System;namespace ThreadedBinaryTree{ class Node { public Node lchild; public int lthread;//0 represent a thread,1 represent a link public int data; public Node
2008-10-02 21:36:00
1079
原创 五子棋 C#
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespac
2008-10-02 11:48:00
1030
原创 二叉树 C#
using System;using System.Text;namespace BinarySearchTree{ class Node//二叉树结点数据类型 { public string info;//数据 public Node lchild;//左子树 public Node rchild;//右子树 public No
2008-09-30 11:21:00
1305
番茄工作法图解
2015-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人