- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 Attention Model
- Hard Attention/Soft Attention[attention model survey](https://arxiv.org/abs/1601.06823)- Self-Attention[1](https://arxiv.org/abs/1705.04304) [2](https://arxiv.org/abs/1703.03130) 类似 NMT的[cover
2018-01-04 14:11:55
443
转载 宏定义中的#和##
1、在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。(原文:When you put a # before an argument in a preprocessormacro, the preprocessor turns that argument into a character array. This,combined with the fa
2015-12-26 21:12:11
490
转载 C++宏定义详解
一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1
2015-12-26 21:04:42
276
转载 C语言宏定义技巧
1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H //头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef unsigned char boolean; /* Boolean value type. */typ
2015-12-26 21:03:42
486
转载 宏定义中的#、##
1、在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。(原文:When you put a # before an argument in a preprocessormacro, the preprocessor turns that argument into a character array. This,combined with the fa
2015-12-26 20:13:45
2324
1
转载 C代码中如何调用C++ C++中如何调用C
注意这里的C调用C++或者C++调用C意思是.c文件中调用.cpp文件中代码,或者相反。集成开发环境如VC++6.0或者vs都是以文件后缀来区别当前要编译的是C代码还是C++代码,然后采用响应的编译、调用协议等。使用extern "C" 主要是因为C编译器编译函数时不带参数的类型信息,只包含函数的符号名字。如 int foo( float x )C编译器会将此函数编译成类似
2015-12-26 19:09:34
270
转载 extern "c"作用
1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的函数名去找该函数而找不到。(这是作用) c文件中有一函数: void Transfer(int a; char b); cpp文件中必须用extern "C"声明该函数如下才可以实行调用: extern "C"
2015-12-26 19:04:16
256
转载 如何用C语言封装 C++的类,在 C里面使用
本文给出了一种方法。基本思想是,写一个 wrapper文件,把 C++类封装起来,对外只提供C语言的接口,和 C++i相关的都在 wrapper的实现文件里实现。1. apple.h[cpp] view plaincopyprint? #ifndef __APPLE_H__ #define __APPLE_H__
2015-12-26 19:02:25
447
原创 Leetcode Longest Substring Without Repeating Characters
创建一个窗口 (双端队列)class Solution {public: int lengthOfLongestSubstring(string s) { vector hash(256,0); int cnt=0; int answer=0; int i=0,j=0,len=s.size(); while
2015-10-18 15:26:05
293
原创 华为oj 字符串合并处理
#include #include #include #include #include using namespace std;const int MAX_N=100000;int change[] = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 };int main(){ map m; for(i
2015-09-15 20:46:58
524
原创 复习 泛型编程与STL 下
5、关联容器5.1 分类与基本功能四种关联容器•单重关联容器(set和map)▫键值是唯一的,一个键值只能对应一个元素•多重关联容器(multiset和multimap)▫键值是不唯一的,一个键值可以对应多个元素•简单关联容器(set和multiset)▫容器只有一个类型参数,如set、multiset,表示键类型▫容器的元素就是键本身•二
2015-09-14 13:28:25
415
原创 华为oj 扑克牌大小
先对joker JOKER最大 然后是炸弹 都是炸弹比较第一张牌 你会发现 10 是两个字符 很不和谐 做了预处理 引入临时变量 然后把字符’0‘ eraser ,这样你就会发现(单牌以外的)同种牌型张数都是一样要考虑的就少了代码如下#include #include #include using namespace std;int main(){
2015-09-12 19:27:43
1134
原创 华为oj 将真分数分解为埃及分数
难点:最简分数分子为3 时 ,要拆成1+2 我也不知道为什么 不拆也有答案 但是不会AC 我也是很多错误才AC的#include //incorrect#include #include #include using namespace std;int gcd(int x,int y){ if(y==0) return x; return gcd(y,x%
2015-09-11 15:31:12
651
原创 华为oj 称砝码
我的代码 dfs#include #include #include using namespace std;const int MAX_W=10500;bool dp[MAX_W];void dfs(int i,int n,int weight[],int nums[],int sum){ if(i==n) return; for(int k=0;k<=n
2015-09-11 14:54:44
485
原创 复习 泛型编程与STL 上
1.1编写不依赖于具体数据类型的程序将算法从特定的数据结构中抽象出来,成为通用的C++的模板为泛型程序设计奠定了关键的基础术语:概念•用来界定具备一定功能的数据类型。例如:▫将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable▫将“具有公有的复制构造函数并可以用‘=’赋值的数据类型”这一概念记为Assignable▫将“可以比大小、具有
2015-09-05 18:58:49
1041
原创 Effective STL 第六条 当心C++编译器最烦人的分析机制
三种函数声明int f(double (d));int f(double d);int f(double );int g(double (*pf)());int g(double pf()); //pf为隐式指针int g(double());注意围绕参数名的括号:围绕参数名的括号被忽略,而独立的括号表明参数列表的存在;它们说明存在一个函数指针参数ifstre
2015-09-05 18:30:51
590
原创 Poj3126
3126Accepted200K0MSC++1902Bbfs#include #include #include #include #include #include //#pragma warning(disable:4996)using namespace std;const int MAX_N=10005;const int I
2015-09-02 21:05:47
406
转载 编程之美 3.2 TelPhone
#include #include #include using namespace std;const int TelLength=20;char c[10][5]={ "","","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};int total[10]={0,0,3,3,3,3,3,4,3,4};int num
2015-09-01 11:42:22
331
转载 数组循环位移 三种
#include using namespace std;/*void RightShift1(char *arr, int N, int k){ while(k--){ char t = arr[N-1]; for(int i = N-1; i > 0; i--) arr[i] = arr[i-1]; ar
2015-09-01 10:02:23
730
转载 swap 三种求法
原文地址 http://blog.chinaunix.net/uid-26642637-id-3290611.html问题描述:假设有两个整数A=8,B=9 ,现在要交换A和B的值,使得A=9,B=8.原理分析:方法一:利用一个辅助空间C,然后先将A中的数据放在C中,然后再将B中的数据放到A中,最后再将C中的数据放到A中,这样就可以实现数据的交换了。C语言代
2015-09-01 09:54:29
467
原创 Fibonacci 数求法
没有完全实现其中代码 来源 《编程之美》、《数据结构(c++语言版)》第三版#include #include using namespace std;int main(){ cout << "Hello world!" << endl; return 0;}int Fib1(int n){ if(n<=1) return n;
2015-08-31 16:54:32
361
原创 Poj2429 inverse of LCM&GCD
有一个比较简单的思路定义N=l/g,所求x,y ;将N素数分解得到N=p1^q1 * p2^q2 * ..... * pk^qk;再定义数组a[k],其中a[i]=pi^qi;定义x1=x/g y1=y/g 由数论知识知道 x1 和 y1 互素 而且 lcd(x,y)=l所以 a[i] 只能属于x1 和 y1 中一个 再用 dfs() 找出和最小就ok了代码很短哦#
2015-08-31 12:34:04
434
转载 MIT HAKMEM算法分析
原文 http://blog.youkuaiyun.com/msquare/article/details/4536388简化版 复习用问题需求:计算32位整型数中的'1'的个数思路分析:1.整型数 i 的数值,实际上就是各位乘以权重——也就是一个以2为底的多项式:i = A0*2^0+A1*2^1+A2*2^2+...因此,要求1的位数,实际上只要将各位消权:
2015-08-30 15:03:50
432
转载 串匹配
本文为原书数据结构(c++语言版)第11章的代码第一节问题分类模式检测 ,模式定位,模式计数,模式枚举第二节 暴力算法int match(char *P,char *T){//Brute-force-1 size_t n=strlen(T),i=0; size_t m=strlen(P),j=0; while(i<n&&j<m)
2015-08-29 17:36:35
369
原创 复习 Effective STL 第五条 区间成员函数优先于与之对应的单元素成员
复习 不知道这本会没更新版的??书有点早Effective STL 第五条 区间成员函数优先于与之对应的单元素成员原因 一、易写易懂1. 通过使用区间成员函数,通常可以少写一些代码2.使用区间成员函数通常会得到意图清晰和更加直接的代码二、优越性:效率 (对于标准的序列容器)举例 insert1.不必要的函数调用2.频繁的移动位置3.重复内存分配capac
2015-08-28 23:12:39
524
原创 Poj 2431
用了优先级队列(即最大堆)proirity_queue2431Accepted296K47MSC++#include //Poj_2431 Expedition#include #include #include #include #include #include using namespace std;const int
2015-08-26 22:51:35
492
原创 Poj2488 A Knight's Journey
英文是硬伤 字典序输出146531144932387312488Accepted164K32MSC++1364B#include //Poj2488#include #include #include #include #include #include using namespace std;
2015-08-23 19:23:09
321
转载 manacher算法
一、问题描述现给定一个已知的字符串str[],现在想要在O(n)的时间复杂度之内求出一个最长的回文子字符串(正着和倒着顺序读一致)。Manacher最早发现了可以用O(n)的时间复杂度来解决该问题,所以这种方法称之为Manacher算法。二、符号说明回文串包括奇数长的和偶数长的,一般求的时候都要分情况讨论,Manacher的这个算法做了个简单的处理,把奇偶情况统一了
2015-08-20 11:34:17
314
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人