- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 Google Kickstart Round C 2018 Problem C. Kickstart Alarm
Problem C. Kickstart Alarm题目传送门: https://code.google.com/codejam/contest/4384486/dashboard#s=p2题目理解有点麻烦,经过一些思考可以得到: ans[i] = a[i] * (n-i) * (1 ~ i+1的等比数列之和), 0 <= i < n其中ans[i]表示所有与a[i]...
2018-05-27 21:04:55 2047 3
原创 Google Kickstart Round C 2018 Problem B. Fairies and Witches
Problem B. Fairies and Witches题目传送门: https://code.google.com/codejam/contest/4384486/dashboard#s=p1题目意思理解起来有点麻烦,简单说就是要选n条边(n>=3),边与边之间不能有共同端点,并且要能组成一个面积不为0的多边形(即最长边的值小于其他所有边的和),求一共有多少种不同的选择方案。...
2018-05-27 20:27:48 1061
原创 Google Kickstart Round C 2018 Problem A. Planet Distance
Problem A. Planet Distance 题目传送门:https://code.google.com/codejam/contest/4384486/dashboard#s=p0我的做法是先用Kahn算法找出环中所有结点。然后用一遍BFS计算所有点到环的最近距离。参考代码:int main(){ int no; cin>>no; fo...
2018-05-27 20:18:44 1657 2
原创 【C++细节】char**赋值给const char**
平时经常把char*赋值给const char* 于是想当然的以为可以把char**赋值给const char** 结果报错了:error: cannot initialize a parameter of type 'const char **' with an rvalue of type 'char **'看以下例子:int main() { const char c = 'c';
2017-10-19 19:11:35 6944 1
原创 【栈/DP】LeetCode 32. Longest Valid Parentheses 八种解法
Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”, which has
2017-09-27 15:05:03 992
原创 配置OpenCV3 + Python3的简易方法(macOS)
我的电脑本来是有用CMake安装的OpenCV3的,以及系统自带的python2.x,但是现在想用python3+OpenCV3。安装Python3 brew install python3 没有homebrew的话请自行安装不要使用pip3 一开始我使用 pip3 install numpy pip3 install opencv-python 虽然成功了,但是不能使用imshow
2017-07-27 11:38:56 3756
原创 【Git零基础教程】(8)Reset
git reset命令用于将文件还原到历史版本。前面有提到过,一个Git工程可以大致分为三部分:现在我们用一个实例看看git reset命令如何对它们产生影响。建立文件: git add: git commit: edit: git add: git commit: 省略一些重复步骤后我们得到: git reset有三种模式:–soft、–mixed、–hard假如我们进行git
2017-07-23 16:50:04 568
原创 【Git零基础教程】(7)改写历史(Rewriting History)
第一种最简单的是使用git commit --amend它的作用是使本次commit和上一次commit合并在一块。也可以用它只修改上一次提交的log。用上一章我们讲过的rebase可以实现很多需求:git rebase -i HEAD~3先不考虑-i,我们知道git rebase <branch>的意思是将当前分支rebase到<branch>,它其实相当于git rebase <b
2017-07-23 15:30:55 1119
原创 【Git零基础教程】(6)Rebase
Rebase的作用与之前提到的merge相似。它的作用是将一个分支的commits加到另一个分支上去。比如我们有: 如果使用merge,结果如下图所示: 而如果使用rebase:git checkout experimentgit rebase master则结果如下图所示: C4的改动内容会在C3上进行重做,产生C4’,而C4会被“删除”(C4与C4’的hash值并不同) 这时
2017-07-23 14:20:09 704
原创 【Git零基础教程】(5)Remote
当你不仅仅是在本地单人工作时,就需要使用git remote、push、pull等命令来实现多人协作。当你使用clone命令从某个网络地址下载得到一个本地的git仓库: git clone <url> 或者 git remote add <shortname> <url> git pull <shortname>网络仓库的结构和你的本地仓库结构分别如下图所示: 然后当你在本
2017-07-23 14:06:29 597
原创 【Git零基础教程】(4)分支
分支在Git中是最常用的之一。顾名思义,分支们通常构成一个树型,树根通常是我们熟悉的master分支。显示当前本地的所有分支: git branch新建一个分支,取名叫testing: git branch testing图中的每个5位编码代表一个commit,即它的hash码的前五位。HEAD相当于一个指针,指示当前所处的位置。使用checkout来切换branch:git check
2017-07-21 15:25:40 469
原创 【Git零基础教程】(3).gitignore
.gitignore用来让Git不跟踪一些文件。它只对untracked文件有效,对tracked的文件无效,不能让它们变成untracked。它在Git工程的根目录下。# 忽略所有.a文件*.a# 但是跟踪hello.a !hello.a# 如果加了/,就仅仅会忽略根目录下的README文件/README# 忽略所有名为build的文件夹,包括不在根目录下的build/# 忽略所有doc文
2017-07-21 14:10:07 342
原创 【Git零基础教程】(2)基本命令
本章主要介绍Git的基本结构和基本指令。如下图(记为图1)所示,一个Git工程可以分为三个区域:工作目录,缓存区域,git仓库。 工作目录就是你的所有文件,缓存区域是暂存下一次commit要更改的内容的区域,git仓库则存着所有的commits。在上图介于working directory 和 staging area之间的文件的状态大致可以分为如下几种(记为图2): untracked表示该文
2017-07-21 12:06:35 442
原创 【Git零基础教程】(1)介绍/创建
版本控制系统(Version Control System,VCS)可以分为集中式(Centralized Version Control System,CVCS)与分布式(Distributed Version Control System,DVCS)两大类。 它们的区别主要在于版本管理数据库存在的位置。如图所示: 集中式的版本数据库只存在于服务器上,而个人这里仅仅只有一份文件。而分布式的
2017-07-17 21:40:04 443
原创 【C++细节】友元函数
概念 A friend function is a function that is not a member of a class but has access to the class’s private and protected members. Friend functions are not considered class members; they are normal exte
2017-06-13 16:10:13 809
原创 macOS中使用meld作为git mergetool和difftool
本文介绍通过下载meld应用的方式进行配置的过程,不适用于命令行安装的形式(命令行安装:brew install caskroom/cask/meld,之后自行尝试…)mergetool的选择参考下文: https://www.slant.co/topics/1324/~diff-tools-for-gitmeld截图: meld下载https://yousseb.github.io/meld/
2017-04-08 21:11:03 2796 1
原创 MacOS下iTerm2 OhMyZsh Vim 安装、主题、配色
安装iTerm2直接官网下载: http://www.iterm2.comOh My Zsh按照官网输入命令安装: http://ohmyz.sh推荐安装一个zsh插件autojump: 安装了autojump之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过hadoop-1.0.0目录,输入j hado 即可正
2017-04-08 14:19:00 8961
转载 使用Smart HTTP和Gitweb搭建简易个人git服务器
使用Smart HTTP的git服务器搭建过程原文地址:http://particle128.com/posts/2014/12/git-server.html刚接手了老师的一个安卓项目,考虑到实验室闲置了一台PC,决定把这个pc配置成git服务器,用来进行版本控制。以为是分分钟钟的事儿呢,结果用了一整天才搞定。被网上残缺不全的新旧教程整懵了,决定自己写一个。协议选择
2017-03-01 21:42:42 7028
原创 C++虚函数在基类中不实现导致的报错
今天遇到了一个BUG,出错如下图1所示,是什么matrix()函数未定义,引用自某类A(图1中PinholeCamera类)所在文件中的vtable。 我搜了一下整个A所在的文件也没有找到vtable和有关matrix()函数的调用,感到莫名其妙。 后来去看了一下A的基类B(也就是图1中AbstractCamera类),找到一个虚函数matrix(),将其注释后BUG消除。 原来vtable指
2017-01-17 16:16:07 5996
原创 iOS9及以下的自带词典无法下载问题的解决方法
我遇到的情景如下: iPhone上升级到了iOS10,并下载了英汉词典。iPad mini1升级到iOS9后(因为它无法升级到10),无法下载之前已经下载过的词典(一直显示一个圆圈图标),即使在iPhone中把词典删了或者重启iPad mini或者还原iPad mini的系统设置都没用。网上搜了一下,一堆遇到相同问题的人,这是一个苹果的一个到现在都没解决的Bug。大多数的人都无法解决或者解决方法并
2016-12-22 23:52:32 2610
原创 Unity3D在IOS、Android上使用C++并回调的究极解决方案
各种方法在各种平台下的总结如下:1、在VS中使用CLR C++工程,编译产生.dll,放入Plugins在Windows、OSX、Android上试验成功, IOS上试验失败,报的错貌似与il2cpp有关。不过CLR C++的语法与正常C++稍有不同。2、直接在Plugins中放入.cpp文件在IOS上试验成功,Android上未知, Windows、OSX上不行3、编译出目标平台的.a或.so
2016-11-12 20:44:05 5634
原创 PTAM移植到IOS(附工程和库文件)
移植结果可用SpaceBar和Reset,没有ARDriver和MapViewer功能。完整xcode工程和用到的库文件(包含include、lib,以及gvars3、libcvd的源代码和工程)下载地址:运行结果如下图所示:1进入后的界面 2点击SpaceBar后平移 3再次点击SpaceBar 4移动手机整个过程相当流畅。移植概述PTAM官方支持Linux、Wind
2016-09-25 00:20:19 1915 2
原创 PTAM源码在Windows下的编译(附工程和库文件)
有很多文章介绍如何在windows下成功编译PTAM了,我就不搬运了,直接贴一些链接:http://blog.csdn.net/lxiaoxiaot/article/details/6209635 http://blog.csdn.net/wenrenhua08/article/details/50884668 http://www.robots.ox.ac.uk/~bob/software/p
2016-09-24 12:45:27 2240
原创 浙大玉泉校区路由器L2TP设置(极路由1s)
我的宿舍里的ZJUWLAN信号太不稳定了,所以打算用有线。房间里只有一个有线口,还离的很远,所以打算连个路由器,然后用wifi连接。步骤如下: 1. 申请IP 浙江大学学生公寓服务网: http://service.chinasinew.com/main.aspx 或者微信公众号里也可以申请时要填一个网卡MAC地址 可以连上路由器然后打开路由器的管理页面查看你的电脑的MAC地址
2016-09-23 23:02:47 19298 5
原创 Windows平板装Android双系统及建立UEFI引导全攻略(windows8.1+android6+phoenix)
我的windows平板型号是dell venue 11 pro 5130,CPU是Intel baytrail z3770,原系统是windows8.1 32位。 写本文的时候,时间是2016.7。安装Android双系统一般分两种方法:硬盘法和U盘法(自己分的:P)硬盘法该法可以让Android与原系统共存于同一分区,免去分区的麻烦。 目前国产的Android系统Remix OS和Phoeni
2016-07-07 23:57:29 44712 5
原创 ftell、fread、fseek、feof 详细的使用介绍与注意细节
1. long ftell(FILE *stream);功能:用于得到文件位置指针当前位置相对于文件首的偏移字节数2. size_t fread ( void *buffer, size_t size, size_t count, FILE *stream)功能:从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回
2016-03-10 00:50:43 4241
原创 《unix环境高级编程》书中源代码编译 详细流程
(1)源代码下载地址:http://www.apuebook.com/src.tar.gz 也可以在CSDN、微盘搜索。(2)解压到了 /home/username/ 目录下,即/home/username/apue.2e (注意:username即是自己的用户名,下同)。(3)此时cd到apue.2e目录,输入make,出错如下:make[2]: Entering directory ‘/hom
2015-12-21 14:08:14 828
原创 OpenGL编程指南 (红宝书 第八版) 样例代码配置问题汇总
代码下载环境配置问题glut 和 glew1基本头文件和库文件配置2以下是正文内容第一个渲染程序Triangles3第三章 03ch03_drawcommands4本文是笔者自己在配置中遇到问题并解决后将原资料和自己的经验结合整理而成代码下载可以在CSDN上搜索环境配置问题(glut 和 glew)1可以参考我的另一篇博文《使用cmake和visual studio编译freeglut和g
2015-12-19 22:22:41 7215 8
原创 使用cmake和visual studio编译freeglut和glew源代码并配置的流程
1 下载与安装(1)CMake 官方下载网址是这里,我下载的是彼时彼刻的最新版本cmake-3.4.0-rc1-win32-86.exe。 (2)FreeGLUT 官方下载地址是这里,我下载的是Freeglut 3.0.0[Released: 7 March 2015]。 (3)GLEW GLEW(OpenGL Extension Wrangler)可以简化获取函数地址的过程,并
2015-12-19 20:28:50 5917
原创 关于Cocos2d-x-2.2.0的Win32和Android平台的环境配置
我的系统环境JDK VS2012 Win8 64bitWin32运行Cocos2d-x 工程下载cocos2d-x (2.2.0 若使用其他的版本可能会遇到其他问题)添加至环境变量”path”: G:\project\cocos2d-x-2.2;G:\project\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt
2015-10-21 18:33:04 880
原创 PAT研究生入学考试2015.03第四题Build A Binary Search Tree (30) 题解
题目:http://www.patest.cn/contests/pat-a-practise/1099题目可以分为四个步骤:建树,排序,中序遍历,层次遍历建树就是输入,注意把双亲域也填上,后边中序遍历如果是非递归的话要用到。然后将输入的数据序列从小到大排好序,这样在中序遍历的时候就只要一个一个填进去就好了。中序遍历我用的是树操作中常见的求下一个节点的运算,是非递归的。层次遍历我用的是队列,或者说广
2015-09-21 16:34:27 1085
原创 PAT研究生入学考试2015.03第三题Insertion or Heap Sort (25) 题解
题目大意是判断给出的序列是原序列经过插入排序还是堆排序的一次或多次迭代后产生的序列。注意:某次迭代中某刻的序列不算,堆排序建堆时的序列不算,题目没说清楚。其实不过就是考堆排序和插入排序,麻烦了点,但是并不难。#include <iostream>#include <stdio.h>//1ms 288kbconst int MAX=110;int a[MAX];int b[MAX];int
2015-09-21 16:16:24 682
原创 PAT研究生入学考试2015.03第二题Deduplication on a Linked List (25) 题解
数据结构题,用数组模拟链表,难点是移到删除链表中时别搞晕了
2015-09-21 15:22:10 676
原创 PAT研究生入学考试2015.03第一题Consecutive Factors (20) 题解
这道题题意有点不清。它的意思是说找出连续因子最长的长度,并且输出该长度下首因子最小的序列。而不是求出连续因子最长的长度,以及任意长度下首因子最小的序列。 这道题并不用求 sqrt(N) 以内的素数,直接枚举就好了,注意细节优化降低时间复杂度,以及一些特殊情况,详见代码注释。时间复杂度为O(N^(1/2))
2015-09-21 15:06:51 1066
原创 SBT 简短代码 (poj3481,并附上用STL set/map做的代码)
关于Size Balanced Tree的讲解可以查看发明者陈启峰的论文: http://wenku.baidu.com/view/364afa42a8956bec0975e3b1.html 我就不搬运了~set和map内部是使用红黑树实现的,故其中的数据是有序的,也可以用来解此题,而且两者的时间空间使用都一模一样。 进一步了解红黑树:http://blog.csdn.net/icetease
2015-09-15 16:02:02 670
原创 【Effective C++ 3rd 心得、归纳、实践】 Item 12: 拷贝一个对象的所有组成部分
本文主要对派生类的拷贝构造函数通过代码进行各种试验主要几个关注点:1.自定义的拷贝构造函数中未初始化的成员,编译器会隐式帮助初始化吗2.派生类的拷贝构造函数在不指定基类构造函数的情况下调用基类的哪个构造函数,会自动调用基类的拷贝构造函数吗3.在未定义拷贝赋值运算符的情况下,各种赋值运算调用的是哪个函数#include#includeusing
2015-08-13 22:14:42 602
原创 POJ2406 & POJ1961 详细解题思路和AC程序 KMP算法变种
poj2406题目大意:给出一个字符串s,求其最短的子串a,使得s=a^n(即n个a相连),输出n。s的长度小于10^6。本题可以用kmp算法来做。先算出next数组。有些KMP算法的代码中next[i]代表的是s[i+1]匹配不上
2015-07-09 00:48:00 861
原创 windows下将github的mergetool设置为 beyond compare 4 (bc4) 的方法
如果bc4的安装路径不是默认路径,则需要以下修改:首先找到github的安装路径下的gitconfig文件我的在以下位置:D:\Users\****\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\etc\gitconfig打开后将以下参数修改为自己的路径(注意斜杠为
2015-03-29 19:28:46 1431
原创 [JSOI2007] 奶酪 题解 贪心 O(1)
题目描述奶酪和pizza一样,是一小块扇形的固体。在奶酪从工厂里生产出来的时候,一共有4种形状,编号为1~4,分别是圆心角为72º;;,144º;;,216º;;,288º;;的扇形。奶酪的盒子是圆形的,半径和奶酪的半径一致。也就是说,一块1号奶酪和一块4号奶酪可以恰好装入一个盒子,一块2号奶酪和一块3号奶酪可以恰好装入一个盒子。
2015-03-11 21:51:21 1009
PTAM 移植到 IOS iPhone
2016-09-25
PTAM windows下编译成功的工程、库和可执行文件
2016-09-24
C++获取jpg和png图像的宽和高
2016-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人