--------基础知识--------
xmzyt1996
这个作者很懒,什么都没留下…
展开
-
C语言位运算详解
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^转载 2015-01-29 20:45:14 · 753 阅读 · 0 评论 -
Trie字典树总结
(一)字典树概念字典树——又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 有三种基本的性质: 1) 根节点不包含字符,除根节点外每一个节点都只包含一个字符; 2)原创 2015-10-25 22:13:39 · 377 阅读 · 0 评论 -
ACM动态规划总结
本文转载自:cc_again的专栏 感谢!~动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划转载 2015-07-21 16:30:16 · 494 阅读 · 0 评论 -
加速输入输出
/**********仅适用于整型输入输出*********/typedef __int64 ll;ll Scan() { // 输入 ll res = 0, flag = 0; char ch; if((ch = getchar()) == '-') flag = 1; else if(ch >= '0' && ch <= '9') res = ch - '0'转载 2015-08-19 10:07:54 · 380 阅读 · 0 评论 -
复数(手写体)
#include<iostream>#include<string>using namespace std;class complex{private: double real,imag; string com;public: complex(string a):com(a){} void opr(); friend ostream& operato原创 2015-06-22 23:40:28 · 1717 阅读 · 0 评论 -
归并排序
void MergeSort(__int64* a,int first,int last,__int64* temp){ //对数组a排序,中间结果存在temp中 if (first < last){ //二分到元素只有一个 int mid = (first + last)/2; MergeSort(a,first,mid,temp);//对左半部分排序原创 2015-03-08 17:19:54 · 369 阅读 · 0 评论 -
Eratosthenes筛法和Euler筛法
Eratosthenes筛法:先用第一个质数2去筛,2留下,把2的倍数剔除掉;再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个素数5筛,把5留下,把5的倍数剔除掉;不断重复下去……最后剩下来的都是质数。//判断前N个质数bool IsPrime[N];int prime[N/2],tot = 0;memset(IsPrime,true,sizeof(IsPrime));转载 2015-02-24 20:28:22 · 755 阅读 · 0 评论 -
全错位排列
错排问题是中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为Dn。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。复制去Google翻译翻译结果转载 2015-02-10 23:00:34 · 912 阅读 · 0 评论 -
异或运算的性质
异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。简单理解就是不进位加法,如1+1=0,,0+0=0,1+0=1。性质1、交换律a^b^a=b^a^a2、结合律(a^b)^c == a^(b^c)3、x^x=0转载 2015-01-29 21:05:30 · 873 阅读 · 0 评论 -
汉字机内码
汉字机内码,又称“汉字ASCII码”,简称“内码”,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。输入码被接受后就由汉字操作系统的“输入码转换模块”转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理。中文名 汉字机内码又 称 汉转载 2015-01-31 14:58:02 · 3386 阅读 · 0 评论 -
快速幂取模算法
快速幂取模算法 在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~ 所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。转载 2015-02-01 21:04:01 · 526 阅读 · 0 评论 -
Manacher算法 //Longest palindromic substring
首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就不用特殊处理越界问题,比如$#a#b#a#。下面以字符串 1221232112212321 为例,经过上一步,变成了 SS = “$#1转载 2015-10-27 21:26:47 · 582 阅读 · 0 评论