- 博客(90)
- 收藏
- 关注
原创 光线追踪(RayTracing)算法理论与实践(一)入门
提要本文先介绍光线追踪的理论,然后着重一步一步来搭建渲染场景,从最基本的向量类开始.采用的语言是c++,利用面向对象的思想,一些基础的线性代数和空间几何的知识也会用到,编程的框架用的是GLFW,渲染用到的是OpenGL。原理光线追踪,简单地说,就是从摄影机的位置,通过影像平面上的像素位置(比较正确的说法是取样(sampling)位置),发射一束光线到场景,求光线和几
2014-03-09 17:23:04
796
原创 动态规划-装配线调度
问题描述:一个找出通过工厂装配线的最快方式的制造问题。共有两条装配线,每一条装配线上有n个装配站,编号为j = 0, 1, … , n – 1。装配线i(i = 0或1),在装配站S[i][j]上所需的装配时间记为a[i][j]。一个汽车底盘进入工厂,然后进入装配线i的进入时间为e[i],在通过一条线的第j个装配站后,这个底盘来到任一条线的第(j + 1)个装配站。如果留在相同的装配线
2014-03-09 17:16:36
333
原创 as中随机数的产生
用到的方法:Math.random():可以产生[0,1)的一个数字;Math.floor(a):去掉a的小数部分,非四舍五入;实战:[0,1):Math.random();[0,n):n*Math.random();[n,m):n+(m-n)*Math.random();[n,m]间的整数:Math.floor(n+(m-n+1)*Math
2014-03-09 17:14:19
480
原创 Action script中的访问控制
as3.0中,一般有4中属性来控制在类中定义的属性和方法的访问,他们是:public,private,protected,internal。 public:在代码任意位置都是可以被访问的; private:仅在类本身范围内才能被访问; protected:仅类本身和它的子类
2014-03-09 17:13:35
189
原创 poj-1807
#include#include#include#include#includeusing namespace std;#define LL intvectorvecx,vecy;void add(int x,int y){vecx.push_back(x);vecy.push_back(y);}LL xx[8]={-1,0,1,1,0};LL yy[8]={1,2,1,-1,
2014-03-09 17:11:24
178
原创 poj-1095
#include#include#include#include#include#include#define LL long long#define MAXN 550000000using namespace std;LL dp[201];LL ans[201];struct list{ LL l,r;}node[51];void init(){ L
2014-03-09 17:10:02
199
原创 poj-3114
#include#include#include#include#include#include#define tar_maxn 1100000#define INF 99999999using namespace std;struct Graph_tar{ struct g_edge{int l,r,v,next;}node_tar[tar_maxn];//初始边
2014-03-09 17:08:36
221
原创 poj-2482
#include#include#include#includeusing namespace std;#define maxn 110000#define LL long longstruct list{ LL l,r,x,val;} node[maxn*6];struct liss{ LL x; LL y1,y2; LL c,val;}
2014-03-09 17:07:37
238
原创 poj-2352
#include#include#include#includeusing namespace std;#define maxn 110000struct list{ int l,r; int x;}node[maxn*6];struct listt{ int x,y; bool friend operator < (const listt a,
2014-03-09 17:05:46
173
原创 算法导论-数据结构的扩张
首先给出数据结构的扩张的四个步骤:1)选择基础的数据结构;2)确定要在基础数据结构中添加哪些信息;3)验证可以用基础数据结构上的基本修改操作来维护这些新添加的信息;4)设计新的操作。算法导论书上给出的是红黑树的一种扩张-动态顺序统计。将容量为n的随机样本的各个测定值 (x1,x2,……,xn),从小到大顺序的排列,xi所在的顺序位置就是它
2014-03-09 13:03:02
204
原创 动态规划-最优二叉搜索树
问题描述给定一个由n个互异的关键字组成的序列K={k1,k2,...,kn},且关键字有序,对于每一个关键字ki,一次搜索为ki的概率是pi。某些搜索的值可能不在K内,因此还有n+1个虚拟键d0,d1,...,dn代表不再K内的值。d0代表所有小于k1的值,dn代表所有大于kn的值,对于i=1,2,...,n-1,di代表所有位于ki和ki+1之间的值。对每个虚拟键di,一次搜索对应于di
2014-03-09 12:59:33
328
原创 动态规划-最长公共子序列
问题描述某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置而形成的新序列。给定两个序列X和Y,如果Z既是X的一个子序列又是Y的一个子序列,则称Z是X,Y的公共子序列。给定两个序列X={x1,x2...,xm}和Y={y1,y2...yn},找出Z={z0,z1,…,zk}为它们的最长公共子序列.最优子结构设X={x1,x2...,xm
2014-03-09 12:57:10
237
原创 Python中的join()函数和split()函数的用法
题意:给两个长度相等的0,1字符串,在相同的位置的两个字符不同就输出1,否则输出0.比如:10101000100101就输出:1110001代码:print ''.join("10"[i==j] for i,j in zip(raw_input(),raw_input()))join()函数的用法就是把一个list中所有的串按照你定
2014-03-09 12:53:09
398
原创 Python的字符串索引和分片
1.字符串的索引给出一个字符串,可输出任意一个字符,如果索引为负数,就是相当于从后向前数。>>> str="HelloWorld!">>> print str[0]H>>> print str[-4]r2.字符串的分片分片就是从给定的字符串中分离出部分内容。>>> str="HelloWorld!">>> print str[0]H>>> print st
2014-03-09 12:50:53
484
原创 列表(List)
列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表可以包含任何种类的对象:数字、字符串、自定义对象甚至其他列表,列表是可变对象,支持在原处修改,可以通过指定的偏移值和分片、列表方法调用、删除语句等方法实现。 列表中的常用方法:1.append(x) :把一个元素添加到列表的结尾。>>> list=[1,2,3,4,5,6]>
2014-03-09 12:47:18
196
原创 元组(Tuple)
一个元组由数个逗号分隔的值组成。元组在输出时总是有括号的,以便于正确表达嵌套结构。 1.元组的简单操作:>>> t="goujinping","is","a good student",20114361,(1,2,3,4,5,6)>>> print t('goujinping', 'is', 'a good student', 20114361, (1, 2, 3, 4
2014-03-09 12:41:41
241
原创 动态规划-矩阵链乘
问题描述给定n个矩阵构成的一个链给定{A1,A2,…,An},其中i=1,2,...,n.矩阵Ai的维数为pi-1*pi,如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。 最优子结构对乘积A1A2...An的任意加括号方法都会将序列在某个地方分成两部分,也就是最后一次乘法计算的地方,我们将这个位置记为k,也就是说首先计算A1...Ak和A
2014-03-09 12:37:41
223
原创 .NET + OpenCV & Python + OpenCV
最近需要做一个图像识别的GUI应用,权衡了Opencv+ 1)QT,2)Python GUI,3).NET后选择了.NET。。。本文给出C#+Opencv和Python+Opencv的相应参考,节省大家时间。(一)C#.NET + Opencv1)下载并安装Emgu库(for opencv on .NET env) Download
2014-03-08 21:29:49
159
原创 动态规划-最长上升子序列(LIS)
这题目是经典的DP题目,也可叫作LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列。很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) 。利用LCS算法实现思路:设原序列为A[],将A[]进行排序后生成排好序的序列B[],利用LCS 算法查找A[],B[]的最长公共子序列即可找出LIC。时间复
2014-03-08 21:27:45
278
原创 Struts2中文件的上传与下载
文件上传1.jsp页面 2.Action//单个文件上传可以用 File files,String filesFileName,String filesContentType//名称要与jsp中的name相同(三个变量都要生成get,set)private File[] files;// 要以File[]变量
2014-03-08 21:22:57
165
原创 Java中文件的上传与下载
文件的上传与下载主要用到两种方法:1、方法一:commons-fileupload.jar commons-io.jarapache的commons-fileupload实现文件上传,下载【upload】package com.handson.bbs.servlet;import java.io.File;import java.io.IOExce
2014-03-08 21:20:51
196
原创 算法导论-贪心策略
贪心的基本步骤:1)决定问题的最优子结构;2)设计出一个递归解;3)证明在递归的任一阶段,最优选择之一总是贪心选择。那么,做贪心选择总是安全的;4)证明通过做贪心选择,只有一个子问题;5)设计出一个实现贪心策略的递归算法;6)将递归算法转换成迭代算法。更一般的,可以用下面的方式来描述:1)将优化问题转化成先做出选择,再解决
2014-03-08 21:18:19
233
原创 贪心算法-活动选择
问题描述问题来自算法导论16.1。几个相互竞争的活动进行调度,他们要求以独占的方式使用某一公共资源。调度的目标是找出一个最大的相互兼容活动集合。思想:总是选择剩余活动中具有最早结束时间的活动。/*****************************************************************************Copyright:
2014-03-08 21:15:46
269
原创 Android中的后台邮件发送
一、调用邮件发送工具类进行邮件发送new Thread(){ public void run() { try { GMailSender sender = new GMailSender( "lixeeq19910119@gmail.com",
2014-03-04 21:18:51
517
原创 MySQL中 MySQL X.X Command Line Client 一闪而过
问题介绍:我安装完MySQL(我安装的是5.5)后,使用MySQL 5.5 Command Line Client,每次点击,总是一闪而过。从网上我查了下,都是暂时的解决的方法,不能够解决使点击 MySQL 5.5 Command Line Client后,出现现显示的mysql>窗口,其中暂时的方法如下: 一、 首先进入cmd 切入MySQL的安装目录,然后切入 bin
2014-03-04 21:16:11
176
原创 win7(64位)彻底卸载mysql,重装不再烦恼
【此文出身】鄙人mysql呆鸟,一时手残卸载了mysql,之后重装,始终在配置的时候始终无法通过(如图),纠结一天之久!查看大图在某人的鄙视鞭策下,通过度娘的多种指导及自身的多次尝试,终于在下班前成功完全卸载,并实现重装,顿感爽歪歪~~~【简要步骤】1.在控制面板-->卸载程序中卸载MySQL;2.删除MySQL安装路径中的整个MySQL文件夹;
2014-03-04 21:14:34
191
原创 windows 7 64位下配置mysql64位免安装版
1、官方网站下载mysql-noinstall-5.1.51-winx64.zip2、解压到E:\Program Files\MySQL.(路径自己指定)3、在E:\Program Files\MySQL下新建my.ini配置文件,内容如下:*****************配置文件开始*********************# MySQL Server Inst
2014-03-04 21:13:31
171
原创 如何将字段中带逗号的SQLite数据库数据导入到MySQL
以前在数据库导入中没有遇到过什么问题,如下这样导入load data local infile 'D:\data.csv' into table table1 fields terminated by ',';但是今天遇到了一个问题,这个SQLite表的数据如下:在这个表中的某些字段中的数据里面包含逗号,上面这个方法已经不能再使用。解决的具体步骤如下
2014-03-04 21:11:23
209
原创 C语言学习笔记(13)——链表
链表算法:1.通俗定义:解题的方法和步骤2.狭义定义:对存储数据的操作 3.广义定义:广义的算法也叫泛型无论数据是如何存储的,对数据的操作都是一样的我们至少可以通过两种结构来存储数据数组1.需要一整块连续的存储空间,内存中可能没有2.插入元素,删除元素效率极低。3.查找数据快链表1.查找效率低2.不需要一块连续的内存空间2.插
2014-03-04 21:07:29
178
原创 C语言学习笔记(12)——补码
补码编码在计算机中存储数据的方式原码也叫 符号——绝对值码最高位0表示正 1表示负, 其余二进制位是该数字的绝对值的二进制位如 5 ———— 00000101 -5 ———— 11110101原码简单易懂加减运算复杂存在加减乘除四种运算,增加了CPU运算的复杂度零的表示不唯一反码反码运算不便,也没有在计算机中应用移码移码表示数值平移n位
2014-03-04 21:06:11
312
原创 C语言学习笔记(11)——枚举
# include enum WeekDay //定义了一个数据类型(值只能写一下值){MonDay, TuesDay, WednesDay, ThursDay, FirDay, SaturDay, SunDay};int main(void){enum WeekDay day = WednesDay;printf("%d\n", day);retur
2014-03-04 21:05:15
138
原创 C语言学习笔记(10)——结构体
------------------------------------------------------------------# include struct Student{ //Student可以看成一种数据类型int age;float score;char sex;};int main(void){struct Student st = {80,66
2014-03-04 21:03:37
307
原创 C语言学习笔记(9)——指针
指针是c语言的灵魂-----------------------------------------------------------------------------# include int main(){int *p; //p是变量名,int *表示p变量存放的是int类型变量的地址,p是一个指针变量int i = 3;//p = i; 这样写是错误
2014-03-03 20:54:53
260
原创 C语言学习笔记(8)——函数
学完c语言的函数可以理解面向过程的语言函数是c语言的重点一、为什么需要函数?1.避免了重复性操作2.有利于程序的模块化(每一个功能可以用不同函数去实现)二、什么叫做函数?逻辑上:能够完成特点功能的独立的代码单元物理上:能够接收数据能够对接收的数据进行处理能够将处理的结果返回总结: 函数是个工具,他是为了解决大量类似问题而设计的函数可以当做一个黑匣子(不
2014-03-03 20:53:38
182
原创 C语言学习笔记(7)——数组
一、为什么需要数组1.为了解决大量同类型的数据存储和使用2.为了模拟现实世界二、数组的分类1.一维数组为n个变量连续分配存储空间所有的变量数据类型必须相同所有变量所占的字节大小必须相等初始化:完全初始化int a[5] = {1, 2, 3, 4, 5};不完全初始化,未被初始化的元素自动为零。int a[5] = {1, 2, 3};不初始化,
2014-03-03 20:52:47
163
原创 C语言学习笔记(6)——for和while循环
for和while等价替换--------------------------int i = 1;for (i; isum = sum + 1;}--------------------------int i = 1;while(isum = sum + 1;i++;}--------------------------从键盘输入一个数字,如果该
2014-03-03 20:51:24
240
原创 C语言学习笔记(5)——进制
进制1.什么叫进制? 逢n进1;2.把r进制转成十进制a*r^0+b*r^1+c*r^2.....3.把十进制转成r进制185----->(r进制)185不停的除r取余,最后把余数倒过来写。4.不同进制所代表的数据之间的关系同一个数据的不同的表示形式一些琐碎的知识1.前自增和后自增运算符的区别和关系?++i i++相同:最终都使i的值加1;
2014-03-03 20:50:43
207
原创 C语言学习笔记(4)——流程控制
一、什么是流程控制程序代码执行的顺序流程控制分类顺序执行选择执行定义有选择的执行某些代码分类ifswitch循环执行定义某些代码会被重复执行分类forwhiledo whilebreak和continue--------------------------------------------------------------
2014-03-03 20:49:38
175
原创 C语言学习笔记(3)——输入输出
一、基本的输入和输出函数的用法printf() //屏幕输出用法:(1)printf("字符串\n");(2)printf("输出控制符", 输出参数);(3)printf("输出控制符1 输出控制符2。。。\n", 输出参数1,输出参数2,。。。);注意后面的输出参数中间必须加 “,”(4)printf("输出控制符 非输出控制符", 输出参数);输出控制符包含
2014-03-03 20:48:26
387
原创 C语言学习笔记(2)——预备知识
c语言预备知识1.cpu 内存条 硬盘 显卡 主板显示器 之间的关系硬盘里的《猛龙过江》(双击)--->内存条 cpu---->显卡,声卡--->显示器2.hello word程序如何运行起来?编译 .c--->连接 .exe--->运行3.什么是数据类型?4.什么是变量?变量的本质是内存中一段存储空间变量名和这段存储空间的地址发生关联5.cpu 内存条 v
2014-03-03 20:46:55
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人